表單上我有一個叫LookUpByStore形式,從一個查詢顯示的記錄。這些記錄是我們在零售商店連鎖店中銷售的產品。我在名爲StoreCombo的表單頂部有一個組合框,將商店編號列爲文本。 ( 「109」, 「111」 等)搜索時過濾與組合框
我有一個名爲txtSearch文本框和被叫SearchBtn按鈕。我編寫了下面的代碼以從StoreCombo中獲取商店編號,然後僅在該商店內搜索產品。所涉及的列有:
StoreNum - 這是選擇在組合框中
,然後我需要尋找在文本框中輸入的任何這三根柱子:
ItemNameWeight - 這是一個文本字段
ItemNum - 這是一個數字
ItemUPCCode - 這是文本
這裏是我的代碼立方米rrently,我明白搜索ItemNameWeight並設置StoreNum,而ItemNum和ItemUPCCode在沒有設置storenum的情況下被搜索。我把這個宏設置爲一個可以工作的宏,但是我需要將StoreNum添加到其他兩個字段中,所以它將超過255個字符的宏限制。
[StoreNum]=[Forms]![LookupByStore]![StoreCombo] And [ItemNameWeight] Like "*" & [Forms]![LookupByStore]![txtSearch] & "*" Or [ItemNum] Like "*" & [Forms]![LookupByStore]![txtSearch] & "*" Or [ItemUPCCode] Like "*" & [Forms]![LookupByStore]![txtSearch]
我試圖將代碼移動到VBA這樣的:
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
但是這給了我一個錯誤2427「您輸入的是沒有價值的表達式」
A)我是什麼我做錯了
和
B)什麼是添加StoreNum的最佳實踐VBA中的其他兩列,因爲我知道寫道,「[StoreNum] = [Forms]![LookupByStore]![StoreCombo]和」每次都不是正確的方法。
感謝, 託尼
我建議你添加您的過濾器的「Debug.Print」看看你有什麼。你的語法是錯誤的文本字段 - 你需要的東西,如:ItemNameWeight像「「*」&[表格] [LookupByStore] [txtSearch]&「*!」」 ......另外,你需要讓你與/或邏輯分組正確,如:StoreNum = 'XXX' AND(ItemNameWeight如 「* XX *」 或ItemUPCCode像 「* UUU *」 或ItemNum 1234)你需要修復ItemNum過濾使用NUMERICS] –