• ベストアンサー

ACCESS2003 IIF関数について

グループ化でIIF関数で出力した時に、SEASON="5"の定番と"3" Or "4"のAWは問題ありませんが、"1" Or "2"も"AW"で出力になります。 IIF関数を使用せずフィルド項目を見ると"1"・"2"・"3"・"4"・"5"がデータに存在しています。 式は下記のようにしていますが、どこか間違いがあるのでしょうか。 シーズン: IIf([MA_SEASON]="5","定番",IIf([MA_SEASON]="3" Or "4","AW",IIf([MA_SEASON]="1" Or "2","SS","**"))) 宜しくお願い致します。

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

  • ベストアンサー
回答No.1

以下の条件式 [MA_SEASON]="3" Or "4" は [MA_SEASON]="3"が真である または "4"が真である という条件式であり「常に真」と評価されます。 COBOLでは [MA_SEASON]="3" Or "4" という式は [MA_SEASON]="3"が真である または [MA_SEASON]="4"が真である という意味になりますが、ACCESSでは、こういう書き方は出来ません。 きちんと シーズン: IIf([MA_SEASON]="5","定番",IIf([MA_SEASON]="3" Or [MA_SEASON]="4","AW",IIf([MA_SEASON]="1" Or [MA_SEASON]="2","SS","**"))) と書かないといけません。

V02964
質問者

お礼

Chie65535 様 お手数をお掛け致しました。 有り難うございます。 修正して正しい結果が得られました。 Cobolは経験あります。 すごく勉強になりました。

その他の回答 (1)

回答No.2

追記。 試しに テスト1: [MA_SEASON]="3" Or "4" テスト2: False Or "4" とやってみて下さい。どちらも「真」を表す「-1」になります。

V02964
質問者

お礼

Chie65535 様 有り難うございます。 テスト1、テスト2 同じ結果になりました。 勉強不足です。