访问列表框 - 搜索多个字段

时间:2017-06-07 14:06:08

标签: vba ms-access listbox concatenation

我在表单上有一个搜索不同记录的列表框。 我需要修改更新后事件宏,以便Where条件匹配同一记录中的2个字段。在这种情况下,工作订单和部件号。

WO  | PN
----|-----
123 | red
123 | green
123 | blue
456 | red
456 | yellow

默认访问代码为:

="[workOrder] = " & "'" & [Screen].[ActiveControl] & "'"

所以现在它只匹配第一列(工单)。

我想修改此列表框以搜索[workOrder]和另一个名为[partNumber]的文本字段。

我试过了:

="[workOrder] = " & "'" & [Screen].[ActiveControl].[Column](0) & "'" AND "[partNumber] = " & "'" & [Screen].[ActiveControl].[Column](1) & "'"

但它不起作用。找到this但它也不起作用。

编辑以添加详细信息:

主要表格:查看工作单如何与左侧的选择匹配,但部件号不符。

enter image description here

列表框的更新后事件中的宏,其中包含访问向导创建的默认代码。 (CercaRecord = FindRecord)

enter image description here

1 个答案:

答案 0 :(得分:0)

不确定您在哪里使用您正在构建的表达式,但AND必须是字符串的一部分。

="[workOrder] = '" & [Screen].[ActiveControl].[Column](0) & "' AND [partNumber] = '" & [Screen].[ActiveControl].[Column](1) & "'"

如果workOrder是数字列,请移除第一部分周围的''

请注意语法着色如何显示字符串的一部分以及什么不是。