クエリデータのフォーム表示に関する問題

このQ&Aのポイント
  • Accessでクエリデータをフォームで表示させている際、パラメータの入力画面が表示されてしまう問題が発生しています。
  • クエリから2つのフォームを見ていて、どちらかに入力されていればその値を指定し、どちらも入力がなければすべてのデータを表示したいです。
  • 1つのフォームを見る場合は正常に動作しますが、2つのフォームをOR条件にすると、パラメータの入力が表示されてしまいます。パラメータ入力画面が表示されないようにする方法を教えてください。
回答を見る
  • ベストアンサー

されてしまいます。

Accessでクエリデータをフォームで表示させているのですが、 パラメータの入力画面が表示されてしまいます。 クエリから2つのフォームを見ていて、どちらかに入力されていればその値を指定。 どちらも入力がなければ全部表示としたいです。 (1つのフォームを見る場合は、うまくいくのですが2つのフォームをorにするとパラメータの入力が表示されます。) どうすれば、パラメータ入力画面が表示されないか教えてください。 (Is Nullも最後につけて見ましたがだめでした。) ◆クエリ test   Like [forms]![test1]![test] or Not Like [forms]![test2]![test1] Is Null ◆フォーム:test1 test ◆フォーム:test2 test1

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

クエリのデザインビューで test|式1:○ |式2:△ 式1と式2の表示のチェックは外して置いて   | <>False |   |     |<>False ○の部分は IIf(IsNull([forms]![test1]![test]),"",([test]) Like "*" & [forms]![test1]![test] & "*") △も同様に IIf(IsNull([forms]![test2]![test1]),"",([test]) Like "*" & [forms]![test2]![test1] & "*") かな。

関連するQ&A

  • Accessのクエリの検索条件にフォームのテキストボックスを指定したんですが…

    WinXPのAccess2002です。 クエリの検索条件には、[]カッコを用いてフォーム上のテキストボックスを指定できますが、 Nullじゃないものを検索しようと、is not nullと 入力して、試験的にクエリを起動させたところ、 「式が複雑なので…」というメッセージが帰ってきました。 ですが、そのテキストボックスに値を直接指定(数字を入力 するフィールドなんですが、039とか555とか)すると、エラーも 起きずにクエリは実行してくれます。 "is not null"などの場合は、特別な指定の仕方があるのでしょうか。 どうぞご教示のほどよろしくお願いします。

  • accessのnot検索

    access2000で テーブル[日付](yyyy/mm/ddで入力されています)   [内容](なんでも。空白の場合もあります) フォーム  「日付」(yyyy/mm/ddのみ入力可能にしています)  「NGword」(どんな文字でも入力できます) という項目を作成し・・・ 1、クエリでフォームの「日付」に入力したものかつ 2、フォームの「NGWord」を含まないレコードのみを抽出したいのですがうまくいきません。 「日付」「NGword」が空白の場合は入力された条件のみ適用させたいです。 (「日付」・「NGWord」が両方空の場合は全レコード抽出したいです) クエリを作成して・・・ [日付]の抽出条件を like "*" & forms![フォーム名]![日付] & "*" で [内容]の抽出条件を (not like "*" & forms![フォーム名]![NGword] & "*") or (is null) で設定したのですがうまくいきませんでした・・・泣 宜しくお願いします。

  • Accessのテキストボックスとコンボボックスの違い

    フォームにテキストボックスを3ケ用意し、テキストボックス名をtxt1,txt2,txt3としました。これにコマンドスイッチを作成し、機能を再クエリと設定しました。 フォームのサブフォームに再クエリの結果を表示するようにしました。 クエリのテキストボックス1の抽出条件は 条件  [Forms]![フォーム名]![txt1] または [Forms]![フォーム名]![txt1] Is Null    [Forms]![フォーム名]![txt1] Is Null テキストボックス2の抽出条件は 条件  [Forms]![フォーム名]![txt2] Is Null または [Forms]![フォーム名]![txt2]  [Forms]![フォーム名]![txt2] Is Null テキストボックス3の抽出条件は 条件  [Forms]![フォーム名]![txt3] Is Null または [Forms]![フォーム名]![txt3] Is Null [Forms]![フォーム名]![txt3] と設定し、テキストボックスにデータを入力し実行すると 正しい結果が得られるのですが、テキストボックスをコンボボックスに変更し、コンボボックス名をtxt1,txt2,txt3 とすると、抽出されません。 コンボボックスをテキストボックスのように扱うのには どうするのでしょうか。教えてください。

  • VBAからクエリのパラメータを設定したいです。

    いつもお世話になっております。 クエリーは全く同じ内容ですが、 複数のフォームにパラメータを入力するユーザーインターフェースのため、ク エリーを複数用意して、それぞれに [forms]![F_TEST]![テキスト名]というパラメータを設定し、フォームの帳票やレポートの帳票に出力していま した。 このクエリを一本にして、VBAから動的にパラメータを参照するフォームを指定 できないでしょうか? よろしくお願いいたします。

  • sql文のwhere句について

    <環境>sqlserver SQLでパラメータが空白であれば全件取得、パラメータに値が設定されている場合には 条件にHITするデータを抽出したいのですが、一本のクエリで抽出することができるのでしょうか? 空白時パラメータは以下のとおり入ってきます。 @no="" …完全一致 @name="%%" …部分一致 例) SELECT * FROM テーブル WHERE (NO = @no) and ((@name IS NULL) OR (@name IS NOT NULL) AND (NAME LIKE @name)) NAMEは上記クエリにて取得できています。 NOのところはどのようにすればよいでしょうか?

  • ACCESSのクエリの抽出

    ACCESS2003を使っています。フォームのコンボボックスに入っているデータを見てクエリで抽出したいと思っています。 フォームのコンボボックスにデータが入っているときは、そのデータで抽出を行い、nullのときは抽出をやめてすべてのデータを表示させたいです。 抽出項目には、null値はありません。 クエリの抽出欄に下記の式を入れましたがうまくいきません。 IIf(IsNull([Forms]![フォーム名]![コンボボックス名])=true , Is Not Null , [Forms]![フォーム名]![コンボボックス名]) コンボボックスにデータが入っている場合は、抽出はうまくいくのですが、nullのときは、何も表示されません。 どこか式が違っているのでしょうか? よろしくお願いします。

  • 文字列の入っているString値、何も入力されていないString値、Null値の全てを表示されるには?

    access2003です。 フォーム1とクエリ1とテーブル1があります。 クエリ1の「テーブル1の番号フィールド」の抽出条件に 「Like "*" & [Forms]![フォーム1]![番号テキスト] & "*"」と入力しています。 フォーム1の番号テキストに「1」を入力しコマンドホ゛タンを押すと 「1」を含むレコードを表示され フォーム1の番号テキストに「*」を入力しコマンドホ゛タンを押すと 何かしらの文字列が入力されているレコート゛が表示されます。 しかし テーブル1番号フィールドには、 Null値と何も入力されていないString値(""←が入っている)も含まれています。 (見た目は空白どちらも空白です) (String値がある理由はADOを使って何も入力されてない値もまとめてレコードに追加している為) ここで質問なのですが フォーム1のコマンドホ゛タンを押したときに 文字列の入っているString値、何も入力されていないString値、Null値の全てを表示されるには どうすればいいのでしょうか? よろしくお願い致します。

  • Accessでデータベースを作っています。

    Accessでデータベースを作っています。 先日、こちらで質問をさせていただいて、クエリで複数のフィールドを対象にデータを検索する ことはクリアできました。 ありがとうございました。 ご指導に基づき、4つのフィールド(仮にA,B,C,D)について、クエリの抽出条件に  Like "*" & [Aを入力] & "*"  Like "*" & [Bを入力] & "*" ・・・ とそれぞれ設定してパラメータ入力を求め、4つの条件すべて、または一部のみ設定して検索し、 正しい検索結果が得られました。 今度は、検索用のフォームを作成し、フォームで入力した条件をクエリに送って、同じ結果を 得たいと思うのですが、以下の方法では正しい検索結果が出てきません。 ・フォームに検索用のボックスをA~Dまで4つ作成(ひとつはコンボボックス、あとはテキスト) ・クエリの抽出条件に、それぞれ以下を入力     Like "*" & [Forms]![Q_form(作成したフォームの名前)]!                       [A(それぞれの検索ボックスの名前)] & "*" ・フォームに「クエリの実行」のコマンドボタンを配置 パラメータで入力する代わりにフォームを使いたい、というものなのですが(パラメータ入力 よりも、コンボボックスを使って値を選ぶ方が検索する人には使いやすいかと思って)、どうしたら うまいこといきますでしょうか。。 教えてください。

  • ACC クエリ 条件にIIf

    宜しくお願いします。 ACCESSのクエリで、抽出条件に画面からの値を使用したいのですが、 その値がNULL(未入力)時には全件抽出としたいのですが、 うまく行きません。下記の「""」には何をセットすれば よいのでしょうか? IIf (NOT ISNULL( [Forms]![F_伝票照会]![伝票NO]), [Forms]![照会]![伝票NO], "")

  • アクセス97のVBAでパラメータを指定する方法

    いつもたいへんお世話になっております。 アクセス97で、フォームを複数作りました。フォーム1、フォーム2、フォーム3。 それぞれのフォームのコマンドボタンでフォーム4を呼び出します。 フォーム4のレコードソースにクエリを使用しますが(クエリ1)、 このクエリにの抽出条件に、最初のフォームのコントロールの値(部門)を設定したいのですが、抽出条件に、「FORMS!フォーム1!部門」とすると、同じクエリを他のフォームには使えませんよね?パラメータを作成して、それぞれのフォームのコマンドボタンのなかで指定できてしまえば、クエリ1と、フォーム4を共有できますよね。現在は、それぞれのフォームに対応するフォーム4とクエリ1を作成しています。なんとかなりませんか? 説明が難しくなってきちゃった・・・ ・・・パラメータの入力要求をVBAで処理したいのですが、いい方法を教えてください。

専門家に質問してみよう