geänderte Daten werden im Unterformular nicht aktualisiert

Moderator: ModerationP

geänderte Daten werden im Unterformular nicht aktualisiert

Beitragvon tornadogirlHH » 09. Mai 2021, 09:55

Hallo,

ich stehe vor einer Situation, die ich nicht gelöst bekomme und hoffe auf Eure Hilfe.

Folgende Situation:
Ich habe ein Hauptformular(frm_Haupt). Dort habe ich ein Navigationsformular(ufo_nav_haupt). Wo ich in unterschiedliche Formulare halt springe. Unteranderem habe ich dort ein Reiter für Einstellungen(nav_setting).
In diesem Formular(frm_setting_haupt) habe ich auch ein Navigationsformular(ufo_nav_setting). Auch hier kann ich in andere Formulare springen. Im Moment arbeite ich an dem Reiter Mitarbeiter(mitarbeiter).
Hier werden mir alle Mitarbeiter angezeigt. Endlosformular(frm_setting_mitarbeiter_all). Bei jedem Mitarbeiter habe ich ein Button(mitarbeiter_detail) erstellt, welches mir ein neues Formular(frm_setting_mitarbeiter_detail) öffnet.
In diesem Formular kann ich alle Daten sehen, die ich sehen möchte. Ich kann sie auch Ändern und wenn ich das Fenster schliesse, fragt er mich, ob ich die Änderung speichern soll, oder nicht. Die geänderten Daten werden auch per Me.Requery nach Bestätigung auch in dem Endlosformular aktuallisiert.

Soweit ganz gut, aber das funktioniert leider nur, wenn ich das Formular(frm_setting_mitarbeiter_all) seperat öffne und von dort aus das Detail öffne.
aus dem Unter-Unterformular macht er das nicht.

Ich denke, ich muss das Me.Requery irgend wie in forms... etc anpassen, aber ich bekomme es einfach nicht hin.

Was kann ich da machen?

LG
tornadogirlHH
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 6
Registriert: 09. Mai 2021, 09:32

Re: geänderte Daten werden im Unterformular nicht aktualisie

Beitragvon Beaker s.a. » 09. Mai 2021, 15:32

Hallo,
"Me." bezieht sich immer auf das Formular/Modul in dem der Code abläuft.
Um ein UFo auf einem HFo des Navi-Forms zu aktualisieren, musst du die
gesamte Referenz auf das zu aktualisierende UFo, angefangen mit dem
Navi-Form dem .Requery voranstellen.
Beachte, dass dein HFo bereits ein UFo des Navi-Forms ist.
Näheres findest du hier http://www.donkarl.com?FAQ4.2.

gruss ekkehard
Ereignisorientierte Programmierung:
Alles, was geschieht, geschieht.
Alles, was während seines Geschehens etwas anderes geschehen
läßt, läßt etwas anderes geschehen.
Alles, was sich selbst im Zuge seines Geschehens erneut geschehen
läßt, geschieht erneut.
Beaker s.a.
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 1136
Registriert: 14. Jul 2012, 21:56
Wohnort: Bremen

Re: geänderte Daten werden im Unterformular nicht aktualisie

Beitragvon tornadogirlHH » 09. Mai 2021, 19:22

Hallo Beaker s.a.,

danke für Deine Antwort.
Ich habe mir das mal angesehen und irgendwie dreht es sich bei mir im Kopf.
Um klein anzufangen, habe ich frm_setting_haupt als Haupt gestarten.
Also:
Code: Alles auswählen
Private Sub Form_Dirty(Cancel As Integer)
   Forms!frm_setting_haupt!ufo_nav_setting.Form!mitarbeiter 'klappt so noch nicht
   'Me!Request 'Ohne Unterformular geht es so.
End Sub

Hier bekomme ich ein Fehler beim Kompilieren: Syntaxfehler. Oder Erwartet: =
Ich habe gadacht, das es der richtige ansatz ist, denn der Punkt mit Me!... bezieht sich wohl darauf, wenn ich bereits den Focus auf das Hauptformular habe und von dort tiefer in die Formulare gehe. Oder muss ich das so angehen?
Geht das denn überhaupt auch so, wenn frm_setting_mitarbeiter_detail sich nicht im Unterformular befindet? Denn ich öffne dieses Formular ja nicht im unterformular, sondern gesondert. Ist das relevant zu wissen?
Oder gehe ich mit setfocus stück für stück durch?
tornadogirlHH
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 6
Registriert: 09. Mai 2021, 09:32

Re: geänderte Daten werden im Unterformular nicht aktualisie

Beitragvon Gast » 10. Mai 2021, 12:46

versuch mal: Forms!frm_setting_haupt!ufo_nav_setting.Form.requery
Gast
 

Re: geänderte Daten werden im Unterformular nicht aktualisie

Beitragvon tornadogirlHH » 10. Mai 2021, 15:48

Hallo,

ja, das klappt so. Aber nicht mehr, wenn ich die Datenbank von frm_Haupt starte.

Ich habe das mal so probiert:
Code: Alles auswählen
Forms!frm_Haupt!ufo_nav_haupt!frm_setting_haupt!ufo_nav_setting.Form.Requery


Hier bekomme ich ein Laufzeitfehler: 2465
Microsoft Access kann in Ihrem Ausdruck angesprochene Feld 'frm_setting_haupt nicht finden.

Jemand noch eine Idee?
tornadogirlHH
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 6
Registriert: 09. Mai 2021, 09:32

Re: geänderte Daten werden im Unterformular nicht aktualisie

Beitragvon Bitsqueezer » 10. Mai 2021, 16:22

Hallo,

das wäre dann:

Code: Alles auswählen
Forms!frm_Haupt!ufo_nav_haupt.Form!ufo_nav_setting.Form.Requery


Solche Rattenschwanz-Referenzen sollte man vermeiden. Getreu dem Prinzip, jedes Objekt ist nur für sich selbst verantwortlich, laß jedes Objekt seine eigenen Controls selbst aktualisieren.

Am besten eine Public Sub in "frm_Haupt" erstellen, die selbst ihr eigenes UFO aktualisiert, und zwar, indem auch dort wieder eine Public Sub aufgerufen wird und diese bestimmt dann, was in wiederum ihrem Zuständigkeitsbereich aktualisiert werden soll, usw. bis ganz nach unten.

So muß man nur dem Hauptformular sagen, was es tun soll und man muß sich nicht um Benennungen von Controls oder ellenlange Referenzen kümmern, die Bestandteil von untergeordneten Objekten sind.

Warum aktualisierst Du in "Form_Dirty"? Der Event wird aufgerufen, sobald der Datensatz verändert wird.

Gruß

Christian
Bitsqueezer
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 8276
Registriert: 21. Jun 2007, 12:17

Re: geänderte Daten werden im Unterformular nicht aktualisie

Beitragvon tornadogirlHH » 10. Mai 2021, 17:51

Hey, vielen Dank. So funktioniert es.
Vielen Dank für die Hilfe.

Auch vielen Dank für den Rat. Auch wenn ich noch nicht weiß, wie ich es umsetze. :-)
Aber es klingt aufjedenfall gut.
tornadogirlHH
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 6
Registriert: 09. Mai 2021, 09:32


Zurück zu Access Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: andyfau und 2 Gäste