Hallo.
Via VBA Code ändere ich aufgrund eines Ereignisses den Inhalt von Steuerelementen. Z.B. wenn in einem Kombinationsfeld ein bestimmter Inhalt ausgewählt wird, soll z.B. in ein gewisses Textfeld ein bestimmtes Datum eingetragen werden oder ein anderes Kombinationsfeld soll auf einen anderen Wert gesetzt werden. Leider wird die Veränderung, z.B. die des Kombinationsfeldes nicht sofort im Formular angezeigt, sondern erst wenn es geschlossen und wieder neu geöffnet wird.
Dies lässt sich aber auch duch VBA umgehen. Da gibt es die Befehle me.query; me.requery; me.form.query; me.form.requery; docmd.refreshrecord.
Welcher davon ist denn nun zu nutzen? Z.B. bei docmd.refreshrechord erhalte ich ab und an die Fehlermeldung, dass dieser Befehl gerade nicht zur Verfügung steht. Ich muss dazu sagen, dass das Betreffende Formular als Dialog geöffnet wird.
Wann verwendet man welchen Befehl um das Formular zu aktualisieren?
Danke und viele Grüße an Alle.
Hallo,
da spielt auch das richtige Ereignis mit hinein...
Formular(recordset) neu einlesen: Me.Requery
Formulardaten aktualisieren: Me.Refresh
Berechnungen aktualisieren: Me.Recalc
Manche Steuerelemente habe ebenfalls manche dieser Methoden:
Me!cmbKombi1.Requery sorgt für das neue Einlesen des Kombifeld-Recordsets (Kombifeldliste)
Je nachdem, wann die Aktualisierung des Kombis stattfinden soll, können die Ereignisse
Afterupdate eines anderen Steuerelementes, bzw. des Forms
Enter des Kombifeldes
GotFocus des Kombifeldes
..
.
verwendet werden.
docmd.refreshrecord würde ich nicht verwenden....
Danke für die Erklärung. :)