複数の条件で検索したい!
現在下記のコードでフォームのtxtBoxとcmbBoxの条件でサブフォームを絞込みしています。
これを複数の条件を満たしたレコードだけを絞込みしたいのですが、
txtBox1の条件も拾うしcmb1の条件も拾ってしまう・・・
これを
txtBox1の条件を満たした中のcmb1条件も満たすのレコードで絞込みしたいのですが、
どのようにしたら良いか教えてください。よろしくお願いいたします。
Private Sub cmd検索_Click()
If Not IsNull(txtBox1) Then
サブフォーム.Form.Filter = "顧客コード like '*" & txtBox1.Value & "'"
サブフォーム.Form.FilterOn = True
End If
If Not IsNull(cmb1) Then
サブフォーム.Form.Filter = "顧客区分 like '" & cmb1.Value & "'"
サブフォーム.Form.FilterOn = True
End If
If Not IsNull(txtBox2) Then
サブフォーム.Form.Filter = "顧客名カナ like '*" & txtBox2.Value & "*'"
サブフォーム.Form.FilterOn = True
End If
No.1ベストアンサー
- 回答日時:
一例。
試さないで書いてますが。On Error Resume Next
dim p, q, s
p = Array( Array( txtBox1, "顧客コード" ), Array( cmb1, "顧客区分" ), Array( txtBox2, "顧客名カナ" ) )
s = "": For Each q In p: If q(0).Value<>"" Then s = s & " And ["&q(1)&"] like '" & q(0).Value & "*'"
Next: s = Mid( s, 6 )
If s <> "" Then With サブフォーム.Form: .Filter = s: .FilterOn = True: End With
返答ありがとうございます。
シッカリ機能しました!
相談なんですが、顧客名カナで名字と名前があり、名前の方でも拾いたい為に
like '" & q(0).Value & "*'"をlike '*" & q(0).Value & "*'"に変えたのですが、
顧客コードを「1」で検索をすると「0001」と「0010」や「0011」を拾ってしまいます。当然ですが・・・
特定のフィールドだけ
'"txtBox1"*"
'"txtBox2""
'*"txtBox3"*"
の様にしたいのですが可能ですか?
返答宜しくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) VBAで日付入力しているのですが 4 2023/03/02 11:25
- Access(アクセス) Access DLookup vbaで条件を2件設定したい場合どうすればよいでですか? 現在 If( 1 2023/06/28 14:28
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAにてメッセージボックスを最...
-
VB.net(VB)で、フォームにExcel...
-
VBプログラムの終了
-
メッセージボックスの背景色
-
Googleフォーム・複数人の申し...
-
リストボックスをクリックする...
-
ユーザーフォーム上にアイコン...
-
ボタン押下でサブフォームのレ...
-
Access 無操作の場合、自動で閉...
-
サブフォームの行ごとにコンボ...
-
Access フォーム自動終了
-
ExcelVBAでフォーム内でブック...
-
アクセス フォームが存在する...
-
【ACCESS2003】サブフォーム名...
-
ディスプレイ解像度より大きな...
-
Dominoデザイナーにて、四捨五...
-
Access サブフォームでの複数行...
-
VBA リストボックスをダブルク...
-
Access VBA:サブフォームをボタ...
-
C# 別なフォームへ値を渡す (...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAにてメッセージボックスを最...
-
Accessでフォームから別フォー...
-
サブフォームの新規レコードに...
-
リストボックスの選択解除
-
Googleフォーム・複数人の申し...
-
ユーザーフォーム上にアイコン...
-
PDFフォームに本日の日付を自動...
-
accessで2つ以上のフォームを起...
-
VBプログラムの終了
-
アクセスVBA フォームのス...
-
メッセージボックスの背景色
-
サブフォームの行ごとにコンボ...
-
ExcelVBAでフォーム内でブック...
-
フォーム上の全てのコントロー...
-
ディスプレイ解像度より大きな...
-
メインフォームからサブフォー...
-
VBAでフォームのスクロールバー...
-
PDFフォーム内で日付計算したい...
-
Access 無操作の場合、自動で閉...
-
C# 別なフォームへ値を渡す (...
おすすめ情報