Vba 要与查询记录值匹配的组合框值

Vba 要与查询记录值匹配的组合框值,vba,ms-access,combobox,Vba,Ms Access,Combobox,组合框值如何与查询中的列值匹配。 前提是combobox记录源来自表 我试过这个代码,但它似乎不工作,任何帮助是感激的 Private Sub open_button() If Me.CboName.Value = "Query!Query_test!Column(0)" then Docmd.OpenForm FormName:="Customer" End if End Sub 您需要循环查询并根据combobox值检查每条记录: Dim rs As DAO.Recor

组合框值如何与查询中的列值匹配。 前提是combobox记录源来自表

我试过这个代码,但它似乎不工作,任何帮助是感激的

Private Sub open_button()
  If Me.CboName.Value = "Query!Query_test!Column(0)" then 

    Docmd.OpenForm FormName:="Customer"
  End if
End Sub

您需要循环查询并根据combobox值检查每条记录:

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仅搜索该查询第一列中的记录query@gizimo感谢您的回复,但我不确定Access是否会采用rs.MoveFirst,我确实尝试了您的方法,但得到了一个编译错误:未找到rs.MoveFirst的方法或数据成员。@AdityaIyer这很奇怪,对我来说,它编译得很好。可能需要检查是否已设置对Microsoft Office XX.X Access数据库引擎对象的引用Library@gizmo在引用刚刚消失的错误后,现在我有一个运行时错误“3601”:参数太少,预期为2。@AdityaIyer在哪一行发生?@gizimo:Set rs=CurrentDb.OpenRecordsetQuery\u test,dbOpenSnapshot这一个会突出显示