0

我有一个带有前端表单的 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,

现在我知道逻辑有问题了,请指导我一些逻辑,在那里我可以获得确切的值而不是类似的值。

提前致谢。

编辑显示通配符。

4

1 回答 1

0

如果您搜索的字段确实是数字,则摆脱 Like 运算符并使用 = 代替。那么你只会得到完整的比赛。

但是,我很惊讶在您的示例代码中没有使用通配符

Like '*" & YourFormRef
您的代码返回多个值...?

编辑:试试这个 - 它假设你的两个字段都是数字而不是文本。

Where condition = [Checklist_Number] = " & [Forms]![Verification Form]![txt_chk_no] & " AND 
[Row_Number] = " & [Forms]![Verification Form]![txt_row] 
于 2018-10-18T14:46:56.197 回答