- ベストアンサー
カレンダーコントロールで複数のテキストボックスに日付入力
アクセスでカレンダーコントロールを使用し、タイトルのことをしたいと考えています。 カレンダーコントロールをクリックする前にキャレットがあったコントロールにカレンダーコントロールのValueを代入したいと考えています。 複数のテキストボックスなのでそのコントロールの名前を取得しないといけないと思いますが、コードをどう書くのかがわかりません。 可能な限りコードで示して頂けるとわかりやすく助かります。丁寧に教えて頂ける方、よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
まず。適当な非表示のテキストボックスを一つ作成します。これは、カレンダーコントロールをクリックする直前のコントロール名を記憶させるものなので、グローバルな変数でもOKです。 例えば、値を入力するためのテキストボックスを3つ(それぞれ、TextBox1、TextBox2、TextBox3)と名前保存用のテキストボックス(SaveBox)、 TextBox1、TextBox2、TextBox3それぞれのフォーカス喪失時に次のようなコードを書き、自分の名前を保存します。 Private Sub TextBox1_Exit(Cancel As Integer) Me("SaveBox") = Me("TextBox1").Name End Sub これで、カレンダーをクリックする前に最後にフォーカスのあったコントロール名が分かります。あとは、このコントロールにカレンダーの値を代入すればいいだけです。 Private Sub Calendar0_Click() Me(Me("SaveBox").Value) = Calendar0.Value End Sub
お礼
早速の回答ありがとうございます。まだ試していませんがばっちりできそうな気がします。試し後報告いたします。