• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセス2007 VBAでの複数条件での検索)

アクセス2007 VBAでの複数条件での検索

このQ&Aのポイント
  • アクセス2007でVBAを使用して複数条件での検索方法を調べています。
  • MeMain.Filterを使用して[ID]、[社名]、[住所]の複数条件での検索を試みましたが、うまくいきませんでした。
  • 同時に2つの条件で検索する方法も知りたいです。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.4

No3の続きです。 コードに数値を直接かくならば、 Me.Filter = "[ID] >=" & 2 & _ "AND " & "[社名] Like '" & Me!Text2 & "'" & _ "AND " & "[住所] Like '" & Me!Text3 & "'" となります。

その他の回答 (3)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

No1です。 「ID」が数値型の場合は、 Me.Filter = "[ID] >=" & Me!Text1 & _ "AND " & "[社名] Like '" & Me!Text2 & "'" & _ "AND " & "[住所] Like '" & Me!Text3 & "'" のようにします。 「ID」がテキスト型の場合は、 Me.Filter = "[ID] >='" & Me!Text1 & "'" & _ "AND " & "[社名] Like '" & Me!Text2 & "'" & _ "AND " & "[住所] Like '" & Me!Text3 & "'" のようにします。等号をつけるかつけないかは ご随意に。

mike001
質問者

お礼

早速回答いただき、ありがとうございました。できました。大変助かりました。 ありがとうございました。

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

まずは、自分で記述したものが正しいのか確かめます。 以下を標準モジュールに記述してどの様な結果が得られるか確認してください Public Sub test()   Dim sS As String   sS = "A Like '★' And B Like '★' And C Like '★%'"   sS = Replace(sS, "★", """ & ▲ & """)   Debug.Print """" & sS & """" End Sub イミディエイトウィンドウに表示されたものと、 提示されたものとの違いを確認してください。 なお、ワイルドカードを使っていない部分の Like は = でも。

mike001
質問者

お礼

回答いただき、ありがとうございます。

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

>という形で動かしてみるとうまくいきません。 エラーが出るとか、何も抽出されないとかいう 情報を記載しておけばよりわかりやすいのですが。 Filterの最後のほうに「%」などがはいっていますが、 何をしようとしたのでしょうか。 また、Filter文の改行のしかたが間違っているようですが。 また、   MeMain.Filter の、「MeMain」 がよくわからないので、以下では 単に、 「Me」としています。 (1) ともあれ、以下を試してみてください。 Me.Filter = "[ID] like '" & Me!Text1 & "' AND " & "[社名] Like '" & Me!Text2 & "' And " & "[住所] Like '" & Me!Text3 & "'" 改行を入れると、 Me.Filter = "[ID] like '" & Me!Text1 & "'" & _ "AND " & "[社名] Like '" & Me!Text2 & "'" & _ "AND " & "[住所] Like '" & Me!Text3 & "'" (2) >できれば、同時に2つの条件で検索するときの形も教えていただけないでしょうか。 Me.Filter = "[ID] like '" & Me!Text1 & "' AND " & "[社名] Like '" & Me!Text2 & "'" 改行すると、 Me.Filter = "[ID] like '" & Me!Text1 & "'" & _ "AND " & "[社名] Like '" & Me!Text2 & "'" あるいは、どれかがあてはまれば、ということであれば、ANDをOrにして、 Me.Filter = "[ID] like '" & Me!Text1 & "'" & _ "Or " & "[社名] Like '" & Me!Text2 & "'" & _ "Or " & "[住所] Like '" & Me!Text3 & "'" この場合は、一つだけ条件をいれてもあてはまるものがあれば すべて表示します。 なお、「*」を入れてあいまい検索をすることもできます。 以下の、「抽出条件の書き方」のとこえおにあります。 (3) ついでに以下も参考に。 データ型による記述の違い http://www.nurs.or.jp/~ppoy/access/access/acM007.html 抽出条件の書き方 http://fk-plaza.jp/acs/TIPS/waza19.htm

mike001
質問者

お礼

ありがとうございました。うまくいきました。 (3)を見て勉強してみたのですが、Me.Filter = "[ID] like '" & Me!Text1 & "' AND " & "[社名] Like '" & Me!Text2 & "'" で[ID]>=2というのを試してみたのですが単に代入しただけではうまくいかず"[ID]>=2""でもだめでした。 できましたら、追加で教えていただけないでしょうか。お手数をおかけしますが、どうかよろしくお願いします。