there are different ways to get to your desired record but I show you four of them.
First: (according to vb the fastest way)
make use of the vb-command SEEK. For example:
Dim rsList as recordset
Dim dbDName as database
Dim searchstring
Set dbDName = opendatabase(yourdatabase)
Set rsList = dbDName.openrecordset(yourtable)
rsList.Index = (name_of_your_index)
rsList.Seek "=", (searchstring)
If Not rsList.Nomatch then
'show record
Else
Msgbox "nothing found.."
End if
BTW: The index (name_of_your_index) MUST exist!
Second: (I don't really like this method)
Dim rsList as recordset
Dim dbDName as database
Dim searchstring
Set dbDName = opendatabase(yourdatabase)
Set rsList = dbDName.openrecordset(yourtable)
rsList.FindFirst "[field_you_want_to_search] = " & (searchstring)
If Not rsList.Nomatch then
'show record
Else
rsList.FindNext
End if
BTW: if your searchstring is Text then don't forget the quotes!
rsList.FindFirst "[field_you_want_to_search] = '" & (searchstring) _
& "'"
Third: (slow but sometime very handy)
Dim rsList as recordset
Dim dbDName as database
Dim searchstring
Set dbDName = opendatabase(yourdatabase)
Set rsList = dbDName.openrecordset(yourtable)
Do While Not rsList.EOF
'if yoursearchfield = 0 -> the first field
if rsList.Fields(0).Value = searchstring Then
'show record
endif
rsList.Movenext
Loop
Last way to find out is to make use of SQL:
Dim rsList as recordset
Dim dbDName as database
Dim searchstring
Dim SQL$
SQL$ = "SELECT * FROM " & (yourdatabase)
SQL$ = SQL$ & " WHERE " & (yoursearchfield) & " = " & searchstring
Set dbDName = opendatabase(yourdatabase)
Set rsList = dbDName.openrecordset(SQL$)
Do While Not rsList.EOF
'show record
rsList.Movenext
Loop
Return