Requery funktioniert nicht

13/11/2008 - 09:57 von Christian Fette | Report spam
Hallo

in einer AC2003 wird aus einem Endlosform ein zweites Fenster geöffnet um
dort einen Datensatz zu erfassen. Nach Schließen des zweiten Fensters soll
das erste (endlos)Fenster aktualisiert werden.

Ich habe dazu im zweiten (Eingabe)Fenster eine Schaltflàche mit folgendem
Code:

Forms("frmBewegungen").Requery
DoCmd.Close

Doch leider wird das erste Form nicht aktualisiert...

Weiß jemand Rat?

Gruß
Chr.
Das Portal für den Segler in Holland:
www.segler-in-holland.de
www.segler-in-holland.de/forum
 

Lesen sie die antworten

#1 Josef Poetzl
13/11/2008 - 10:24 | Warnen spam
Hallo!

Christian Fette schrieb:
in einer AC2003 wird aus einem Endlosform ein zweites Fenster geöffnet um
dort einen Datensatz zu erfassen. Nach Schließen des zweiten Fensters soll
das erste (endlos)Fenster aktualisiert werden.

Ich habe dazu im zweiten (Eingabe)Fenster eine Schaltflàche mit folgendem
Code:

Forms("frmBewegungen").Requery
DoCmd.Close

Doch leider wird das erste Form nicht aktualisiert...



... es kommt aber keine Fehlermeldung?
Wann führst du diesen Code aus? Sind die Daten zu diesem Zeitpunkt
bereits gespeichert?

vielleicht hilft:
if me.dirty then me.dirty = false
Forms("frmBewegungen").Requery
DoCmd.Close


BTW:
Ich nutze solche Eingriffe auf ein Form von außen nicht gerne, da
damit immer sichergestellt werden muss, dass das fremde Formular noch
existiert. (Das widerspricht meiner Vorstellung von Kapselung.)

Meine bevorzugten Varianten:
Die Übersichtsformulare (Endlos-Form.) aktualisieren ihre Daten bei
Aktivierung. Die Daten müssen ja erst bei Bedarf aktualisiert werden.
Ob Daten ist einem nicht benutzen Formular nicht aktuell sind, ist
ziemlich egal.
Und für den Fall, dass zwei Formular miteinander verbunden sind, wird
ein Event ausgelöst, dann muss sich das Formular nicht darum kümmern,
ob das zu aktualisierende Form vorhanden ist bzw ob alle zu
aktualisierenden Formulare vorhanden sind.

statt:
Forms("frmBewegungen").Requery
DoCmd.Close

verwende ich:
raiseEvent HabeFertig()
DoCmd.Close

Das erfordert zwar mehr Code, da auf das Ereignis noch reagiert werden
muss, dafür ist das Formular vollkommen unabhàngig von anderen
Formularen.


mfg
Josef

EPT: (Access Error Prevention Table) http://access.joposol.com/
FAQ: (Access-FAQ von Karl Donaubauer) http://www.donkarl.com/

Ähnliche fragen