PDA

Vollständige Version anzeigen : Me.recalc => muss ich das verstehen ?


bembola
18.10.2001, 10:04
Hallo,
habe folgende Frage!


HF mit UF(endlos)

Im Unterformular habe ich ungebundenes Feld mit Summe1=Summe([Feld1 + ...+Feldn]). Zusätzlich im UFkopf SummeUF = Summe([Summe1]). Diese Summe zeige ich auch im HF SummeHF = SummeUF an.

Beide SummeUF + SummeHF werden aber nur bei Satzwechsel im UF aktualisert.
Dies wollte ich ändern. Dazu habe ich bei Ereignis Änderung Summe1
über VBA Me.Recalc versucht. hat aber nicht geklappt !!! Summe 1 ändert sich zwar bei änderung Feld 1 - n aber nicht SummeUF.

Warum ?

Um das Problem zu lösen habe ich bei Fokusverlust bei Feld1 - n Me.recalc codiert.

das funktioniert zwar aber der Focus bleibt dann immer auf dem jeweiligen Feld stehen. Musste zusätzlich Feldi+1.setfocus codieren.

Hat jemand eine Erklärung bzw. ist das die einzige Lösung um die Aktualisierung zu gewährleisten.


für eine Antwort wäre ich sehr dankbar.

Gruß
Bembola

Hütti
18.10.2001, 11:04
versuch mal im hf nicht recalc sondern REQUERY.
wenn ich die hilfe richtig verstanden habe, dan bezieht sihc recalc immer nur auf das aktuelle objekt. daher auch dein problem mit dem focus.
mit DOCMD.REQUERY Objekt wird das gesamte objekt mit allen unterobjekten aktualisiert.

hinzukommt, das recalc nur formeln berechnet, nicht aber neue oder gelöschte datensätze aktualisiert.
have fun

bembola
18.10.2001, 12:28
Hallo Hütti,

danke für Deine Antwort, glaube aber dass meine Frage nicht verstanden wurde!

Wollte nur das im UF ein berechnetes Feld aus der Summe von n-Einzelfeldern
neu berechnet wird, falls sich ein Einzelfeld ändert.
Setze ich hierzu bei den n-feldern bei Ereignis Lost-Focus Me.recalc wird die Summe aktualisert aber der Focus bleibt auf dem Feld.

Gruß
Bembola

horse79
18.10.2001, 12:35
Hallo bembola,

deim me!recalc bezieht sich auf das Hauptform. Du mußt das control des Uform ansprechen mit
Forms![Hauptformular]![UForm].form.Recalc
Mach das ganze mit der Eigenschaft nachAktualisierung des Feldes. Dann klappt das.

bembola
18.10.2001, 13:26
Hallo Sven,

mache ich es so wie Du vorgeschlagen hast bleibt nach Tab der Focus immer noch auf dem Feld, beim nächsten tab wird es verlassen.
Irgendwie setzt die Recalc-methode den Focus auf das aktuelle Feld.

Setze ich den Focus eben explizit noch auf das nächste Feld.


Danke
Bembola