表单上我有一个叫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] –