Combobox 使用组合框筛选子窗体

Combobox 使用组合框筛选子窗体,combobox,filter,subform,Combobox,Filter,Subform,这花了我将近两周的时间,我不知道还能做什么。我有一个主窗体(UserSearch),它有一个子窗体(TestUserSub)。两种表单的关联表都是tblusers。 很简单,;在主窗体(UserSearch)上,我有一个与tblusers中的字段关联的组合框,如cmbid、cmbname、cmbdept等。我只希望用户从这些组合框中进行选择,并在子表单(TestUserSub)中显示相关字段。我在几个组合框中的“更新后”事件中尝试了几个不同版本的代码,但在子窗体或其他实例中没有发生任何事情,我收

这花了我将近两周的时间,我不知道还能做什么。我有一个主窗体(UserSearch),它有一个子窗体(TestUserSub)。两种表单的关联表都是tblusers。 很简单,;在主窗体(UserSearch)上,我有一个与tblusers中的字段关联的组合框,如cmbid、cmbname、cmbdept等。我只希望用户从这些组合框中进行选择,并在子表单(TestUserSub)中显示相关字段。我在几个组合框中的“更新后”事件中尝试了几个不同版本的代码,但在子窗体或其他实例中没有发生任何事情,我收到了错误消息。 我尝试过的一个例子是运行SQL命令进行筛选

Private Sub cmbid_AfterUpdate()

    Dim strSQL As String

    If IsNull(Me.cmbaccess) Then
        Me.RecordSource = "tblusers"
    Else
        strSQL = "SELECT tblUsers.[Team Member_ID] FROM tblUsers " & _
             "WHERE (((tblUsers.[Team Member_ID])= " & [form_testusersub].[txtid2]))& ";"       
        Me.RecordSource = strSQL
    End If

End Sub

上面的方法不起作用。。。谁能帮我一下吗。我有一个我一直在使用的示例数据库,通过某种非常奇怪的方式,他们在不调用任何代码的情况下完成了同样的工作。这可能吗

使用下面的示例,我能够理解代码

Private Sub yourcombobox_AfterUpdate()
    Dim LSQL  As String

    If IsNull(Me.yourcombobox.Value) Then
        Form_yoursubform.RecordSource = "tablename"
        Me.yoursubform.Requery
        requerysubform 'macro to requery the whole form
    Else
        LSQL = "select * from tablename"
        LSQL = LSQL & " where field= '" & yourcombobox & "'"

        Form_yoursubform.RecordSource = LSQL
        requerysubform 'macro to requery the whole form

    End If
End Sub

希望这有帮助

确保在主窗体中每个组合框的afterupdate事件中输入此代码。它应该触发子窗体进行相应的筛选