2009-06-24 8 views
0

Das hat mich fast 2 Wochen und ich weiß nicht, was ich sonst tun soll. Ich habe ein Hauptformular (UserSearch), das ein Unterformular (TestUserSub) hat. Die zugehörige Tabelle für beide Formulare ist tblusers. sehr einfach; Auf dem Hauptformular (UserSearch) habe ich ein ComboBox mit den Feldern in den Tbluser zB Cmbid, Cmbname, Cmbdept und so weiter. Alles, was ich möchte, ist, dass ein Benutzer eine Auswahl aus einer dieser Kombinationsfelder trifft und dass die zugehörigen Felder im Unterformular (TestUserSub) angezeigt werden. Ich habe mehrere verschiedene Versionen von Code in der After-Update-Ereignis in ein paar der ComboBoxen ausprobiert und nichts passiert im Unterformular oder in anderen Fällen erhalte ich eine Fehlermeldung. Ein Beispiel habe ich versucht, filtert einen SQL-Befehl ausgeführt wirdFilter Unterformular mit Combobox

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 

Die oben hat nicht funktioniert ... Kann mir jemand dabei helfen Sie mir bitte. Ich habe eine Beispieldatenbank, von der ich gearbeitet habe, und auf eine sehr seltsame Art und Weise haben sie es geschafft, dasselbe zu tun, ohne irgendeinen Code aufzurufen. Ist das möglich?

Antwort

0

konnte ich

unter dem Code mit der Probe, um herauszufinden,
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 

Hoffnung, das hilft.

+0

Stellen Sie sicher, dass dieser Code in das Afterupdate-Ereignis jeder Combobox im Hauptformular eingegeben wird. Es sollte das Unterformular auslösen, um entsprechend zu filtern – TT1611