Есть несколько способов сделать это, каждый из которых предполагает, что в дополнение к имени, отображаемому в окне списка, есть также поле идентификатора.
Если форма связана с запросом, затем вы можете использовать .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
С уважением,