• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセスVBA(先日の続きになります))

VBAの検索抽出がうまくいかない原因と解決方法

このQ&Aのポイント
  • アクセスVBAでの検索抽出を実行する際に起こる問題とは、抽出条件の記述に問題があることが考えられます。
  • 検索条件を入力しているにもかかわらず、すべてのデータが表示される原因は、IF文での条件分岐が正しく機能していないためです。
  • 各テキストボックスの値が空でない場合に、抽出条件としてクエリに追加するよう条件文を組み立てていますが、誤った処理が行われている可能性があります。

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

  • ベストアンサー
  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.4

ご返事遅くなりまして。ごめんなさい。 If Not Me![t_04] = "" Then kensaku = kensaku & _ "(IsNUll([舗装施行年度] OR " & _ "([舗装施行年度] Like '*" & Me![t_04] & "*')) AND " 「& _ 」が抜けてました。文字列生成ですら必要です。コペミスでした。ごめんなさい。

n-shan
質問者

お礼

ほんとうに何度も何度もありがとうございました。 無事検索できました。 「& _ 」ですか~ なぜ気づかなかったんだろう… やはり基本を理解していないからちょっとトラブルとどうにもならなくなってしまうんですね もっともっと勉強します。 またわからないコトが出てきましたら、「またかよ~」と言わずアドバイスをよろしくお願いいたします。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.3

あぁ、また間違った。 If Not Me![t_04] = "" Then kensaku = kensaku & _ "(IsNUll([舗装施行年度] OR " "([舗装施行年度] Like '*" & Me![t_04] & "*')) AND " です。カッコが一つ多かったです。ごめんなさい。

n-shan
質問者

補足

何度もありまがとうございます。 教えていただきましたコードでやってみたんですが、エラーが出てしまいました。 私が持っているマニュアル本には載っていなかったので、"()"をつけたりはずしたりといろいろやってみましたが、どこがエラーなのか発見できず、またまたお返事してしまいました。 "(IsNUll([舗装施行年度] OR " "([舗装施行年度] Like '*" & Me![t_04] & "*')) AND " ORとAND間は普通に改行してかまわないんですよね? どうか見捨てずご享受ください。

すると、全ての回答が全文表示されます。
  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.2

そう来ましたか。(笑) いつ言われるか…、気がきでは無かったす。(^^; その項目に'Null'が入っているためです。nullを検索する場合は、名指しでIsNull([舗装施行年度])という風に検索しないとヒットしません。 If Not Me![t_04] = "" Then kensaku = kensaku & _ "([舗装施行年度] Like '*" & Me![t_04] & "*') AND " は、 If Not Me![t_04] = "" Then kensaku = kensaku & _ "(IsNUll([舗装施行年度]) OR " "([舗装施行年度] Like '*" & Me![t_04] & "*')) AND " で、Nullが検索項目の一部のレコードにあってもヒットすると思います。

すると、全ての回答が全文表示されます。
  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.1

こんにちは。 >DoCmd.OpenForm "検索結果", , , kensakum, acFormReadOnly は、kensaku では?

n-shan
質問者

お礼

うっ、ありがとうございました。 その通りでした。おはずかしい… さらにお聞きしてもよろしいでしょうか? 検索項目がたくさんあるんですが、その中の2つとか3つにデータが入っていない場合、まるごとそのレコードが抽出されないのですが、質問に載せたコードでは抽出しないのでしょうか? 検索は、データの入っている部分でやっているんですが… ためしにテーブルで「0」(ゼロ)を入力して検索してみたんですが抽出されませんでした。 おんぶにだっこ状態で申し訳ありませんが、おわかりになりましたら教えてください。

すると、全ての回答が全文表示されます。

関連するQ&A