Form_Current im UFO wird zweimal ausgeführt

09/04/2008 - 12:35 von Dietmar Thesing | Report spam
Hallo zusammen,
hab schon wieder eine Frage.

Beim Öffnen eines Formulars mit UF (darin ein weiteres UF, ebenfalls
Einzelformular) wird korrekt ausgelöst:
frmR_UF_Current
frmR_Activate
frmR_Current

Beim Datensatzwechsel (docmd auf eigener Schaltflàche) wird aber
ausgelöst:
frmR_UF_Current
frmR_UF_Current
frmR_Current

Welche Ursachen könnte das haben, ist das by Design? Lließe sich das
eventuell verhindern?
Da gerade beim UF_Current ziemlich viel Code ablàuft, wàre das für die
Performance echt hilfreich, wenn das Ereignis nur einmal ausgelöst
würde.

Beim Gurgeln habe ich nur folgenden Beitrag gefunden:
http://groups.google.de/group/micro...98ef127384
(Link in einer Zeile)

Tritt es zweimal ein, weil erst der Fokus auf den nàchsten Datensatz
verschoben wird, und dann die Datenquelle erneut abgefragt wird? Beim
Schritt-Für-Schritt-Modus kann ich nichts finden, wo ich eine erneute
Abfrage der Formular-Daten starte.

Vielleicht könnt Ihr Experten mir beim Verstàndnis etwas helfen.
Wie immer, recht herzlichen Dank

Gruß
Dietmar
 

Lesen sie die antworten

#1 Stefan Dase
09/04/2008 - 13:13 | Warnen spam
Hallo Dietmar!

Beim Datensatzwechsel (docmd auf eigener Schaltflàche) wird aber
ausgelöst:
frmR_UF_Current
frmR_UF_Current
frmR_Current

Welche Ursachen könnte das haben, ist das by Design? Lließe sich das
eventuell verhindern?
(...)
Beim Gurgeln habe ich nur folgenden Beitrag gefunden:
http://groups.google.de/group/micro...98ef127384



Das ist im Prinzip schon die Lösung. Durch die Anbindung des UF an das
HF wird es zunàchst angezeigt und dann gefiltert. Dieser Effekt ist gut
sichtbar, wenn aufwàndige Berechnungen oder Abfragen ausgeführt werden.
M.E. ist das so "by Design".

Ohne jetzt die Hintergründe zu kennen, warum du "Beim Anzeigen"
(Current) im UF etwas machen möchtest, fallen mir zwei
Lösungsmöglichkeiten ein:

- Ereignis nicht bei UF_Current ausführen, sondern vom HF aus anstoßen.
- UF nicht an das HF binden, sondern bei HF_Current einen neuen Filter
setzen.

HTH,
Stefan

Ähnliche fragen