重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

いつもお世話になってます。

現在、VBでSQLを発行し、ACCESSのテーブル(テストデータ)より
値を取得しようとしているのですが、
SQL文の発行時に構文エラーとなってしまいます。
詳細を下記しますので、ご教授頂けたらと思います。
宜しくお願い致します。

【SQL文】
select フィールド1,フィールド2,フィールド3,フィールド4,フィールド5,フィールド6,フィールド7,
(CASE WHEN フィールド8='4' or フィールド8='5' then フィールド9*-1 else フィールド9 end)あああ,
(CASE WHEN フィールド8='4' or フィールド8='5' then フィールド10*-1 else フィールド10 end)いいい
from テストデータ

※フィールド9、フィールド10は数値型、その他はテキスト型です。

実行時エラー'3075'
クエリ式'(CASE WHEN フィールド8='4' or フィールド8='5' then フィールド9*-1 else フィールド9 end)あああ'の構文エラー:演算子がありません。

A 回答 (1件)

CASE WHEN なんてAccessにはありません。

また、フィールドに別名を
つける時はASを使います。
IIf(フィールド8 In ('4','5'),-1,1)*フィールド9 AS あああ
このような書き方に改めてください。
    • good
    • 0
この回答へのお礼

ご回答有難うございます。

SQL文を修正したところ、正常終了しました!
ありがとうございました!

お礼日時:2009/07/16 17:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!