- 締切済み
カレンダーコントロールについて
Access2003+VBA でプログラミングをしています。 他の方の質問も一通り閲覧しましたが、解決しないので教えてください。 Accessのフォーム上に貼り付けるカレンダーコントロールを使い、 カレンダーの日付をクリックして、クリックされた日付をテキストボックスに表示したいのですが、うまくいきません。 試しに、カレンダーをクリックした結果(日付)をメッセージボックスに 表示するようにもしてみましたが、やはり日付は何も表示されません。 何か根本的なところで躓いている気がするのですが、解決出来ません。 何卒、よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- t2hayashi
- ベストアンサー率46% (102/219)
こんな感じでしょうか。 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
- naganaga_001
- ベストアンサー率71% (172/242)
お世話になります。 こんな感じでしょうか。 というか、こういう使い方をしたいんであれば、 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)
今、カレンダーコントロールの更新時プロシージャに処理を書かれているんですよね? 下記のように変更してみましょう 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
- sugao_chib
- ベストアンサー率59% (22/37)
コードが書かれてないのでよくわかりませんが、単純に Private Sub Calendar8_Click() テキスト9.SetFocus テキスト9.Text = Calendar8.Value End Sub ではだめでしょうか?
お礼
ありがとうございます。 具体的なコーディング内容を書いていなくてすみません。 実際のコーディング内容は、別途書きました。 よろしくお願いします。
お礼
ありがとうございます。 具体的なコーディング内容を書いていなくて申し訳ありません。 (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」に日付が表示されません。 よろしくお願いします。