我在 MS Access 中创建了一个按表单查询。表格中的每个字段都有一个文本字段。我只用一个开始测试。该字段的查询条件是
Like "*" & [Forms]![MasterSearchForm]![KeyWords] & "*" Or [Forms]![MasterSearchForm]![KeyWords] is Null
该表单有一个带有 onclick 事件的按钮来打开查询。
如果在我单击按钮时查询已关闭,它将使用适当的条件打开查询。但是,如果我更改表单中的值,然后再次单击该按钮,则只会出现旧结果。如果我手动执行查询,那么它确实会从表单中吸取数据。为什么每次都需要关闭查询?如何使按钮运行查询,而不仅仅是关注查询选项卡?
Private Sub Run_Click()
On Error GoTo Run_Click_Err
DoCmd.OpenQuery "QueryFromMasterSearch", acViewNormal, acReadOnly
Run_Click_Exit:
Exit Sub
Run_Click_Err:
MsgBox Error$
Resume Run_Click_Exit
End Sub
您需要添加:
就在您打开查询之前。
因此,您的代码变为:
On Error Resume Next
如果查询窗口实际上没有打开,该位告诉 Access 不要担心。如果您忽略了它,并且没有打开查询窗口,则代码会吐出一个错误。