2013-10-15 27 views
0

我從其中一位同事借用另一個Access數據庫的一些代碼,通過從單獨的「人員」表中搜索來簡單搜索綁定到子表單的表。我在語法上有點生疏,所以我不確定如何更正代碼以使其適用於我的程序。Combobox搜索所有匹配記錄的子表格

因此,一旦從組合框中選擇了一個人,它應該在「車輛」表中搜索「所有者」字段中的所有匹配記錄並顯示它們。

Private Sub Form_Open(Cancel As Integer) 
    Combo0.SetFocus 
End Sub 

Private Sub Combo0_AfterUpdate() 

    ' Find the record that matches the control. 
    Dim rs As DAO.Recordset 

    Set rs = Me.Recordset.Clone 
    rs.FindFirst "[Owner.vehicles] = '" & Str(Nz(Me![Combo0], 0)) & "'" 
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark 

    Forms!frmVehReg!subFrmVehReg.SetFocus 

    Forms!frmVehReg!subFrmVehicles.Form!Make.SetFocus 


End Sub 

回答

2

您可以更改記錄源或子窗體的篩選器。 要過濾(我假設在車輛的表,你有一個字符串類型的字段擁有者):

Forms!frmVehReg!subFrmVehicles.Form.Filter = "Owner = '" & Str(Nz(Me![Combo0], 0)) & "'" 

要更改記錄來源:

Forms!frmVehReg!subFrmVehicles.Form.RecordSource = "Select * from vehicles where Owner = '" & Str(Nz(Me![Combo0], 0)) & "'" 
相關問題