• ベストアンサー

Accessのカレンダーコントロールについて

いつもお世話になっております。 Accessのフォーム上に貼り付けるコントロールで クリックするとカレンダーが表示され、日付を選択 することで、テキストボックスに選択した日付が 表示されるという画面を見たことがあります。 どのようにすれば、このコントロールを使えるように できるのでしょう? どうか、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#22222
noname#22222
回答No.2

「テキストボックスがヌルの場合にクリックすれば」と解釈して・・・ 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

sansan33311
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 お教えいただいた方法で実現できました。!!

その他の回答 (2)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

私が使うのはテキストボックスを直接クリックするのではなく テキストボックスの横にボタンを置いて、 テキストボックスとボタンでコンボのように見せかけておき ボタンを押すとカレンダーコントロールがドロップダウンしたかのように 現れるというものです テキストボックスの横にボタンを置き下向き三角を表示させて 両方でコンボのように見せかけます テキストボックスのしたドロップダウンさせたような位置に カレンダーコントロールをおきます (他のコントロールに重なってもかまいません) カレンダーコントロール、テキストボックスの両方を日付フィールドに結合します 下のコードを書きます フォームを開いたときカレンダーを隠す 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

sansan33311
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 お教えいただいた方法で実現できました。!!

noname#20377
noname#20377
回答No.1

VBAのツールボックス上で右クリックしてみよう! (Office 2007なのでUIが違うかもしれないが) 「その他のコントロール」って選択肢があったので これで追加できるはず・・・

sansan33311
質問者

お礼

ご返答ありがとうござました。 挿入→ActiveXコントロール でカレンダーコントロールをフォームに貼り付ける ことができました。 しかし実現したいのは、フォーム上のテキスト ボックスをクリックするとカレンダーが表示され、 表示されたカレンダーで日付を選ぶと、カレンダー が消えてテキストボックスに選択された日付が表示 されるという動作なのです。 わかりにくい説明で、申し訳ありません。 どうかよろしくお願いいたします。

関連するQ&A