2016-06-21 7 views
0

条件 - フィルタを適用しますそれは動作しませんが、複数のフィールドで動作するようにフィルタ:アクセスVBAは - 複数のOR私は2010年のMicrosoft AccessでVBAスクリプト(また、作業)に自分の作業をマクロを変換

DoCmd.ApplyFilter "", "[Forename] Like ""*"" & [Forms]![StaffTotalQuery]![StaffTotalSearchText] & ""*"" Or [Surname] Like ""*"" & [Forms]![StaffTotalQuery]![StaffTotalSearchText] & ""*""", "" 

これは私が動作しないで何を意味するかです:私のデータがある場合: [forename] [姓] アレックスは クリス学部長をボブス

たとえば「alex」や「a」と入力すると、結果がまったくフィルタリングされません。一方、ただ1つのフィルタを持つコードはデータを絞り込みます。あなたは、フィルタを適用する別の方法を試みることができる

+0

エラーメッセージはありますか? 「うまくいかない」とはどういう意味ですか? –

+0

エラーメッセージは表示されません。 これは私が働いていないことを意味します: 私のデータは: forenames:alex、chris | surname:bobs、dean 「alex」や「a」などの入力は、結果をまったくフィルタリングしません。 一方、1つのフィルタだけのコードでは、データを絞り込みます。 – Idios

答えて

3

:@Andreがコメントしたように

me.filter = "[forename] like '*" & Me.StaffTotalSearchText & "*'" & _ 
" OR [surname] like '*" & Me.StaffTotalSearchText & "*'" 
me.filter =true 

EDIT

を、私は私の文字列をカプセル化するために、単一引用符(アポストロフィ)を使用していました。あなたのvbaは次の変更で動作するはずです:

DoCmd.ApplyFilter "", "[Forename] Like '*" & _ 
    [Forms]![StaffTotalQuery]![StaffTotalSearchText] & "*'" & _ 
    " Or [Surname] Like '*" & [Forms]![StaffTotalQuery]![StaffTotalSearchText] & "*'" 
+0

キーでは、引用符として単一引用符を使用していますが、このフィルタ文字列は 'DoCmd.ApplyFilter'でも使用できます。 @Idios – Andre

+0

2番目に提案された方法は、魅力的に機能しました。ありがとう、アンドレとリアム! – Idios

関連する問題