その他

Access VBA カレンダーコントロールを使用して日付入力を行う

カレンダーコントロールを使用して日付入力を行う

日付入力を実施する際に使用するユーザーに「2014/12/24」の様な定型書式で入力を促す場合どうしても入力ミスや入力が面倒になる場合があります。
こういったことを避ける為にAccessにはカレンダーコントロールが用意されています。

cal01

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

カンレンダーコントロールの作成方法を説明します。
カレンダー用のフォームを作成します。
1.フォームを用意します。フォームの名前は「F_カレンダー」とします。
2.デザインビューでツールボックスを表示し、「コントロールの選択」をクリックします。(カナヅチのアイコン)

cal02

3.「コントロールの選択」をクリックすると選択出来るコントロールの一覧が表示されますので、この中から「カレンダーコントロール」を探しクリックします。

cal03

4.クリックしたら、そのままフォーム上にカーソルを移動し再度クリックします。クリックするとフォーム上にカレンダーコントロールが設置されます。

cal04

5.設置したカレンダーコントロール上で右クリックを行い、「プロパティ」を選択しカレンダーコントロールの名前を変更しておきます。今回は「カレンダー01」とします。

cal05

6.つづいて、VBAの画面を開き以下のプログラムを記述します。

Private Sub Form_Load()

Me.カレンダー01.Value = Date

End Sub

Private Sub カレンダー01_Click()

Forms!F_カレンダーコントロール!DAY1 = カレンダー01.Value

End Sub

・フォームの読み込み時イベント
Me.カレンダー01.Value = Date
フォームを開いた時にカレンダーで今日の日付が選択されているようにするコードです。

・カレンダーコントロールのクリック時イベント
Forms!F_カレンダーコントロール!DAY1 = カレンダー01.Value
後で作成する、日付入力フォーム(F_カレンダーコントロール)の日付テキストボックス(DAY1)に選択した日付を入力するコードです。

日付入力フォームの作成

続いて日付入力フォームの作成を行います。

1.フォームを作成します。フォーム名は「F_カレンダーコントロール」とします。
2.フォーム内に日付用のテキストボックスを設置します。名前は「DAY1」とします。
3.フォーム内にカレンダーフォームを開く為のコマンドボタンを設置します。
コマンドボタンのクリック時イベントに
DoCmd.OpenForm “F_カレンダー”
と記述します。

cal06

以上で完成です。
作成した「F_カレンダーコントロール」を実行し、コマンドボタンから「F_カレンダーコントロール」を開いてみてください。
カレンダーの日付をクリックする度にテキストボックス内に日付が表示されれば成功です。

cal01

You Tubeにて動画を公開しています。

こちらの記事もおすすめ!