[Access]フォーム内のテキストボックスを数値変換し、日付の計算に使用する。

日付の算出がおかしい

当日日付から過去***日間(***はフォームで入力されたテキスト値)のデータをクエリで抽出する。
そこでwhere条件を以下のように設定。

>Date()-[Forms]![フォーム名]![指定日数テキスト]

なぜかデタラメな結果が返ってくる事に・・・

原因

答えが判明すれば簡単な話です。
計算式であるにも関わらず、引き算されるフォームデータが数値では無い事が原因です。

では、フォームデータを数値に置き換えてみましょう。

>Date()-CLng([Forms]![F_42]![指定日数テキスト])

簡単ですね。
CLngを使用するだけです。

まとめ

急いでいると結構なあるあるですね。
エラーも出ずに正常終了してしまうので、きちんとデバッグをして気をつけましょう。

コメント