• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:数字の比較の結果がおかしい。)

数字の比較の結果がおかしい

このQ&Aのポイント
  • アクセスのクエリで、日付の比較を行っています。生年月日の年月日を抽出するために、Year([生年月日])、Month([生年月日])、Day([生年月日])を使用しています。任意の日付をフォームから入力するために、任意年、任意月、任意日としています。
  • 比較の結果を表示するために、IIf([任意月]>[月],"マイナス","プラス")としています。
  • 現在の比較では、月が6で任意月が11の場合はプラス、月が1で任意月が11の場合はマイナスとなってしまいます。正しい結果を表示するためには、どこを修正すれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yomo3
  • ベストアンサー率32% (88/269)
回答No.1

えーと、若干情報不足ですが、このようなことだと思います。 まず、 [任意月] = [forms]![F_任意検索]![月] [月] = Month([生年月日]) ということでよろしいですか? 変数にそれぞれの値を格納していますか? 直接、比較しているとすると、フォームの[月]は、String扱いです。 変数の型は比較の左辺が優先されてしまうので、String比較になってしまいますね。 明示的に数値に変換するには、Val関数、CInt関数などを使います。 IIf(Val([任意月])>Val([月]),"マイナス,"プラス") CIntは、空文字列などではエラーを返すので、Valの方がいいかもしれません。 また、明示的に型を宣言した変数に代入するのも有効です。

KODAMAR
質問者

お礼

回答ありがとうございます。 無事なんとか比較することができました。 ありがとうございました。

関連するQ&A