- ベストアンサー
Accessのカレンダーコントロールについて
いつもお世話になっております。 Accessのフォーム上に貼り付けるコントロールで クリックするとカレンダーが表示され、日付を選択 することで、テキストボックスに選択した日付が 表示されるという画面を見たことがあります。 どのようにすれば、このコントロールを使えるように できるのでしょう? どうか、よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
「テキストボックスがヌルの場合にクリックすれば」と解釈して・・・ Option Compare Database Option Explicit Private Sub Calendar_Click() Me.テキスト.SetFocus SendKeys Me.Calendar, True End Sub Private Sub テキスト_Click() If Len(Me.テキスト & "") = 0 Then Me.Calendar.Visible = True End If End Sub Private Sub テキスト_GotFocus() If Len(Me.テキスト & "") > 0 And Me.Calendar.Visible Then Me.Calendar.Visible = False End If End Sub
その他の回答 (2)
- CHRONOS_0
- ベストアンサー率54% (457/838)
私が使うのはテキストボックスを直接クリックするのではなく テキストボックスの横にボタンを置いて、 テキストボックスとボタンでコンボのように見せかけておき ボタンを押すとカレンダーコントロールがドロップダウンしたかのように 現れるというものです テキストボックスの横にボタンを置き下向き三角を表示させて 両方でコンボのように見せかけます テキストボックスのしたドロップダウンさせたような位置に カレンダーコントロールをおきます (他のコントロールに重なってもかまいません) カレンダーコントロール、テキストボックスの両方を日付フィールドに結合します 下のコードを書きます フォームを開いたときカレンダーを隠す Private Sub Form_Open(Cancel As Integer) Me.Calendar6.Visible = False End Sub テキストボックス横のボタンを押したときカレンダーを表示 Private Sub コマンド7_Click() Me.Calendar6.Visible = True End Sub カレンダーを押したときテキストボックスにフォーカスを移し カレンダーを隠す Private Sub Calendar6_Click() Me.日付1.SetFocus Me.Calendar6.Visible = False End Sub
お礼
お礼が遅くなり申し訳ありませんでした。 お教えいただいた方法で実現できました。!!
VBAのツールボックス上で右クリックしてみよう! (Office 2007なのでUIが違うかもしれないが) 「その他のコントロール」って選択肢があったので これで追加できるはず・・・
お礼
ご返答ありがとうござました。 挿入→ActiveXコントロール でカレンダーコントロールをフォームに貼り付ける ことができました。 しかし実現したいのは、フォーム上のテキスト ボックスをクリックするとカレンダーが表示され、 表示されたカレンダーで日付を選ぶと、カレンダー が消えてテキストボックスに選択された日付が表示 されるという動作なのです。 わかりにくい説明で、申し訳ありません。 どうかよろしくお願いいたします。
お礼
お礼が遅くなり申し訳ありませんでした。 お教えいただいた方法で実現できました。!!