- ベストアンサー
【Access】 コマンドボタンでデータ追加
アクセス初心者なのですが、 コマンドボタンをポチッっとした時に、 あらかじめ作成してあるテキストボックスに、 日時を追加していきたいのですが、どう組めば良いのでしょうか? 具体的には、電話をかけた履歴を表示したいのです。 nowを使い、日時を入れるだけなら作れるのですが、 最初に入れたデータはそのままに、カーソルのある位置にデータの追加というのは出来ないものなのでしょうか? アクセス2007を使用しています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
最後になら 簡単にできるんですが Private Sub コマンド6_Click() bbb = bbb & " " & Format(Now(), "m/d hh:nn") & " " End Sub bbb は あらかじめ作成してある 項目名です
その他の回答 (2)
- bonaron
- ベストアンサー率64% (482/745)
コマンドボタンではフォーカスが移動してしまうので難しいです。 ボタンに見せかけたラベルで代用しましょう。 「ラベル1」と「テキスト1」で説明しますので、 ご自分のコントロール名で置き換えてください。 「ラベル1」の「立体表示」プロパティを「浮き出し」にします。 Private Sub ラベル1_Click() Dim ctl As Control Dim wk As String Dim pos As Integer Set ctl = Me.ActiveControl If ctl.Name = "テキスト1" Then pos = ctl.SelStart wk = Nz(ctl.Text, "") ctl = Left(wk, pos) & Now() & Mid(wk, pos + 1) End If End Sub Private Sub ラベル1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Me.ラベル1.SpecialEffect = 2 'くぼみ End Sub Private Sub ラベル1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Me.ラベル1.SpecialEffect = 1 '浮き出し End Sub 直前に、「テキスト1」にフォーカスが無い場合は何もしません。
お礼
回答ありがとうございます。 このやり方もあるんですね。 試してみたいと思います。 ・・・知らない文言がいっぱいなので、ちゃんとわかってからじゃないと、エラーの嵐になりそうです。 頑張ります。 またよろしくお願いします。
- okky0707
- ベストアンサー率22% (34/154)
>最初に入れたデータはそのままに、カーソルのある位置にデータの追加というのは出来ないものなのでしょうか? (1)ボタンを押した日時をあらかじめ用意したテーブルの任意のフィールドに蓄積する (2)テキストボックス上で「2007/10/05 0:50:15 2007/10/05 0:50:16 2007/10/05 0:50:17…」という具合に表示させたい どちらの意味ですか? (1)ならあるテーブルをレコードソースにフォーム作成しテキストボックスのコントロールソースを任意のフィールド(日付型)にして、 コマンドボタンのクリック時イベントで Me!テキスト1 = Now() DoCmd.GoToRecord , , acNewRec (2)なら任意のフィールドをメモ型にしてコマンドボタンのクリック時イベントで Dim hiduke As Date hiduke = Now() Me!テキスト1 = Me!テキスト1 & " " & hiduke こんな感じでどうでしょう。
お礼
回答ありがとうございました。 やりたいのは(2)の方です。 無事に作る事が出来ました。 わからない事だらけで、またお聞きするかと思いますがよろしくお願いします。
お礼
回答ありがとうございます。 deecyanさんのやり方で、時刻の追加を okky0707さんのやり方で、特定の文字を入れるっていう物を作りました。 本当にどうもありがとうございました。 またお聞きすると思いますが、その際はよろしくお願いいたします。