Accessで[日付/時刻型]のデータ型を選択すると、既定で日付選択カレンダーが表示されます。
Access2007からの機能です。
-
[日付/時刻型]の日付選択カレンダーの表示とカレンダーコントロール
Access2007から、テーブルのデザインビューでデータ型から[日付/時刻型]を選択すると、自動的に日付選択カレンダーが表示されるようにな ...
日付/時刻型のフィールドにカーソルが移動すると、小さいカレンダーのアイコンが表示されて、そのアイコンをクリックするとカレンダーが表示されるようになっています。
フォームでは、このカレンダーアイコンをクリックせずに、カーソルが移動(フォーカス取得時)すると自動的にカレンダーを表示させることができます。
ここでは、マクロビルダーとコードビルダーで解説します。どちかで設定してください。
テーブルの[データ型]で[日付/時刻型]を選択
テーブルのデザインビューで、[データ型]のプルダウンから[日付/時刻型]を選択します。
テーブルをデータシートビューに切り替えます。
右側に小さいアイコンが表示されます。
クリックすると、カレンダーが表示され、クリックすることで日付を入力できます。
既定では、今日の日付が選択されていて、そのまま[Enter]キーで入力できます。
参考カレンダーのアイコンは、Accessのバージョンによって異なります。
以下は、Access2019のカレンダーアイコンです。Access2019までは、以下と同じです。
Microsoft 365のAccessのカレンダーアイコンは、Access2021と同じです。
テーブルのカレンダーの非表示設定
テーブルのデザインビューでフィールドを選択して、フィールドプロパティの[日付選択カレンダーの表示]で[なし]を選択すると、カレンダーは非表示になります。
参考データ型の中に[拡張した日付/時刻型]というのがありますが、これは、Access2016以降で使用できるデータ型です。
拡張した日付/時刻データ型の使用 - Microsoft サポート(Microsoft)
フォームの[日付/時刻型]のコントロール
単票フォームの[日付/時刻型]のコントロールです。
既定では、フォーカス取得時にテーブルと同じように小さいアイコンが現れます。
そして、そのアイコンをクリックするとカレンダーが表示されます。
既定で今日の日付が選択されているので、[Enter]キーを押すと、今日の日付が入力できます。
フォームで日付選択カレンダーを表示しない設定
日付選択カレンダーを表示しないようにするには、[日付/時刻型]のコントロールを選択してプロパティを表示します。
プロパティシートは、キーボードから[F4]キーを押しても表示できます。[F4]キーは、プロパティ表示/非表示のショートカットキーです。
[書式]タブの[日付選択カレンダーの表示]で[なし]を選択します。既定は[日付]です。
マクロビルダー(埋め込みマクロ)で設定
フォームの日付選択カレンダーをフォーカス取得時に表示されるようにします。
マクロビルダーでの設定です。
[日付/時刻型]のコントロールを選択してプロパティを表示します。
[イベント]タブの[フォーカス取得時]の[ビルダー選択]ボタン[…]をクリックします。
[ビルダーの選択]ダイアログボックスから[マクロビルダー]を選択して[OK]ボタンをクリックします。
[新しいアクションの追加]の▼ボタンをクリックして、一覧から[メニューコマンドの実行]を選択します。
少し下へスクロールすると見つかると思います。
[アクションカタログ]から選択してマクロウィンドウへ追加する方法もあります。
マクロアクション[メニューコマンドの実行]の[コマンド]から[日付選択カレンダーの表示]を選択します。
一番下までスクロールすると、見つけやすいと思います。
[メニューコマンドの実行]には多くのコマンドがあります。一度、眺めてみると思わぬコマンドが見つかるかもしれません。
以下のようになったら、上書き保存して閉じます。
フォーカス取得時のプロパティには、[埋め込みマクロ]と表示されます。
フォームビューに切り替えて操作してみます。
[F5]キーを押して、切り替えることができます。
フォーカスの取得時に、カレンダーが表示されます。
カレンダーのアイコンをクリックする必要がないので、ちょっと便利になります。
参考日付選択カレンダーを表示するコントロールが複数あるような場合は、[独立マクロ]として作成しておくと便利です。
-
独立マクロと埋め込みマクロの違いを知って使い分け
Accessのマクロには、独立マクロと埋め込みマクロというのがあります。 独立マクロは、マクロを個別に作成して、後でオブジェクトのプロパティ ...
コードビルダー(VBA)で設定
コードビルダーを選択して設定する方法です。
[日付/時刻型]のコントロールを選択してプロパティを表示します。
[イベント]タブの[フォーカス取得時]の[ビルダー選択]ボタン[…]をクリックします。
[ビルダーの選択]ダイアログボックスから[コードビルダー]を選択して[OK]ボタンをクリックします。
コードウィンドウが表示されますので、以下のコードを入力して閉じます。
DoCmd.RunCommand acCmdShowDatePicker
[フォーカス取得時]のプロパティには、[イベントプロシージャ]と表示されます。
[マクロビルダー]と[コードビルダー]の相違点などは以下の記事で解説しています。
-
マクロアクション(マクロビルダー)とVBA(コードビルダー)
Accessでは、マクロアクション(マクロの実行アクション)やVBA(Visual Basic for Applications)を使って一 ...
参考コンボボックスもフォーカス取得時にリストを表示するようにできます。以下の記事で解説しています。
-
コンボボックス内にカーソルが移動すると自動でリストを表示するには
Accessの入力フォームでコンボボックスを使うことは多いと思います。 コンボボックスって、▼ボタンを押してリストを表示しますが、コンボボッ ...
日付を定型入力を使って入力できるようにすることもできます。
-
生年月日から計算式を使ってテキストボックスに年齢を表示する
Accessのフォームに非連結のテキストボックスを追加して、そこに生年月日の日付から[DateDiff関数]を使って年齢を求めて表示します。 ...