组合框值如何与查询中的列值相匹配。 提供组合框记录源是表与查询记录值匹配的组合框值
我想这个代码,但它似乎没有任何工作的帮助表示赞赏
Private Sub open_button()
If Me.CboName.Value = "Query!Query_test!Column(0)" then
Docmd.OpenForm FormName:="Customer"
End if
End Sub
组合框值如何与查询中的列值相匹配。 提供组合框记录源是表与查询记录值匹配的组合框值
我想这个代码,但它似乎没有任何工作的帮助表示赞赏
Private Sub open_button()
If Me.CboName.Value = "Query!Query_test!Column(0)" then
Docmd.OpenForm FormName:="Customer"
End if
End Sub
你会通过查询需要循环,检查每个记录对组合框值:
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("Query_test", dbOpenSnapshot) 'Open Query as Snapshot
rs.MoveFirst
Do Until rs.EOF 'loop through the query
If rs.Fields(0).Value = Me.CboName.Value Then 'if column 0 matches Combobox
'do something and exit loop
DoCmd.OpenForm FormName:="Customer"
Exit Do
End If
rs.MoveNext 'next record
Loop
'cleanup
rs.Close
Set rs = Nothing
@gizimo谢谢你的答复,但我不知道如果Access将采取rs.MoveFirst,我没有尝试你的方法,并得到了一个编译错误:方法或数据成员不是找到rs.MoveFirst。 –
@AdityaIyer这很奇怪,对我来说它编译得很好。也许检查是否已经在引用错误消失后设置了“Microsoft Office XX.X Access数据库引擎对象库” – gizlmo
@gizmo的引用,现在我的运行时错误为“3601”:太少的参数期望值为2. –
是否要搜索此查询中的所有记录? – gizlmo
@gizimo只是在查询的第一列的记录 –