Datensatznummer ermitteln

Hallo,

ich möchte einen Datensatz aus einem Listenfeld auswählen und diesen
im gleichen Formular anzeigen. Meine Lösung läuft nicht fehlerfrei
(es wird die falsche Datensatznummer ermittelt) und braucht sehr viel
Rechenzeit:

Private Sub Liste1_DblClick(Cancel As Integer)

Dim db As Database, rs As Recordset, i As Integer

Set db = CurrentDb
Set rs = db.OpenRecordset(„Tabelle1“)

i = 1 'Datensatznummer ermitteln
rs.MoveFirst
Do Until rs.EOF = True
If rs![Kekse] Like Me.Liste1.Column(0) Then
DoCmd.GoToRecord acDataForm, „Formular1“, acGoTo, i
Exit Do
End If
rs.MoveNext
i = i + 1
Loop

Abfrage1_Unterformular1.Requery 'Aktualisieren der Unterformulare
Abfrage2_Unterformular2.Requery

End Sub

Kann mir jemand helfen?

Vielen Dank

Wiebke Burdin (Dokumentarin)

Vielleicht hilft Dir das:

Private Sub IDSuche\_AfterUpdate()
 If Not IsNull(Me.IDSuche) Then
 Me.RecordsetClone.FindFirst "ID=" & Me.IDSuche 
 Me.Bookmark = Me.RecordsetClone.Bookmark
 Me.IDSuche = Null
 End If
End Sub

Vorsicht bei gesetzten Filtern!

pp

So sollte es gehen:

Dim RS as DAO.Recordset
Set RS = Me.Recordsetclone
RS.Findfirst "Kekse = '" & Me!Liste1.Column(1) & "'" ' wenn es sich um ein Textfeld handelt
'RS.Findfirst "Kekse = " & Me!Liste1.Column(1) ' wenn es ein ganzzahliges Feld ist!
If Not RS.Nomatch then Me.Bookmark = RS.Bookmark
RS.Close

… wobei ein Kombifeld eigentlich besser als ein Listenfeld geeignet ist…

Gruß aus dem Norden
Reinhard Kraasch
http://www.kraasch.de