
ACCESS VBA で複数項目検索にテキストボックスとコンボボックスを使用したい
txtPC番号というテキストボックス、
com所属部門というコンボボックス、
txt使用者というテキストボックスの
どれかひとつの条件が入力されたときに
該当するフォームのレコードを抽出できるようにしたいのですが、
コンボボックスで選択した場合のみうまく抽出できません。
コードのどの部分に誤りがあるのでしょうか?
ご指摘願えませんでしょうか?
よろしくお願いいたします。
Private Sub cmd01_Click()
Me.FilterOn = False
If Me!txtPC番号 <> "" Then
Me.Filter = "[PC番号]like '*" & Me!txtPC番号 & "*'"
ElseIf Me!com所属部門 <> "" Then
DoCmd.Requery "com所属部門"
ElseIf Me!txt使用者 <> "" Then
Me.Filter = "[使用者]like '*" & Me!txt使用者 & "*'"
End If
Me.FilterOn = True
End Sub
No.2ベストアンサー
- 回答日時:
コンボボックスの使い方に間違いがあり、入力した値が各txtコントロール値になってない。
連結列プロパティー等どうなっているか見直しします。コンボボックスのときだけおかしいならこのコードは変えないで下さい。たぶん正しくて変える必要ありません。
もう1つボタンを用意しこちらにはコンボボックスの仕掛けで処理させると何がどう違うかわかりませんか?。
後、このボタンクリック以外で各txtコントロールをクリアしたりしてませんか。似た仕掛けを見たことあります。
3つ共値が無い時のロジックも入れた方が良いです。
ありがとうございました。
一つ一つ作業していったところ、
無事抽出できるようになりました。
また、3つとも値がないときのif分も追加いたしました。
本当にありがとうございました。
No.3
- 回答日時:
所属部門で抜くときフィルタ設定しないで再クエリだけというのはどういう意図でしょうか。
条件変えて再クエリならまだわかります。
さらに、
ここがクエリなら3項目ともフィルタじゃなくてもクエリ側でなんか出来るようにも思います。
No.1
- 回答日時:
うまく抽出できないというのはどう「うまく抽出」できないのでしょう。
期待値がわかりませんし、現状どうなっているのかもわかりません。
もし
「コンボボックスの際だけif文の中に入らない」(「DoCmd.Requery "com所属部門"」を実行しない)
ということであれば、ブレークポイントを敷いてのデバッグ時、com所属部門に値は入っていますか?
そもそも・・
コンボボックスの初期値はどうなっていますか?
またコントロールソースはベタ書きですか?
何かしかから引っ張ってきているのですか?
補足お願いします。
この回答への補足
アドバイスありがとうございます。
現状ではコードを書いて一番最初にコンボボックスで検索した部門が、
ほかの部門を選択して抽出ボタンを押しても出てきてしまうという
現象がおこってしまっています。
コンボボックスはプロパティ画面にて
値集合タイプ「テーブル・クエリー」
でテーブルの値を参照させています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
フォームを開くときに、コンボボックスの値を選択(アクセスVBA)
Visual Basic(VBA)
-
Access 複数条件検索の設定が上手く行きません
Access(アクセス)
-
アクセスVBAのMe!と[ ]
Access(アクセス)
-
-
4
ACCESSのフォーム上で複数検索したい項目がある場合どうすればいいですか?
Access(アクセス)
-
5
アクセスのフィールド表示を2段にする方法・抽出の方法
Access(アクセス)
-
6
access コンボボックス初期表示について
Visual Basic(VBA)
-
7
ユーザーフォーム 3つのコンボボックスの連動について教えてください。
Excel(エクセル)
-
8
Accessでフォームから別フォームのテキストボックスの値を設定する
Visual Basic(VBA)
-
9
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
microsoft office for mac につ...
-
エクセルの式がわかる方がおら...
-
office2019 のoutlookは2025年1...
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
パソコンWindows11 Office2021...
-
Office2021を別のPCにインスト...
-
Microsoft365、ページ設定がで...
-
マイクロソフト オフィスのサポ...
-
エクセル 日付順に並べてかえた...
-
Microsoft Office
-
Officeを開くたびの「再起動メ...
-
Office2024インストール後の疑問点
-
パソコンを買い替える際、前の...
-
officeソフトについて教えてく...
-
Excel テーブル内の空白行の削除
-
Microsoft365について
-
表の作成について
-
officeソフト 本名変更
-
Excelで〇のついたものを抽出し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
条件に応じてコンボボックスの...
-
CrystalDiskinfoの使い方!HDD/...
-
ユーザーフォームを使ってのマクロ
-
コンボボックス 選択後のカー...
-
4月開始年度の月と日を連動さ...
-
VBA コンボボックスの重複削除
-
エクセルVBA コンボボックスで...
-
Access 2016 のプロパティ(プル...
-
エクセルVBAユーザーフォー...
-
ユーザーフォーム上にあるコン...
-
ドロップダウンリスト
-
Dcount関数が表示されない。
-
access 検索結果をテキストボッ...
-
アクセス2000でコンボボックス...
-
ActiveXコントロールのコンボボ...
-
Access レポート印刷するときに...
-
passwordが入れられません・・・・
-
ACCESSのレポートで、指定した...
-
MA ACCESSデータベースに詳しい...
-
データベースのINT型項目にNULL...
おすすめ情報