
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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
accessvba 複数条件でFilterをしたい
Access(アクセス)
-
ACCESSのフォーム上で複数検索したい項目がある場合どうすればいいですか?
Access(アクセス)
-
access マクロでのフィルタの解除の方法
Access(アクセス)
-
4
アクセスでのコンボボックス複数検索
Access(アクセス)
-
5
Accessフォームでの複数条件検索
Excel(エクセル)
-
6
コンボボックスの抽出条件のLikeについて
その他(データベース)
-
7
Accessのフォーム更新方法
Access(アクセス)
-
8
アクセスのフォームで期間検索するには?
Access(アクセス)
-
9
アクセスでのテキストボックスの複数条件での抽出
その他(Microsoft Office)
-
10
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
11
アクセスのOR検索
Access(アクセス)
-
12
ACCESSのコンボボックスで入力した値がTABLEに反映されずに数字がでます
Access(アクセス)
-
13
アクセスVBAのMe!と[ ]
Access(アクセス)
-
14
Access 別フォームへの再クエリ(更新)がしたい。
その他(データベース)
-
15
AccessのフォームのテキストボックスにLOOKUPで表示したい
Access(アクセス)
-
16
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
17
Accessクエリの抽出条件にフォームから挿入する方法
その他(データベース)
-
18
(ACCESS)条件に応じて、テキストボックスを表示・非表示設定
その他(データベース)
-
19
Accessのコンボボックスでリストが選択できない
Word(ワード)
-
20
アクセス フォームをリクエリしたい
Access(アクセス)
関連するQ&A
- 1 access2010 コンボボックスで項目選択したらテキストボックスに情報を表示させたい
- 2 ACCESS VBA にて複数項目のあいまい検索をしようとしています。
- 3 【Access】テキストボックスに入力後、そのテキストボックスを無効化する方法について
- 4 Access フォームのコンボボックスでの検索
- 5 【Access】サブフォームのコンボボックス連携
- 6 Access2010 コンボボックスで選択クエリ
- 7 コンボボックスの色変更について(Access97)
- 8 accessでコンボボックスとサブフォームでデータ表示したい。
- 9 【Excelマクロ】特定のタイミングでオートフィルタ-を解除し、コンボボックスの表示項目を変更するには。
- 10 複数あるテキストボックス中のテキスト取り出し
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
ユーザーフォーム上にあるコン...
-
5
データベースのINT型項目にNULL...
-
6
アクセスで数値型のフィールド...
-
7
レコードを保存するコード ア...
-
8
Accessのフォーム更新方法
-
9
フォームで入力しても反映されない
-
10
passwordが入れられません・・・・
-
11
Accessで、フォームからフォー...
-
12
サブフォームに対してGoToRecor...
-
13
エクセルをACCESSのレポ...
-
14
コントロールソースって
-
15
Accessでフィールド名を変数(...
-
16
【ACCESS】フォーム名/コントロ...
-
17
Excelで入力したデータを自動的...
-
18
ACCESSサブフォームにデータ反...
-
19
ACCESS フォームをそのまま印刷...
-
20
ACCESSの複数レポートの印刷に...
おすすめ情報