我有一个带有前端表单的ms访问数据库,供用户搜索特定记录并相应地更新它们。
我的前端表单包含两个用于搜索的文本框,第一个获取清单编号,第二个获取该清单上的行号。
我有一个按钮,通过使用"构建事件",我应用了如下逻辑:
Where condition = [Checklist_Number] Like "*" & [Forms]![Verification Form]![txt_chk_no] & "*" AND [Row_Number] Like "*" & [Forms]![Verification Form]![txt_row] & "*"
它在某些情况下工作正常,但在所有情况下都无法正常工作。 例如,当我键入 1 和 1 时,它会将我带到清单编号 1 和行编号 1。这很好。
但是当我输入 1 和 2 时,它会带我进入清单第 12 行和第 22 行。
我认为因为 12 和 22 包含 1 和 2,
现在我知道逻辑有问题,请指导我一些逻辑,我可以得到确切的值而不是类似的值。
提前谢谢。
已编辑以显示通配符。
如果您搜索的字段确实是数字,那么请去掉 Like 运算符并使用 = 代替。然后你只会得到完整的匹配。
但是,我很惊讶在您的示例代码中没有使用通配符
Like '*" & YourFormRef
您的代码返回多个值... ?
编辑:试试这个 - 它假设你的两个字段都是数字而不是文本。
Where condition = [Checklist_Number] = " & [Forms]![Verification Form]![txt_chk_no] & " AND
[Row_Number] = " & [Forms]![Verification Form]![txt_row]