• ベストアンサー

アクセスクエリでの空白の値の表示

フォームで条件フィールドから2つ同時の検索をかけたく クエリに以下の式を記載致しました。 検索はかかるのですが空白のデータがでてきません。 空白のデーターも表示させたいためにはどうしたらいいでしょうか? 式1: IIf(IsNull([Forms]![フォーム]![条件1]) And IsNull([Forms]![フォーム]![条件2]),True,[条件]=[Forms]![フォーム]![条件1]Or [条件]=[Forms]![フォーム]![条件2] 抽出条件  True

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

  • ベストアンサー
  • chayamati
  • ベストアンサー率41% (254/607)
回答No.2

空白のデーターだけを表示させるにはテーブル(クエリ)を開いてフィールド名の右端クリックで可能です。

mirumirus
質問者

お礼

ご連絡ありがとうございます。すみません、書き方が悪かったと思います。条件のフィールドが空白だったとしてもデータを表示させたいです。(ご教示いただいた画像ですと仕分け日に日にちが入っていなくてもID,伝票NO・・を表示させたいです。)宜しくお願い致します。

mirumirus
質問者

補足

再度申し訳ありません。結合プロパティーで自己解決出来ました。 どうやって締め切っていいのかわからず解答をいただけましたchayamatiさんをベストアンサーにさせていただいて締め切らせていただきます。ご回答ありがとうございました。

その他の回答 (1)

回答No.1

>[条件]=[Forms]![フォーム]![条件1]Or [条件]=[Forms]![フォーム]![条件2] [条件]が[条件1]ないし[条件2]に合致していたら・・・  ↑ 《空白のデータが存在したら》という条件が書かれていません。 >Len([条件] & "") = 0  ↑ この式は、[条件]が""またはNullの場合は真になります。 >IsNull([条件]) と同じです。で、条件をもう一つ付加すれば目的は達成されると推察します。 【疑問】 IIf(IsNull([Forms]![フォーム]![条件1]) And IsNull([Forms]![フォーム]![条件2]),True, この部分は、一体、どういう意味のかな?普通は、[条件1]、[条件2]が入力されていない場合には検索なんてかけないのでは・・・ IF Len(Me![条件1] & "") * Len(Me![条件2] & "") Then   検索 Else   MsgBox "検索条件が入力されていません。" End IF 普通は、この If-Then 文をクエリに組み込むなんてことはしないのでは・・・

mirumirus
質問者

お礼

f_a_007 様ご連絡ありがとうございました。質問を締め切ったつもりでいましてお礼が遅くなりまして申し訳ありませんでした。 詳細にご教示いただきましてありがとうございます。疑問に対してですが素人なものでわからないながらに調べて作ってしまいご指摘いただいたことにすぐに返信できません。 f_a_007 様がご指摘していただきましたことを再度考えてみます。 とりあえず求めていることはできるようになりました。 ありがとうございました。

関連するQ&A

  • ACCESSでクエリーを使った検索

    VBAを使えば簡単にできるのですが、事情があり、クエリーのみで行わなければいけません。 フォームに入力された情報を元に検索できるクエリを作成しました。 通常でしたらクエリのフィールド名の下の抽出条件に Forms![F_検索]![検索条件1] とすればいいのですが、これが複数の条件を設定した場合はすべての条件を入力しないと、検索結果が出ないことから 以下のように変更しました。 フィールド名の抽出条件には何も書かず、別に式として IIf(IsNull(Forms![F_検索]![検索条件1],True,[フィールド1]=[Forms!]![F_検索]![検索条件1])) と入力しそこの抽出条件に「True」と入力しました。 これで何も入力されてない場合は全件が表示されるようになりました。 通常の検索はこれでいいのですが疑問点が2点あります。 1.期間を抽出する場合はどうしたらいいのか? IIf(IsNull(Forms![F_検索]![検索条件1],True,[フィールド1]=Between [Forms!]![F_検索]![検索条件1] and [Forms!]![F_検索]![検索条件2])) とかしてみましたがダメでした。 2.あいまい検索をするにはどうしたらいいのか? IIf(IsNull(Forms![F_検索]![検索条件1],True,[フィールド1]=Like [Forms!]![F_検索]![検索条件1])) なんてしてみましたがだめでした。 ご回答よろしくお願いします。

  • フォームからクエリの抽出期間を指定するにあたって

    フォームのテキストボックス(開始日付,終了日付)に入力された期間内の レコードをクエリで抽出するために、以下のような抽出条件を設定しています。 Between [Forms]![フォーム1]![from date] And [Forms]![フォーム1]![終了日付] ここまでは問題なく出来ています。 ですが、例えばテキストボックスに何も入力していないときに、 全ての期間から全件表示させるような方法はありませんでしょうか? IIf(IsNull([Forms]![フォーム1]![開始日付]),True,~ というような形で、IIfとIsNullの組み合わせも考えたのですが、 日付は直接フィールドでは無く抽出条件のため、 Trueより後が設定できずに悩んでおります。 出来ればVBAは使いたくないのですが、 何か良い方法はありませんでしょうか?

  • ACCESSのクエリの抽出

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

  • Access2000 抽出について

    どうしてもわからないので教えてください。 選択クエリで、「フリガナ」というフィールドに、 Like IIf(IsNull([Forms]![F_顧客検索]![カナ検索]),"*",[Forms]![F_顧客検索]![カナ検索] & "*") でフォームからクエリを実行させるようにしているのですが、 フリガナが空白のレコードは抽出されてくれません。 「*」でなく、なんと入れればいいのでしょうか? ちなみに他に、「自宅電話番号」というフィールドに、 Like IIf(IsNull([Forms]![F_顧客検索]![電話検索]),"*" & "*",[Forms]![F_顧客検索]![電話検索] & "*") など、似たような感じで抽出をかけています。 よろしくお願いします。

  • accessで空白の時の抽出

    access2000を使っています。まだ初心者なので難しい事はできないのですが、クエリを使って絞り込み検索のフォームを作っています。 テーブル内のデータで空白のデータがあります。その際にクエリの抽出条件にlike iif(is null([forms]![formA]![テキスト100]),"*","*"&[forms]![formA]![テキスト100]&"*")としています。フォームのテキストが空白のときは全て抽出するという条件を満たす予定で設定したのですが、テーブル内のデータが空白の物が抽出できません。データが空白がない様にすればいいのでしょうが、クエリの条件で設定できないものでしょうか?データはテキスト型です。

  • Access フォームコンボボックス空白をクエリで抽出したい

    現在access2000を使って、 フォーム1内にコンボボックスを作って コンボボックス内に1,2,3 と項目を入れています。 一方、クエリを使って、上記フォーム内のコンボボックスをつなげて1,2,3をそれぞれ抽出することはできるのですが、 1から3まで全てをiif関数などで 抽出したいと考えてします。 僕が考えた関数は iif(isnull([フォーム1][コンボ1]),is not null ,[フォーム1][コンボ1]) とクエリ抽出条件内に入力すると、結果は、 1、2、3をそれぞれフォームコンボボックスで選択すれば、クエリに反映されるのですが、コンボボックス内を「空白」の状態にすると、1,2,3すべてがクエリで抽出されるのではなく、何も抽出されないという結果になってしまいます。 どうすれば、クエリで1から3すべてを抽出することができるのでしょうか?多分、iif関数内の「空白」は空白として処理されないような気がします。 よろしくお願いします。

  • アクセス チェックボックスとクエリ

    いつもお世話になっております。アクセス初心者です。 あるフォームのチェックボックスのオンオフとコンボボックス、 クエリの選択条件が思うように連携できなくて困っています。 やりたいことは、、、フォームのチェックボックスが、 ON(True)ならば、 フィールドにコンボボックスのキーワードを含むレコードおよびフィールドが空白のレコードを抽出し、 OFF(False)ならば、 フィールドにコンボボックスのキーワードを含むレコードのみでフィールドが空白のレコードは抽出しない、 としたいのですが…。 IIfやSwitchで式を書きましたが、チェックを入れても外しても、どちらも抽出件数が0件になります。 クエリの実行は、コマンドボタンで別のフォームを開いています。 (IIfでは、エラーが出ているのか、チェックを入れた時『~キャンセルされました』と出ます。  IIf(…,…,IIf(…,…,…)) という感じで書きました。) Switchの時のクエリの抽出条件の式は、次のような感じです。 Switch([Form]![チェックボックス]=True,([テーブル名].[フィールド名]) Like "*" & [Form]![コンボボックス] & "*" Or Is Null,[Form]![チェックボックス]=False,([テーブル名].[フィールド名]) Like "*" & [Form]![コンボボックス] & "*") ( Like の前の『([テーブル名].[フィールド名])』は、式をビルドすると、勝手に追加されてきます。) このようなことはできないのでしょうか? 別の方法が必要でしょうか? すみませんが、教えてください。宜しくお願い致します。

  • 抽出クエリの表示方法

    Access2007を使用して検索フォームを組んでいます。 テーブル名「T_社員」 項目名「氏名」「所持免許資格」 フォーム名「F_抽出」 項目名「検索資格1」「検索資格2」「検索資格3」(いずれも非連結項目) 【実行したい事】 T_社員の部署名の値が、フォーム「F_抽出」の「検索資格1」「検索資格2」「検索資格3」のいずれかに該当すれば表示し、3項目すべてがNullの場合、全件表示という形にするため、そのクエリ作成で悩んでいます。 【例】 「検索資格1」の値=「自動車免許」 「検索資格2」=「英検2級」「検索資格3」=Null 「T_社員」の「所持免許資格」欄に「自動車免許」または「英検2級」のどちらかに該当していたら表示する。 上の場合、「所持免許資格」の内容が 「自動車免許 英検3級」・・・ 一部に該当するため抽出 「英検3級 簿記2級」・・・ いずれも該当しないため抽出しない という様にしたいのです。 【表示するクエリ】 フィールド名:IIf(IsNull([検索資格1]) and IsNull([検索資格2]) and IsNull([検索資格3]) ,true, [T_社員].[所持免許資格] Like "*[" & [Forms]![F_抽出]![検索資格1] & [Forms]![F_抽出]![検索資格2] & [Forms]![F_抽出]![検索資格3 ] & "]*") 抽出条件:true クエリ式が間違っているのは分かるのですが、ここからどう修正させていけばいいのかわかりません。 ご教示のほど、よろしくお願いします。

  • ACCESSのあいまいな条件のクエリ 

    フォームで金額を入力します。 この入力された金額を使ってクエリの条件を作りたいと考えています。 <条件> ・金額が未入力の場合は、全て抽出。 ・金額が入力されている場合は、その金額以上を抽出   (例:1000と入力された場合は、>=1000) 下記のような条件式を入れたら、金額を入力しているにも関わらず、 何も入力されてきませんでした。 IIf(IsNull([Forms]![フォームA]![txt金額]),Like "*",>=Val([Forms]![フォームA]![txt金額]))

  • アクセスのクエリで、式の使い方を教えて下さい

    下記のクエリがあります。 氏名 番号(8桁あり2文字で抽出) Like "80*" Or Like "81*" Or Like "90*" 負担金 金額 不足金 そして 式1: IIf((金額]-[不足金])>=0 Or IsNull([不足金]),True,False) 抽出条件 True としています。 式2で Like "81*"の人で、負担金が600以上の人を追加しようとしましたが出来ませんでした。 方法を教えて下さい。

専門家に質問してみよう