Microsoft Access Club >Access裏技Tips >このページ >次頁 < 前項 サイト内検索


カレンダーコントロールで日付入力を行う : Access裏技Tips



日付入力は和暦、西暦と種類も多くデータ入力時に悩みが尽きないところです。 ここでは、日付入力にカレンダーコントロールを利用して、クリック一発で年月日をテキストボックスに入力する技を紹介します。

カレンダーコントロールで日付入力

  1. 取引状況を入力するテーブル(tbl_sample)を作成します。ID(オートナンバー型)、日付(日付/時刻型)、取引先名(テキスト型)、取引額(通貨型)フィールドを作成します。
  2. このテーブルを元に帳票形式の営業日誌フォーム(frm_sample)を作成します。
  3. 日付を入力するテキストボックス(txt日付)にフォーカスが移ると、カレンダーコントロールを配置したフォーム(frm_MyCalender)が開きます。
  4. 日付をクリックするとtxt日付テキストボックスへデータ入力が行われます。
  5. フォーカスが他のテキストボックスに移動すると、カレンダーコントロールを配置したフォームが閉じます。

カレンダーコントロールの作成

カレンダーコントロールを作成します。

  1. フォームを作成しデザインビューで開きます。
  2. メニューバーの挿入からActiveX コントロールをクリックします。
  3. ActiveXコントロールの挿入ダイアログが開きます。
  4. Microsoft カレンダーコントロール 11.0 (Access2003の場合)をダブルクリックします。

  1. 自動的にフォームの詳細セクションにカレンダーコントロールが作成されます。

  1. フォーム名をfrm_MyCalenderと命名し保存します。

フォームの読み込み時イベントプロシージャの作成

フォームの読み込み時イベントプロシージャを作成します。

Private Sub Form_Load()

    Me.Calendar.Value = Date ' --- A

End Sub
解説
  1. カレンダーコントロールの初期値をDate関数を用いて当日に設定します。

カレンダーコントロールのクリック時イベントプロシージャの作成

カレンダーコントロールのクリック時イベントプロシージャを作成します。

Private Sub Calendar_Click()

    DoCmd.SelectObject acForm, "frm_sample", False ' --- A

    Forms!frm_sample!txt日付 = Me.Calendar.Value ' --- B

    DoCmd.Close acForm, "frm_MyCalender" ' --- C

End Sub
解説
  1. SelectObjectメソッドで開いているfrm_sampleを選択します。
  2. カレンダーコントロールでクリックした値をテキストボックスtxt_日付に代入します。
  3. カレンダーフォームを閉じます。
今回のおすすめポイント

クリック時イベントプロシージャ

(注意) 更新時イベントでは、正しく動作しません。 更新後処理イベントでは、当日の日付が入力できません。
なお、クリック時イベントはカレンダーコントロールプロパティ内の一覧に存在しませんので、VBEウィンドウから選択 するようにして下さい。

取引状況入力フォームの作成

取引状況入力フォームを作成します。

  1. tbl_sampleテーブルをもとに、取引状況入力フォームを作成します。

txt日付テキストボックスフォーカス取得時イベントプロシージャの作成

txt日付テキストボックスフォーカス取得時イベントプロシージャを作成します。

Private Sub txt日付_Enter()

     DoCmd.OpenForm "frm_MyCalender" ' --- A

End Sub
解説
  1. カレンダーフォームを開きます。

txt日付テキストボックスフォーカス喪失時イベントプロシージャの作成

txt日付テキストボックスフォーカス喪失時イベントプロシージャを作成します。

Private Sub txt日付_Exit(Cancel As Integer)

    DoCmd.Close acForm, "frm_MyCalender" ' --- A

End Sub
解説
  1. フォーカスがなくなれば、カレンダーフォームを閉じます。

動作確認

  1. frm_samplフォームをデザインビューからフォームビューに切り替えます。
  2. データ入力を行い、フォーカスをtxt日付テキストボックスへ移動します。
  3. カレンダーコントロールフォームが前面に開きます。

  1. カレンダーコントロール画面上で日付をクリックし、日付が入力されているのを確認します。

関連ページ

ページの先頭へ 前ページへ戻る

 


カレンダーコントロールで日付入力を行う : Access裏技Tips


 

-Microsoft Access Club-