みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

複数条件のフィルタができない

マイクロソフトアクセスです。


アクセスで親フォームからサブフォームへフィルタをかけたいのですが

Sub フィルタ()

With Forms("F_親フォーム").Controls("SF").Form

.Filter = "カテゴリ like'" & Forms("F_親フォーム").Controls("cmd_カテゴリ").Value & "' and " _
& "施設名 like '" & Forms("F_親フォーム").Controls("txt_施設名").Value & "'"
.FilterOn = True
End With

End Sub


だとうまくできません。


With Forms("F_親フォーム").Controls("SF").Form

.Filter = "カテゴリ like'" & Forms("F_親フォーム").Controls("cmd_カテゴリ").Value & "' or " _
& "施設名 like '" & Forms("F_親フォーム").Controls("txt_施設名").Value & "'"
.FilterOn = True
End With

これならフィルタされるのですが、
どちらかだけになってしまいます。

.Filter = "カテゴリ like'" & Forms("F_親フォーム").Controls("cmd_カテゴリ").Value & "' and " _
& "施設名 like '" & Forms("F_親フォーム").Controls("txt_施設名").Value & "'"

の文法がおかしいのだと思うのですが、どこが変ですか?

投稿日時 - 2015-05-09 13:24:17

QNo.8971858

暇なときに回答ください

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

~前略
debug.print .filter
.FilterOn = True
End With

と1行追加し、イミディエイトウィンドウに出力された値を確認してみてください。
and の前に半角スペースが無さそうです。
あと、蛇足かもしれませんが Like 演算子を使っているのにワイルドカードは使用していませんね。
= で十分のような気がしますけど。

投稿日時 - 2015-05-09 17:37:05

お礼

ご回答ありがとうございました。

投稿日時 - 2015-05-18 19:23:29

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問