【发布时间】:2021-06-04 06:19:01
【问题描述】:
我有一个表单 frmTagSearch,其中包含一个文本框 txtSearchTerm 一个搜索按钮 btnSearch 和一个子表单 subfrmTagQuery.
子表单是使用向导从预先存在的查询qryStakeholderTag 创建的。查询本身没有条件。
目的是使用txtSearchTerm 的值来让子表单显示qryStakeholderTag 中的那些记录,其中txtSearchTerm 值出现在任何组织、角色或通讯注释字段中。
我的代码如下(调试行是为了检查我有正确的引号)。在大多数情况下,这不会返回任何记录,尽管对于一个搜索词,查询确实会返回 3 条记录——不是“正确”的数字,但至少它似乎在做某事。
谁能告诉我这里哪里出错了?我几乎从另一个论坛复制了代码,它被标记为类似问题的答案。
Private Sub btnSearch_Click()
If Me.txtSearchTerm = vbNullString Then Exit Sub
Me.subfrmTagQuery.Form.RecordSource = "SELECT * FROM qryStakeholderTag WHERE Organisation LIKE '*" & Me.txtSearchTerm & _
"*' OR qryStakeholderTag.Role LIKE '*" & Me.txtSearchTerm & _
"*' OR qryStakeholderTag.[Comms Notes] LIKE '*" & Me.txtSearchTerm & "*'"
Debug.Print Me.subfrmTagQuery.Form.RecordSource
Me.subfrmTagQuery.Requery
End Sub
【问题讨论】:
-
我可能应该补充一点,subfrmTagQuery 有作为它的记录源 qryStakeholderTag,但我认为这应该在每次单击 btnSearch 时被代码覆盖......?
-
@HansUp 该行显示了我希望看到的记录源字符串,但由于它只是一个字符串,它可以真正显示任何内容。
标签: vba criteria ms-access-2016 subform