パソコン情報

【Access】日付選択カレンダーが表示されない原因

ココに注意

日付選択カレンダー表示でこんなに悩むとは思わなかった!

テーブル設計

テーブル作成段階では、何も悩むことなく、フィールド名を「日付」にして、データ型を「日付/時刻型」にしました。

何も問題無いはずです!

 

そのテーブルをフォームにして選択してみると、カレンダーが表示されないのです。

何で?

 

ネット検索して対応してもダメ

ネット検索して対応策を調べてみると、最初にヒットするのは、

さらに詳しく

  • データ型が、「日付/時刻型」ではない!
  • 日付選択カレンダーの表示が「日付」でない!

というのが出てきます。

なんど調べてみても間違いはありません。

仕方なく、Copilotにて、AI検索してみると、下記の様な回答がでました。

考えられる原因と対策
(1)Accessのバージョンを確認
・一部のバージョンでは「ShowDatePicker」プロパティの選択肢が「日付」と「なし」のみになっていることがあります。
・最新のAccessの仕様を確認するには、Microsoftの公式ドキュメントをチェックしてみてください。
(2) テキストボックスのデータ型を確認
・「ShowDatePicker」は日付/時刻型のフィールドにのみ適用されます。
・テーブルの設計ビューで、対象のフィールドが「日付/時刻」になっているか確認してください。
(3)Accessの設定をリセット
・Accessのオプションで「既定のコントロールの動作」を変更すると、設定が反映される場合があります。
・「ファイル」→「オプション」→「オブジェクトデザイン」から設定を確認してみてください。
(4)別の方法でカレンダーを表示
・VBAを使ってカレンダーを表示する方法もあります。
・例えば、テキストボックスのクリックイベントでカレンダーを開くコードを追加することができます。

 

(1)と(2)は確認しても改善しませんでした。(3)に関しては、オブジェクトデザイナーって場所までいきましたが、何をするのか不明です。

(4)に関しては、やればできますが、カレンダー表示させるだけなのにこんなに手間が必要ですか!?ってことでやっていません。

 

原因は、こんな事だったなんて・・・

原因は、

ココに注意

定型入力を設定していた事!

でした。

なんで、定型入力を設定するとカレンダー入力ができなくなるのかは調べていませんが、テーブルから定型入力の設定を消すとカレンダーが出現するようになりました。

ただ、ここで注意です!

自分の環境だけかもしれませんが、定型入力の設定が消せません。なんで消せないのか不明ですが、やった事は、フィールド毎消して再設定したり、Accessを再起動してみたら直りました。

よくわかりません。

そして、第二の注意ポイントは、テーブルの定型入力を消しただけでは、フォームのカレンダー表示は出現しません。

自分は、フォームの日付フィールドを消してから、新たに追加して日付フィールドを追加しました。

その様な対応して、やっと日付カレンダーが表示されて選択入力をすることが可能となりました。

日付選択カレンダー入力する場合は、定型入力項目には御注意くださいませ!