Wieder mal aktualisierung im UF (mal anders...)

Hallo verehrte IT-Gemeinde von wer-weiss-was. Nachdem ich nun schon das I-Net abgegrast habe und mein Problem noch immer nicht gelöst wurde hoffe ich, dass ihr mir helfen könnt.

Ich habe ein Formular mit 2 UF. In das UF1 schreibe ich eine Zahl. Diese wird in einer Abfrage mit einer anderen Zahl addiert. Im UF2 sollte diese addierte Zahl stehen. Dies funktioniert nur insofern, alsdass bei Wechsel und Rückwechsel des Datensatzes das richtige Ergebnis da steht, aber nicht bei der direkten Eingabe.

Ich habe sowohl

Private Sub Form_AfterUpdate()
Me![Name des Unterformulars].Requery
End Sub

und bei scheitern auch

Private Sub Form_AfterUpdate()
Me![Name des Unterformulars].Form.Requery
End Sub

im Datenfeld des UF1 (wo ich die Zahl eingebe) einzugeben.
Ebenso hab ich es im in Eigenschaften des UF1 bei verlassen eingegeben. Sogar im UF2 vor aktualisieren, was a schmarrn is aber irgendwo hab ichs gegoogelt und hat auch nicht funktioniert.

Leider bin ich ein Newbie (was man wohl an der Frage sieht), aber ich habs leider nicht geschaft. Nunmehr hoffe ich auf Eure werte Hilfe.

Danke schön im voraus Euer

Lionking

Hallo,

Ich habe ein Formular mit 2 UF. In das UF1 schreibe ich eine
Zahl. Diese wird in einer Abfrage mit einer anderen Zahl
addiert. Im UF2 sollte diese addierte Zahl stehen. Dies
funktioniert nur insofern, alsdass bei Wechsel und Rückwechsel
des Datensatzes das richtige Ergebnis da steht, aber nicht bei
der direkten Eingabe.

Ich habe sowohl

Private Sub Form_AfterUpdate()
Me![Name des Unterformulars].Requery
End Sub

und bei scheitern auch

Private Sub Form_AfterUpdate()
Me![Name des Unterformulars].Form.Requery
End Sub

Mhmm, es hakt hier am Konzept der Datenverarbeitung…

Ohne jetzt näher auf diese Art von Berechnung einzugehen, kannst Du Folgendes versuchen:

Private Sub Eingabefeld_Afterupdate()
Runcommand accmdSaveRecord
Me![Name des Unterformulars].Form.Requery
End Sub

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

Vielen Dank für deine Antwort lieber Franz,df6gl

Hab deine Zeilen in VBA im Eingabefeld eingegeben, aber als Resultat folgenden Fehler erhalten:

Laufzeitfehler 2456
Microsoft Access kann das in ihrem ausdruck angesprochene Feld ‚07_XYZ_subform‘ nicht finden.

Im absoluten Notfall hab ich eine Befehlsschaltfläche mit aktualisieren eingefügt, ist aber leider nur eine sehr ungünstige, weil nicht benutzerfreundliche methode.
Ich weiß, dass mein Weg nicht optimal ist. Kannst du mir nur in stichworten aufschreiben, wie du mein Problem anders gelöst hättest?

Danke vielmals für deine Bemühungen

Lionking

Hallo,

naja, vermutlich ist die Struktur des Form mit den Unterforms nicht so klar.

Wenn es im Hauptform zwei UFO-Steuerelemente (mit Namen „UF1“ und „UF2“) gibt und die Eingabe in einem Textfeld in dem Formularn(„frmFormU1“) passiert, das mittels „UF1“ angezeigt wird und damit die Anzeige in einem Form („frmFormU2“) erfolgen soll, das mit „UF2“ dargestellt wird, dann sollte der Code im „frmFormU1“ stehen und so lauten:

Private Sub Eingabefeld_Afterupdate()
Runcommand accmdSaveRecord
Me.Parent!U2.Form.Requery
End Sub

Sorry für die etwas pompöse Beschreibung, aber es muß zwischen dem UFO-Steuerelement-NAMEN und dem damit angezeigten Formular-NAMEN unterschieden werden.

Wenn zwei UFOs „parallel“ sich in einem Hauptform befinden, so kann aus dem 1. UFO heraus auf das zweite nur über den „Umweg“ über das Hauptform (Me.Parent) zugegriffen werden.

Zur „anderen Problemlösung“ kann ich nichts sagen, weil ich das Konzept für die DB nicht kenne. Grundsätzlich ist aber eine „Eingabe“ und Berechnung über Formulargrenzen hinweg wie in diesem Fall stark „querlastig“.

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

1 Like

DANKE!!!
Danke,Danke,Danke! Es funktioniert! Einwandfrei!
Ich hab ewig lang gebraucht um deinen Tip zu verstehen, aber nach dem 10(od. eher 20x) durchlesen hab ichs verstanden.
DANKE lieber Franz,

Dein DAU

Lionking