Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: gsaccess am April 20, 2023, 14:32:56

Titel: Abfrage aktualisieren Basis Datumsfeld
Beitrag von: gsaccess am April 20, 2023, 14:32:56
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
Titel: Re: Abfrage aktualisieren Basis Datumsfeld
Beitrag von: Beaker s.a. am April 20, 2023, 15:31:13
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.
Titel: Re: Abfrage aktualisieren Basis Datumsfeld
Beitrag von: gsaccess am April 20, 2023, 20:20:32
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
Titel: Re: Abfrage aktualisieren Basis Datumsfeld
Beitrag von: Beaker s.a. am April 21, 2023, 15:53:37
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
Titel: Re: Abfrage aktualisieren Basis Datumsfeld
Beitrag von: gsaccess am April 24, 2023, 16:41:52
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?
Titel: Re: Abfrage aktualisieren Basis Datumsfeld
Beitrag von: Beaker s.a. am April 24, 2023, 21:20:43
Dies (https://www.donkarl.com?FAQ4.2) sollte dich auf die richtige Spur bringen.
Titel: Re: Abfrage aktualisieren Basis Datumsfeld
Beitrag von: gsaccess am April 25, 2023, 10:08:13
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.
Titel: Re: Abfrage aktualisieren Basis Datumsfeld
Beitrag von: DF6GL am Mai 01, 2023, 07:58:47
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

Titel: Re: Abfrage aktualisieren Basis Datumsfeld
Beitrag von: gsaccess am Mai 01, 2023, 15:49:53
Ich werde wohl den Aktualisierungsbutton drücken müssen.
Beim Einbau deines Codes kommt nun folgender Fehler: siehe Anlage.
Titel: Re: Abfrage aktualisieren Basis Datumsfeld
Beitrag von: DF6GL am Mai 05, 2023, 20:45:04
Hallo,

das Leerzeichen nach dem Ausrufezeichen ist falsch...