クエリのレコードを表示する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]そして "毎回それを行う正しい方法ではありません。
おかげで、あなたが引用符内のリテラル文字を囲み、変数を連結する必要がある トニー
を使用することができ、私はあなたのフィルターの「のDebug.Print」を追加してご覧ください示唆しますあなたが持っているもの。あなたの構文はテキストフィールドには間違っています:ItemNameWeight "'*"&[Forms]![LookupByStore]![txtSearch]& "*'" ...さらに、AND/ORロジック"* UUU *"やItemNumのように1234)[数値を使用するようにItemNumフィルタを修正する必要があります] –