日付型変数の初期値は #1899/12/30 0:00:00#になり、入力できる範囲は#100/1/1# ~ #9999/12/31 23:59:59# です。
この初期値は、数値(シリアル値)に置き換えると0になります。
(イミディエイトウインドウで実行するとわかります)
つまり日付型変数の初期値は0ですので、例えば以下のようにコーディングしてエラーを回避します。
1 2 |
Dim dKaishi as Date dKaishi = Nz(Me.txt開始日, vbEmpty) |
【解説】
『txt開始日』フィールドの入力値が空(Null)だったら、dKaishi変数に初期値vbEmpty(=0)を入れ、それ以外の日付だったらそのまま入れます。
日付型変数からフィールドに戻す時には、IF文でコントロールします。
1 2 3 4 5 |
If dKaishi = vbEmpty Then Me.txt開始日 = Null else Me.txt開始日 = dKaishi endif |
これで解決!