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

日付の算出がおかしい

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

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

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

原因

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

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

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

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

まとめ

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

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

基本的に投稿は毎週月曜日の午前です。
2025年2月中旬より手術の為に入院をしていましたが、ようやくブログ投稿の復帰ができそうです。
4月中旬~下旬には再開予定です。

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

Access

コメント