首页 > 解决方案 > 通过从列表中选择的项目更新查询 - 双击事件

问题描述

我有一个名为的表单ConsultaInfo,它显示LNome所有合作伙伴名称的列表 ( ),我想运行一个查询,它将从该列表中选择的合作伙伴名称中的所有其余信息带回同一表单。

在此处输入图像描述

我的意图是,当我双击合作伙伴名称时,ConsultaSocio将运行查询 (),从表中获取所选合作伙伴的所有其他个人信息Socios,然后这些信息将显示在同一表格的右侧。

因此,我想知道我怎样才能做到这一点。

标签: vbams-access

解决方案


有几种方法可以做到这一点,所有这些方法都假设除了在列表框中显示的名称之外,还有一个 ID 字段。

如果表单与查询绑定,则可以使用.RecordsetClone找到匹配的记录,然后设置表单的位置:

Private Sub lstName_DblClick(Cancel As Integer)
    On Error GoTo E_Handle
    Me.RecordsetClone.FindFirst "ID=" & Me!lstName
    Me.Bookmark = Me.RecordsetClone.Bookmark
sExit:
    On Error Resume Next
    Exit Sub
E_Handle:
    MsgBox Err.Description & vbCrLf & vbCrLf & "ConsultaInfo!lstName_DblClick", vbOKOnly + vbCritical, "Error: " & Err.Number
    Resume sExit
End Sub

另一种选择是将表单的 RecordSource 属性更改为仅具有该记录:


Private Sub lstName_DblClick(Cancel As Integer)
    On Error GoTo E_Handle
    Me.RecordSource = "SELECT * FROM Socio WHERE ID=" & Me!lstName
sExit:
    On Error Resume Next
    Exit Sub
E_Handle:
    MsgBox Err.Description & vbCrLf & vbCrLf & "ConsultaInfo!lstName_DblClick", vbOKOnly + vbCritical, "Error: " & Err.Number
    Resume sExit
End Sub

问候,


推荐阅读