Hallo Leute,
ich habe ein Problem mit der Findfirst Methode. Bei den ersten 600 Datensätzen funktioniert es, dass mir der unten stehende Code in einem neuen Bearbeitungsformular den Datensatz mit dem identischen Schlüsselfeld heraussucht, aber bei den letzten 30 Datensätzen (erst waren es nur die letzten 2) öffnet Access dann nur den Datensatz mit dem Schlüsselfeld = 1. Es folgt auch keine Fehlermeldung.
Der Code wird aus einem separaten Formular (einem rechten Steuerungsframe) ausgeführt und bezieht sich auf die momentan geöffnete „Maske“. DIese Maske ist ein HF mit 2 UFOs (1 als Endlos und 1 als Detailformular) in dem die Schlüsselfelder alle vorhanden sind. Das Detailfenster („SubFrame“) wird immer wieder mit dem Recordset vom Endlosformular („UFO1“) abgeglichen.
Private Sub PersonalBearbeiten_Click()
Dim a As Integer
a = Forms!fml_PersonalMaske!UFO1.Form.BN
'BN ist der Primärkey
DoCmd.Close
DoCmd.Close acForm, „fml_P_MA_MainFrame“
'Personalmaske und Bearbeitungsframe werden geschlossen
DoCmd.OpenForm „fml_Personal_Bearbeitung“, acNormal, „“, „“, , acNormal
Forms!fml_P_Bearbeitung.Recordset.FindFirst „BN=“ & a
End Sub