

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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- Access(アクセス) Access で半角スペースと全角スペースの区別について 3 2022/11/05 23:54
- Access(アクセス) Access 複数条件検索の設定が上手く行きません 1 2022/07/22 20:37
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Excel(エクセル) エクセルで重複データを行ごとに抽出したい 4 2022/12/05 08:18
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Oracle 列1と列2の関係性で列3の条件に一致するレコードを抽出したい 1 2022/04/13 07:46
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- Visual Basic(VBA) エクセル VBA メール本文に指定セルに記載されているURLをリンクとして記載する方法 8 2022/08/08 07:50
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
ACCESS クエリの抽出条件で全てを抽出したい
PowerPoint(パワーポイント)
-
access2019 チェックボックスと連動したクエリ抽出条件について
Access(アクセス)
-
-
4
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
5
IIF関数の使い方
Visual Basic(VBA)
-
6
ACCESS クエリの抽出条件に他のテーブルの値を参照する方法
Access(アクセス)
-
7
access クエリでIIF文で抽出条件なし
Access(アクセス)
-
8
ACCESS IIF関数 複数条件の設定について
Excel(エクセル)
-
9
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
10
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
11
アクセスの初心者の質問です(空白の場合に他のフィールドを表示させたい。)
Access(アクセス)
-
12
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
13
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
14
iif関数で3つ以上条件を抽出したい場合
IT・エンジニアリング
-
15
Accessクエリ 複数フィールドを対象に空白の場合は全件表示したい
Access(アクセス)
-
16
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
17
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
18
Access 複数フォームを開き、画面の最上面にしたいフォームをコント
その他(データベース)
-
19
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
20
選択したチェックボックスのみチェックを入れたいのですが
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル VBA メール本文に指定...
-
エクセルで、抽出したデータだ...
-
X-Ripperというフリーウェアに...
-
「パラメータが少なすぎます。3...
-
PDFファイル/抽出許可され...
-
ACCESSのクエリー抽出条件にIIF...
-
access クエリ yes/no型のクエ...
-
Excel 文字列から6桁の数値の抽出
-
サイホンの原理
-
ACCESS クエリ 条件以外のレ...
-
「混合物の分離」という範囲で1...
-
AdvancedFilter 検索 複数条件
-
Access2003 式ビルダでのLike...
-
GIMP前景抽出について
-
Access クエリ抽出条件の「Bet...
-
未審査請求包袋抽出表作成とは...
-
mlvから音声を抽出したい。
-
エクセル 行からランダムに1つ...
-
ACCESS 複数のフォームから同一...
-
前のレコードの値を自動で入れたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで、抽出したデータだ...
-
X-Ripperというフリーウェアに...
-
access クエリ yes/no型のクエ...
-
ACCESSのクエリー抽出条件にIIF...
-
Excel 文字列から6桁の数値の抽出
-
未審査請求包袋抽出表作成とは...
-
PDFファイル/抽出許可され...
-
PDFファイルから特定の文字を検...
-
AccessのWHERE句において、変数...
-
エクセル VBA メール本文に指定...
-
「パラメータが少なすぎます。3...
-
【AccessVBA】レコードセットOp...
-
アクセス 同じフィールド(テキ...
-
Access チェックボックスを利用...
-
ACCESS クエリ 条件以外のレ...
-
Accessの選択クエリの抽出条件...
-
Access の SQL で、Aがなかっ...
-
【エクセルVBA】 A1セルを参照...
-
エクセル関数で住所から丁目番...
-
コンボボックス全ての値を取得...
おすすめ情報