我得到了一个非常简单的Sub,它是由Access窗体中的组合框运行的。组合框显示Products表中某列的所有值。根据该选择,应该使用其他值来填充此表单中的文本框。所以基础数据搜索案例。
Private Sub ComboProductNameSearch_AfterUpdate()
Dim rs As Object
Dim strSearchCriteria As String
Dim strSearchName As String
Set rs = Me.Recordset.Clone
strSearchName = Me!ComboProductNameSearch.Value
strSearchCriteria = "Product name like '" & strSearchName & "'"
MsgBox (Me.Recordset.RecordCount)
rs.FindFirst strSearchCriteria
If rs.NoMatch Then
MsgBox "Record not found"
Else
Me.Bookmark = rs.Bookmark
MsgBox "Record is found"
End If用户现在将选择一个产品,发生的情况是记录集为空。代码总是运行以记录因此而找不到的信息。如何访问正确的记录集?我的表单将使用查询来查找该表中的所有数据。查询起作用了。没有链接到任何其他表或查询。
Form_frmAddProduct.ComboProductNameSearch_AfterUpdate::strSearchCriteria:“类似'Vehicle,person car‘的产品名称”:String : Watch
Form_frmAddProduct.ComboProductNameSearch_AfterUpdate:+:ComboProductNameSearch:"Vehicle,person car“:Object/ComboBox : Watch
Form_frmAddProduct.ComboProductNameSearch_AfterUpdate::strSearchName:“车辆,人车”:String : Watch
发布于 2021-05-05 23:05:39
尝试使用:
strSearchCriteria = "[Product name] = '" & strSearchName & "'"或者,如果字段名称为Product
strSearchCriteria = "Product = '" & strSearchName & "'"此外,通常使用RecordsetClone:
Dim rs As DAO.Recordset
Dim strSearchCriteria As String
Dim strSearchName As String
Set rs = Me.RecordsetClone如果表单显示记录,那么RecordsetClone也会显示记录。
发布于 2021-05-06 20:16:03
在我的表单中,RecordSource是完全相同的表。
Private Sub ComboProductNameSearch_AfterUpdate()
Dim rs As DAO.Recordset
'Set rs = Me.Recordset.Clone
Set rs = Me.RecordsetClone
If rs.EOF Then
MsgBox ("EOF no records")
Else
rs.MoveLast
MsgBox ("Records found")
rs.MoveFirst
End If
MsgBox (Me.Recordset.RecordCount)仍然没有火,没有烟,EOF和0记录。
https://stackoverflow.com/questions/67403867
复制相似问题