Ich habe ein Formular(frmStundenanzeige) mit zwei Unterformularen. (siehe Bild)
Im oberen Unterformular(frm_qry_tStunden_AktuellerArbeitstag) werden die Stundendetails zu einem Arbeitstag dargestellt.
Im unteren Unterformular(frm_qry_Arbeitstage) kann der jeweils aktuelle Tag für die Bearbeitung ausgewählt werden.
Ich habe auch ein Feld im Formular für "Ausgewähltes Datum" eingefügt =[frm_qry_Arbeitstage].[Formular]![Arbeitstag]. Dieses wird immer automatisch aktualisiert, wenn ein Tag ausgewählt wird.
Leider muss ich immer auf den Aktualisierungsbutton klicken damit die Daten im oberen Unterformular aktualisiert werden. Code: Me.frm_qry_tStunden_AktuellerArbeitstag.Requery
Obwohl in der Abfrage des oberen Formulars beim Kriterium der Arbeitstag vom unteren Formular hinterlegt ist:
[frm_qry_Arbeitstage].[Formular]![Arbeitstag]
Ich habe auch versucht beim Feld mit dem aktuellen Datum nach Aktualisierung den Button Aktualisieren mit call anzusprechen. Das obere Unterformular wird aber nicht automatisch aktualisiert.
Warum wird das obere Unterformular nicht aktualisiert, egal ob ich beim Feld "Ausgewähltes Datum" (Bei Geändert, Nach Aktualisierung,..) den Code Me.frm_qry_tStunden_AktuellerArbeitstag.Requery hinterlege.
Was mache ich hier falsch?
LG Günther
Triggere dein Requery in der AfterUpdate-Prozedur des UFo bzw. des Textfeldes (s.u.).
Zitatden Code Me.frm_qry_tStunden_AktuellerArbeitstag.Requery hinterlege.
Falsche Referenz
Me.frm_qry_tStunden_AktuellerArbeitstag.Form.Requery
(unter der Voraussetzung, dass UFo und eingebettes Formular den gleichen Namen haben, -
siehe auch https://www.donkarl.com?FAQ4.2 (https://www.donkarl.com?FAQ4.2))
Zitatden Button Aktualisieren mit call anzusprechen
Das macht man nicht, Ereignisprozeduren werden nur durch das Eintreten des entsprechenden
Ereignisses ausgelöst. Da kannst du das .Requery doch auch direkt auslösen.
Vielen Dank für die rasche Hilfe.
Wenn ich das Me.frm_qry_tStunden_AktuellerArbeitstag.Form.Requery beim Verlassen des Formulars oder auf den Button (Aktualisieren) beim Klicken lege funktioniert es problemlos.
Das Feld"Ausgewähltes Datum" (=([frm_qry_Arbeitstage].[Formular]![Arbeitstag]) wird aufgrund der Auswahl im Unterformular aktualisiert. Aber das Me.frm_qry_tStunden_AktuellerArbeitstag.Form.Requery bei after update des Feldes reagiert nicht.
LG Günther
ZitatDas Feld"Ausgewähltes Datum" ... wird aufgrund der Auswahl im Unterformular aktualisiert. Aber das Me.frm_qry_tStunden_AktuellerArbeitstag.Form.Requery bei after update des Feldes reagiert nicht.
Dadurch wird "AfterUpdate" nicht ausgelöst. Aber an der Stelle, an der du das
Feld aktualisierst kannst du doch auch das .Requery auf das UFo auslösen. Von
da (unteres UFo) musst du allerdings über das HFo (Parent) referenzieren
Me.Parent.NameDesUFoControls.Form.Requery
Danke für die Rückmeldung, aber ich bin in vba nicht so gut.
Ich habe deinen Code im Unterformular in dem das Datum eingegeben wird (dieses wird ja immer angeklickt, wenn eine Auswahl erfolgt), wie folgt eingegeben:
Me.Parent.frm_qry_tStunden_AktuellerArbeitstagControls.Form.Requery
Dann kommt die Fehlermeldung: Laufzeitfehler 2465 Anwendungs- oder objektorientierter Fehler.
Was mache ich hier noch falsch?
Dies (https://www.donkarl.com?FAQ4.2) sollte dich auf die richtige Spur bringen.
Hilft mir leider nicht weiter, da es nur um den Verweis zw. HF und UF geht.
Ich stehe aber im HF und aktualisiere dieses mit me.require
Dann kommt die Fehlermeldung, da der Datensatz ja richtigerwiese gelöscht ist.
Es geht also nur um die Unterdrückung der Fehlermeldung.
Hallo,
Im Hauptformular: Feld "Ausgewählter Arbeitstag" : Steuerelemeninhalt leer
und im 2. Unterform:
Sub Form_Current ()
Me.Parent![Ausgewählter Arbeitstag] = Me!Arbeitstag
End Sub
und evtl. zusätzlich:
Sub Arbeitstag_AfterUpdate()
Me.Parent![Ausgewählter Arbeitstag] = Me!Arbeitstag
End Sub
Ich werde wohl den Aktualisierungsbutton drücken müssen.
Beim Einbau deines Codes kommt nun folgender Fehler: siehe Anlage.
Hallo,
das Leerzeichen nach dem Ausrufezeichen ist falsch...