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

日付の算出がおかしい

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

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

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

原因

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

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

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

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

まとめ

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

日々のITエンジニアの日常作業を発信しています。
また、様々な商品のレビュー記事も投稿していますのでぜひご活用ください。

投稿は基本的に毎週月曜日です。
2025年2月中旬より入院の為投稿できていませんがサーバーOSの更新も完了し、2025年7月ようやくリスタートできそうです。

では今週も頑張っていきましょう!

Access

コメント