Moin Gemeinde,
ich mal wieder.
Ich rufe eine Form auf und übergebe die gewünschte ID.
DoCmd.OpenForm "frmDateiUmbenennen", OpenArgs:=Me!ID
Da diese Form von mehreren anderen Formen benötigt wird wollte ich die Datensatzquelle zur Laufzeit festlegen.
Funkioniert aber leider nicht. Hier erstmal der Code dazu:
Private Sub Form_Load()
Select Case FormMerker
Case 1
Me.RecordSource = "tblKartenBilder"
Case 2
Me.RecordSource = "tblSonstigesBilder"
Case 3
Me.RecordSource = "tblNotizenBilder"
End Select
' Prüfen, ob eine ID übergeben wurde
If Not IsNull(Me.OpenArgs) Then
' Recordset-Klon erstellen, um die Suche durchzuführen
With Me.RecordsetClone
' Datensatz mit der übergebenen ID suchen (Anpassung bei Text-IDs nötig)
.FindFirst "ID = " & Me.OpenArgs
' Wenn der Datensatz gefunden wurde, das Formular darauf positionieren
If Not .NoMatch Then
Me.Bookmark = .Bookmark
End If
End With
End If
Debug.Print Me.RecordSource & " " & Bildpfad & " " & Me!ID
lblA.Caption = Bildpfad
'txtAlterDateiname.Value = Bildpfad
End Sub
Wenn ich die Datensatzquelle in den Eigenschaften auswähle funktioniert alles und der gewünscchte Datensatz wird angezeigt. Wähle ich die Datensatzquelle im FormLoad Ereignis aus wird der Datensatz nicht angezeigt.
Debug.Print zeigt dann zwar den richtigen RecordSource und ID an aber nicht den gewünschten Bildpfad.
Ich hoffe ihr konntet mir folgen.
Was mache ich falsch?
Wünsche allen ein schönes Wochenende
Jörg