• 締切済み

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

Access2003+VBA でプログラミングをしています。 他の方の質問も一通り閲覧しましたが、解決しないので教えてください。 Accessのフォーム上に貼り付けるカレンダーコントロールを使い、 カレンダーの日付をクリックして、クリックされた日付をテキストボックスに表示したいのですが、うまくいきません。 試しに、カレンダーをクリックした結果(日付)をメッセージボックスに 表示するようにもしてみましたが、やはり日付は何も表示されません。 何か根本的なところで躓いている気がするのですが、解決出来ません。 何卒、よろしくお願いします。

みんなの回答

  • t2hayashi
  • ベストアンサー率46% (102/219)
回答No.4

こんな感じでしょうか。   Private Sub Calendar_input_click()     Me.Controls(txt_box) = Format(Me.Calendar_input.Value,"yyyymmdd") '←フォーマットはお好きに書き換えを '↓順番入れ替え(カレンダーコントロールからフォーカス外すため)     Me.txt_box.SetFocus     Me.Calendar_input.Visible = False   End Sub

回答No.3

お世話になります。 こんな感じでしょうか。 というか、こういう使い方をしたいんであれば、 Microsoft Date and Time Picker Control 6.0 (SP4) の方が適しているような気がします。 Option Compare Database Option Explicit Private Sub Form_Load()   Me.Calendar_input.Visible = False   Me.Calendar_input.Value = Date End Sub Private Sub Command1_Click()   Me.Calendar_input.Visible = True End Sub Private Sub Calendar_input_AfterUpdate()   Me.TextBox1.Value = Me.Calendar_input.Value   ' Calendar から Focus を外す   Call Me.TextBox1.SetFocus   Me.Calendar_input.Visible = False End Sub

  • AlexSuns
  • ベストアンサー率67% (78/115)
回答No.2

今、カレンダーコントロールの更新時プロシージャに処理を書かれているんですよね? 下記のように変更してみましょう Private Sub Calendar0_Updated(Code As Integer)   Me.テキスト1.Value = Me.Calendar0.Value End Sub ↓ Private Sub Calendar0_Click()   Me.テキスト1.Value = Me.Calendar0.Value End Sub 上記のようにイベントを書き換えると、御望みの動作が得られるでしょう #書いてるうちにカブっとるがな...orz

oldamateur
質問者

お礼

ありがとうございます。 具体的なコーディング内容を書いていなくて申し訳ありません。 (1)現在のコーディング内容は、フォームのオープン時   Private Sub Form_Open(Cancel As Integer)      Me.Calendar_input.Value = Date      Me.Calendar_input.Visible = False   End Sub (2)フォームには、カレンダーコントロール、テキストボックス、ボタンを 配置しています。 (3)ボタンのクリック時に   Private Sub コマンド1_Click()     Me.Calendar_input.Visible = True   End Sub (4)カンレンダーコントロールの任意の日付クリック時に   Private Sub Calendar_input_click()     Me.txt_box.SetFocus     Me.txt_box.Value = Me.Calendar_input.Value     Me.Calendar_input.Visible = False   End Sub という内容になっています。 カレンダーの可視/不可視はコントロール出来ているのですが、 「txt_box」に日付が表示されません。 よろしくお願いします。

回答No.1

コードが書かれてないのでよくわかりませんが、単純に Private Sub Calendar8_Click()  テキスト9.SetFocus  テキスト9.Text = Calendar8.Value End Sub ではだめでしょうか?

oldamateur
質問者

お礼

ありがとうございます。 具体的なコーディング内容を書いていなくてすみません。 実際のコーディング内容は、別途書きました。 よろしくお願いします。

関連するQ&A

専門家に質問してみよう