2017-04-21 3 views
0

クエリのレコードを表示するLookUpByStoreというフォームがあります。レコードは、私たちが小売店のチェーンで運ぶ製品です。 StoreComboというフォームの上部にコンボボックスがあり、店舗番号をテキストとして表示しています。 ( "109"、 "111"など)コンボボックスでフィルタリングされたフォームでの検索

私は、txtSearchというテキストボックスとSearchBtnというボタンを持っています。私はStoreComboからストア番号を取り出し、そのストア内の製品のみを検索するためのコードを以下に書いた。関与の列は以下のとおりです。

StoreNum - コンボボックスに

を選択してから、私はテキストボックスに入力されているもののためにこれらの3つの列を検索する必要がありますされています

ItemNameWeight - テキストフィールド

です

ItemNum - 数

ItemUPCCodeである - ここにテキスト

である私のコードのCuで私が理解しているのはItemNameWeightを検索してStoreNumを設定し、ItemNumとItemUPCCodeはstorenumを設定せずに検索します。私はこれをマクロとして設定していましたが、これは成功しましたが、他の2つのフィールドにもStoreNumを追加する必要があります。そのため、マクロの255文字制限を超えます。

Private Sub SearchBtn_Click() 
    DoCmd.ApplyFilter , [StoreNum] = [Forms]![LookupByStore]![StoreCombo] And [ItemNameWeight] Like "*" & [Forms]![LookupByStore]![txtSearch] & "*" Or [ItemNum] Like "*" & [Forms]![LookupByStore]![txtSearch] & "*" Or [ItemUPCCode] Like "*" & [Forms]![LookupByStore]![txtSearch] & "*" 
End Sub 

しかし、これは私に

A「あなたが値を持たない表現を入力し、」エラー2427を与える)何午前:

[StoreNum]=[Forms]![LookupByStore]![StoreCombo] And [ItemNameWeight] Like "*" & [Forms]![LookupByStore]![txtSearch] & "*" Or [ItemNum] Like "*" & [Forms]![LookupByStore]![txtSearch] & "*" Or [ItemUPCCode] Like "*" & [Forms]![LookupByStore]![txtSearch] 

は、私はこのようなVBAのコードを移動しようとしました私は何をしStoreNumを追加することをお勧めします)間違っ

Bをやって「[StoreNum] = [Forms]![LookupByStore]![StoreCombo]そして "毎回それを行う正しい方法ではありません。

おかげで、あなたが引用符内のリテラル文字を囲み、変数を連結する必要がある トニー

+0

を使用することができ、私はあなたのフィルターの「のDebug.Print」を追加してご覧ください示唆しますあなたが持っているもの。あなたの構文はテキストフィールドには間違っています:ItemNameWeight "'*"&[Forms]![LookupByStore]![txtSearch]& "*'" ...さらに、AND/ORロジック"* UUU *"やItemNumのように1234)[数値を使用するようにItemNumフィルタを修正する必要があります] –

答えて

0

レビューApplyFilter

私は決してApplyFilterメソッドを使用しませんでした。フォームのFilterプロパティとFilterOnプロパティを設定しました。レビューAllen Browne Search

また、AND演算子とOR演算子を使用しています。正しい括弧で囲むが重要である - コードは、参照されているフォームの背後にある場合This AND THIS OR THISThis AND (This OR This)

と同じではありません、私の別名Me.StoreCombo

関連する問題