

No.3ベストアンサー
- 回答日時:
>IIf([Forms]![テーブル名]![コンボ値]="ALL",Like "*",[Forms]![テーブル名]![コンボ値])
この条件は、抽出したいフィールドの「抽出条件」の所に入力しているんですよね?
ちょっと内容を変えまして・・・
(1)「抽出条件」ではなく、「フィールド」の行に入力してください。
(つまり、抽出用の新しいフィールドを作成するということです。)
(2)式は
式1: IIf([Forms]![テーブル名]![コンボボックス名]="ALL",True,[テーブル名]![コンボボックス名]=[Forms]![テーブル名]![コンボボックス名])
にしてください。
(3)IIfを入力したフィールドの「抽出条件」に True と入力します。
(Trueの囲い文字はいりません。)
どうでしょう?ちゃんと出ますよね・・・?
ただし、フィールドを作ったわけですから、
クエリのデータシートビューには必要のない、-1などが表示されたフィールドが表示されますよね。
これは、デザインビューに戻って、表示のチェックボックスをオフにすれば解決します。
IIFというのは、ExcelのIF関数とはちょっとイメージが違います。
以下解説↓
今回の条件式の部分には、[コンボ]="ALL"という評価式(←ポイント!)が入力されています。
Excelでは条件式というイメージが強いですが、
IIFは評価式という意味です。
つまり、この評価式自体がTrueとFalseを持つということです。
IIf([Forms]![テーブル名]![コンボボックス名]="ALL",・・・・)という式で、
条件をALLとしたら・・・
評価結果=True となります。
そして真の場合の処理にTrueを指定することで、IIFの戻り値がTrueになります。
条件にALL以外を入力すると・・・
評価結果=False となります。
そして偽の場合の処理の戻り値が、ALL以外の条件になります。
抽出条件にもTrueを入力したのは、無条件に全件が表示されるのを防ぐためです。
これは、表示をオンにして動作確認すると分かりやすいかも知れませんね。
または、とりあえず現象を直して、理解は後々・・・でもよいかも知れません。
健闘を祈ります!
No.2
- 回答日時:
直接の答えではありませんが・・・。
動的に変更する条件すべてをIif関数でカバーしようとすると、SQLの可読性、保守性が著しく劣化します。
( 3分岐以上なら、Iifのネストが必須 )
という訳で、VBAで必要なSQLを動的に生成し、都度割り当てる、という方法はどうでしょうか?
これなら、3分岐以上でもSelect Case文で簡潔に記述できますし、プログラムの変更があってもソースコードの見通しは悪くなりません。
ありがとうございます、私の知識が足らず
SQLを動的に生成するという意味がわかりませんでした。
No.3の方の方法で解決できました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
ACCESS クエリの抽出条件で全てを抽出したい
PowerPoint(パワーポイント)
-
ACCESS IIF関数 複数条件の設定について
Excel(エクセル)
-
4
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
5
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
6
OR関数
その他(Microsoft Office)
-
7
access クエリでIIF文で抽出条件なし
Access(アクセス)
-
8
アクセスVBAのMe!と[ ]
Access(アクセス)
-
9
Accessクエリ 複数フィールドを対象に空白の場合は全件表示したい
Access(アクセス)
-
10
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
11
accessvba 複数条件でFilterをしたい
Access(アクセス)
-
12
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
13
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
14
【ACCESS/必須条件とOR条件を組み合わせる】
その他(Microsoft Office)
-
15
ACCESS クエリの抽出条件に他のテーブルの値を参照する方法
Access(アクセス)
-
16
Accessでデータシートに同じデータがいくつもでてしまいます。
その他(データベース)
-
17
テキストボックスにクエリ結果を表示させたい
その他(データベース)
-
18
Access サブフォームでの選択行の取得
その他(データベース)
-
19
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
20
Access レポートでiif関数で文字列検索
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
ACCESSのクエリー抽出条件にIIF...
-
5
未審査請求包袋抽出表作成とは...
-
6
「パラメータが少なすぎます。3...
-
7
サイホンの原理
-
8
X-Ripperというフリーウェアに...
-
9
アクセスのテキストボックスでO...
-
10
エクセルの7桁の中から3,5,7...
-
11
ボーカルだけを抽出したいのですが
-
12
【AccessVBA】レコードセットOp...
-
13
PDFファイル/抽出許可され...
-
14
ACCESSのフォームからレポート...
-
15
Access フォームコンボボック...
-
16
単純無作為抽出法の問題がわか...
-
17
アクセス 同じフィールド(テキ...
-
18
コンボボックス全ての値を取得...
-
19
エクセル関数で住所から丁目番...
-
20
アクセスで可能でしょうか?初...
おすすめ情報
公式facebook
公式twitter