- ベストアンサー
アクセス2007 VBAでの複数条件での検索
- アクセス2007でVBAを使用して複数条件での検索方法を調べています。
- MeMain.Filterを使用して[ID]、[社名]、[住所]の複数条件での検索を試みましたが、うまくいきませんでした。
- 同時に2つの条件で検索する方法も知りたいです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No3の続きです。 コードに数値を直接かくならば、 Me.Filter = "[ID] >=" & 2 & _ "AND " & "[社名] Like '" & Me!Text2 & "'" & _ "AND " & "[住所] Like '" & Me!Text3 & "'" となります。
その他の回答 (3)
- piroin654
- ベストアンサー率75% (692/917)
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 & "'" のようにします。等号をつけるかつけないかは ご随意に。
- 30246kiku
- ベストアンサー率73% (370/504)
まずは、自分で記述したものが正しいのか確かめます。 以下を標準モジュールに記述してどの様な結果が得られるか確認してください 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 は = でも。
お礼
回答いただき、ありがとうございます。
- piroin654
- ベストアンサー率75% (692/917)
>という形で動かしてみるとうまくいきません。 エラーが出るとか、何も抽出されないとかいう 情報を記載しておけばよりわかりやすいのですが。 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
お礼
ありがとうございました。うまくいきました。 (3)を見て勉強してみたのですが、Me.Filter = "[ID] like '" & Me!Text1 & "' AND " & "[社名] Like '" & Me!Text2 & "'" で[ID]>=2というのを試してみたのですが単に代入しただけではうまくいかず"[ID]>=2""でもだめでした。 できましたら、追加で教えていただけないでしょうか。お手数をおかけしますが、どうかよろしくお願いします。
お礼
早速回答いただき、ありがとうございました。できました。大変助かりました。 ありがとうございました。