Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: peter4400 am Februar 25, 2025, 09:30:17

Titel: Aktualisierungsproblem im Unterformular
Beitrag von: peter4400 am Februar 25, 2025, 09:30:17
Hallo,
ich habe in meiner "Sitzungsprotokoll-Datenbank" ein Unterformular, das die Teilnehmer anzeigt, als m:n-Relation, es gibt tblSitzung, tblTeilnehmer und tblTeilnehmerZuSitzung, auf letzterer basiert das Ufo.
Die Teilnehmer werden über ein Popup ausgewählt, per SQL eingefügt und dann das Ufo mit requery aktualisiert. Das funktioniert einwandfrei - bloß nicht bei neuen Datensätzen. Füge ich Datensatz 21 ein, speichere ihn, füge dann die Teilnehmer hinzu, zeigt er mir immer erst die von Datensatz 20 an. Trotz requery. Warum bloß?
Titel: Re: Aktualisierungsproblem im Unterformular
Beitrag von: peter4400 am Februar 25, 2025, 09:35:03
Ergänzung, das Hauptformular befindet sich selbst als Unterformular in einem Navigationsformular von Access...
Titel: Re: Aktualisierungsproblem im Unterformular
Beitrag von: peter4400 am Februar 25, 2025, 11:11:44
okay, das Einzige was hilft scheint zu sein


    lngBookmark = Forms!frmNavigation!Navigationsunterformular.Form.ID
    Forms!frmNavigation!Navigationsunterformular.Form.Recordset.MoveFirst
    Forms!frmNavigation!Navigationsunterformular.Form.Recordset.FindFirst "ID = " & lngBookmark

irgendwie unschön, aber läuft...
Titel: Re: Aktualisierungsproblem im Unterformular
Beitrag von: Knobbi38 am Februar 25, 2025, 13:25:20
Hallo Peter,

du liest die aktuelle ID aus, anschließend positionierst du wieder auf die gleich ID und das soll helfen?

Möglicherweise passt da etwas anderes noch nicht.

Gruß
Knobbi38
Titel: Re: Aktualisierungsproblem im Unterformular
Beitrag von: peter4400 am Februar 25, 2025, 14:19:47
zwischendurch gehe ich ja noch zurück auf den ersten Datensatz. Ich weiß halt nicht, wie ich sonst das blöde Formular dazu bewegen soll, die Daten im Unterformular zu aktualisieren. was man sonst so findet über requery, me.dirty und ein paar andere Sachen ... nichts hilft.
Titel: Re: Aktualisierungsproblem im Unterformular
Beitrag von: Knobbi38 am Februar 25, 2025, 15:25:12
Ich lehne mich mal ganz weit aus dem Fenster, aber da scheint mir etwas nicht ganz i.O. zu sein.

Titel: Re: Aktualisierungsproblem im Unterformular
Beitrag von: PhilS am Februar 25, 2025, 17:45:02
Zitat von: peter4400 am Februar 25, 2025, 14:19:47was man sonst so findet über requery, me.dirty und ein paar andere Sachen ... nichts hilft.
Du hast bei deinen Versuchen beachtet, dass, falls der Code im Hauptformular ist, du das Unterformular referenzieren musst?
Also:
Me.UnterformularSteuerelement.Form.Requery
Titel: Re: Aktualisierungsproblem im Unterformular
Beitrag von: peter4400 am Februar 26, 2025, 09:11:27
Zitat von: PhilS am Februar 25, 2025, 17:45:02Du hast bei deinen Versuchen beachtet, dass, falls der Code im Hauptformular ist, du das Unterformular referenzieren musst?
So einfach ist die Syntax leider nicht, wenn man ein Navigationssteuerelement verwendet, die Zeile lautet:
Forms!frmNavigation!Navigationsunterformular.Form!frmAnwesend.Form.Requery

Und sie funktioniert ja, bei meinen Testdatensätzen 1-30.
Sie funktioniert bloß nicht mehr, wenn ich auf "Neuer Datensatz" gehe, diesen speichere, so dass er eine Autowert-ID, hat, und dann die Teilnehmer einfügen will.
Titel: Re: Aktualisierungsproblem im Unterformular
Beitrag von: KonradR am Februar 26, 2025, 10:06:43
Hallo Peter 4400,

Zitat von: peter4400 am Februar 25, 2025, 11:11:44lngBookmark = Forms!frmNavigation!Navigationsunterformular.Form.ID
    Forms!frmNavigation!Navigationsunterformular.Form.Recordset.MoveFirst
    Forms!frmNavigation!Navigationsunterformular.Form.Recordset.FindFirst "ID = " & lngBookmark
aus deinem Code kann ich leider nicht erkennen, ob deine Datensatzquelle für den Recordset eine Abfrage oder eine Tabelle ist. Du schreibst zwar, dass das UFO seine Datensatzquelle von  Tabelle "tblTeilnehmerZuSitzung" bekommt, aber gleichzeitig schreibst du auch, dass du die Daten per SQL einfügst. Mit SQL kannst du die angezeigten Daten ja auch anpassen und dann ist es eine Abfrage. Bei Abfragen, so habe ich das aus einem Videokurs von Lorenz Hölscher auf Linkedin gelernt, muss bevor die Requery-Methode ausgeführt wird, erstmal zum letzten und dann zum ersten Datensatz gesprungen werden. Bei Tabellen brauchts das wohl nicht.
Titel: Re: Aktualisierungsproblem im Unterformular
Beitrag von: peter4400 am Februar 26, 2025, 10:35:22
ja, guter Hinweis, Datenquelle ist ein Join aus tblTeilnehmer und tblTeilnehmerZuSitzung, weil ich ja die Namen anzeigen will und nicht nur die Fremdschlüssel-Long-Werte... aber trotzdem funktioniert die Requery-Methode ja, bloß leider nur *fast* immer