【问题标题】:Combobox searches subform for all matching records组合框搜索所有匹配记录的子表单
【发布时间】:2013-10-15 16:59:11
【问题描述】:

我从我的一位同事那里借用了另一个 Access 数据库的一些代码,通过从单独的“人员”表中搜索来简单地搜索绑定到子表单的表。我对语法有点生疏,所以我不确定如何更正代码以使其适用于我的程序。

因此,一旦从组合框中选择了一个人,就应该在“车辆”表中的“所有者”字段中搜索所有匹配的记录并显示它们。

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

【问题讨论】:

    标签: mysql ms-access combobox vba subform


    【解决方案1】:

    您可以更改记录源或子表单的过滤器。 过滤(我假设在车辆表中你有一个字符串类型的字段 Owner):

    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)) & "'"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-15
      • 2014-07-04
      • 2015-05-01
      相关资源
      最近更新 更多