vba - 子表单多条件查询不起作用?
问题描述
我有一个表单 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
解决方案
昨晚我有尤里卡/d'oh 时刻。子表单所基于的查询有两个源表,Stakeholders
并且Organisations
. Stakeholders
有一个链接到的查找字段Organisations!Organisation
;我已将该Stakeholders!Organisation
字段拉入查询,因此 RecordSource 试图在仅包含查找 ID 索引的字段中查找搜索字符串。我的辩护,除了有点慢,当然是查询显示预期的文本。
修改查询设计以包含该Organisations!Organisation
字段已解决该问题。:)
推荐阅读
- php - 错误 - 在 laravel 中从数据库中获取数据时找不到驱动程序
- vba - Do While 循环:没有执行错误的循环
- jquery - 循环 SkewX 增加和减少
- php - 在 Guzzle POST 请求中使用 cookieJar 发送 cookie 不起作用
- android - 谷歌地图在安卓设备上找不到路线
- php - Codeigniter 获取两个日期的差值
- c++ - 对于 ~95% 写入/5% 读取线程安全无序映射,是否有一个简单的解决方案?
- jestjs - 用 Jest 处理 process.exit(1)
- css - 如何为不同的插槽设置不同的样式?
- internet-explorer-11 - Material-UI 下拉菜单在 IE11 中导致错误