【发布时间】:2015-07-22 07:12:27
【问题描述】:
我有一个绑定到查询的表单,除了一个未绑定的字段。这个想法是用户将在该文本框中输入一个值,然后按一个按钮来调出记录。我有一些我认为可以基于互联网工作的代码。当我使用DoCmd.ApplyFilter(filter_string) 时,我会弹出一个询问要过滤的值(这不是我想要的)。当我继续粘贴时,表格没有填写。当我使用Me.Form.Filter = filter_string 时,有时表格会填满,但总是使用相同的记录,而不管filter_string 说什么。一个例子filter_string 是
filter_string = "InventoryDetailsID = 'B01MFC000100/01'"
我有另一个类似的表单,它不是填充现有查询,而是生成查询(具有 5 个连接)并从结果记录集中填充表单。它工作得很好,但速度很慢,因为它每次都必须运行查询。这就是为什么我想使用一种方法,我生成一次查询,然后过滤它。
编辑
哦,我还尝试在每次运行查询方法中使用一种变体,在该方法中查询已生成的查询(我要过滤的查询)。我正在使用:
query_string = "SELECT * FROM qry_ISBN_All WHERE InventoryDetailsID LIKE '" & Me.InventoryDetailsID & "';"
但我收到错误 Run-time error '3061' Too few parameters, expected 1
编辑 II
Private Sub btn_Seek_Click()
Dim temp As String
filter_string = "InventoryDetailsID = '" & Me.InventoryDetailsID & "'"
Me.temp = filter_string
Me.FilterOn = True
Me.Form.Filter = filter_string
Me.FilterOn = True
'DoCmd.ApplyFilter (filter_string)
' Dim query_string As String
' query_string = "SELECT * FROM qry_ISBN_All WHERE InventoryDetailsID LIKE '" & Me.InventoryDetailsID & "';"
End Sub
给出了典型的过滤器字符串。它被打印到表单控件Me.temp。
【问题讨论】:
标签: forms ms-access ms-access-2013