前提・実現したいこと
AccessのFormに設置しているテキストボックスにてカレンダーから日付を選択した際に、
日付データをテーブルのレコードに登録(レコードを新規作成)するコードを記述しました。
発生している問題・エラーメッセージ
日付カレンダーにて日付を設定した直後にプログラムを実行したら、
テキストボックスに表示されている日付データがNullとして判定されているようです。
どのように修正すればよろしいでしょうか?
該当のソースコード
Private Sub Tx仕入日_Change() 'レコードを作成する Set rs = db.OpenRecordset("T01-1_仕入登録", dbOpenTable) rs.AddNew rs.Fields("仕入日") = Me!Tx仕入日 rs.Update rs.Close Set rs = Nothing End Sub ###追加情報 ①:Formにつきましては、Formレコードソースに『T01-1_仕入登録』というテーブルを設定しております。 ②:Tx仕入日につきましては、書式を『日付(S)』にしており、日付カレンダーの表示を『日付』にしております。 ③:Tx仕入日につきましては、テーブルのフィールドとは非連結の状態としております。
「日付カレンダーにて」の"日付カレンダー"は何ですか? Accessのファイル? Accesssに組み込んであるマクロ(VBA)? Accessを使ったアプリケーション?
質問者以外の人が容易に理解・想像できない語は、何であるかを説明してから使ってください。
「テキストボックスに表示されている日付データ」というのは、質問のコードの中では何にあたりますか?
日付カレンダーというのは、Accessの日付選択カレンダーのことですが、おわかりでしょうか?
エラーが発生しているのは、
『rs.Fields("仕入日") = Me!Tx仕入日』のところです。
ここで、Me!Tx仕入日には、日付選択カレンダーで日付を選択したため、画面には選択した日付が表示されているのですが、プログラム上では、Nullとなっているようです。