Hallo,
ich habe ein Problem in folgender Situation:
1 Hauptformular (Gefahrstoff-Detail-Informationen)
1 Unterformular (Auflistung aller u.U. gefilterter Datensätze)
Wenn ich in dem Unterformular (Datenblattansicht) einen Datensatz anklicke, möchte ich alle relevanten Informationen in dem Hauptformular (Einzelnes Formular) anzeigen.
Hierfür verwende ich die Recordsetclone und Bookmark Methode.
Das funktioniert soweit auch problemlos, allerdings nur so lange bis ich durch Auswahl eines Filterkriteriums die Datensatzherkunft des Unterformulars ändere. Filtermöglichkeiten bestehen über ein Dropdown, eine Optionsgruppe und eine Wildcardsuche über 3 Felder.
Der Aufbau (Felder, Feldnamen, etc.) der dem Unterformular zugrunde liegenden Abfrage bleibt bis auf ein zusätzliches Filterkriterium unverändert.
z.B.
1. Abfrage_Alle_Gefahrstoffe
2. Abfrage_Alle_Gefahrstoffe_eines_Anwenders
Möchte ich nun (nach dem Filtern/Ändern der Datensatzherkunft des UF) durch Klicken auf ein Feld im Unterformular den Datensatz wechseln erhalte ich folgende Fehlermeldung:
"Access kann das in Ihrem Ausdruck angesprochene Feld '|' nicht finden"
Entferne ich den Filter wieder, können die Datensätze auch direkt wieder gewechselt werden.
Benutze ich die Standardfilterfunktionen von Access in meinem Unterformular (über rechte Maustaste, z.B. "Auswahlbasierter Filter") kann ich ebenfalls problemlos zwischen den Datensätzen hin und her springen.
Hier mein verwendeter Quellcode zum Wechseln der Datensätze:
Dim rs As dao.Recordset
Set rs = Forms!frm_gefahrstoffe.Form.RecordsetClone
rs.FindFirst "ID = " & Me.ID
If Not rs.NoMatch Then
Forms!frm_gefahrstoffe.Form.Bookmark = rs.Bookmark
End If
Set rs = Nothing
Kennt jemand eine Möglichkeit meinen Filter (Hinterlegen unterschiedlicher Abfragen als Datensatzherkunft für das Unterformular) zu verweden und das Wechseln zwischen den Datensätzen zu ermöglichen?!
Vielen Dank im Voraus!
MfG
Torben