プロが教えるわが家の防犯対策術!

いつもお世話になっております。

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

どうか、よろしくお願いいたします。

A 回答 (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
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありませんでした。

お教えいただいた方法で実現できました。!!

お礼日時:2006/07/04 15:47

私が使うのはテキストボックスを直接クリックするのではなく


テキストボックスの横にボタンを置いて、
テキストボックスとボタンでコンボのように見せかけておき
ボタンを押すとカレンダーコントロールがドロップダウンしたかのように
現れるというものです

テキストボックスの横にボタンを置き下向き三角を表示させて
両方でコンボのように見せかけます
テキストボックスのしたドロップダウンさせたような位置に
カレンダーコントロールをおきます
(他のコントロールに重なってもかまいません)
カレンダーコントロール、テキストボックスの両方を日付フィールドに結合します

下のコードを書きます

フォームを開いたときカレンダーを隠す
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
    • good
    • 0
この回答へのお礼

お礼が遅くなり申し訳ありませんでした。

お教えいただいた方法で実現できました。!!

お礼日時:2006/07/04 15:47

VBAのツールボックス上で右クリックしてみよう!



(Office 2007なのでUIが違うかもしれないが)
「その他のコントロール」って選択肢があったので
これで追加できるはず・・・
    • good
    • 0
この回答へのお礼

ご返答ありがとうござました。

挿入→ActiveXコントロール

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

どうかよろしくお願いいたします。

お礼日時:2006/06/28 18:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!