VBA soll während Ausführung in einem Formular-Textfeld Infos anzeigen

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

15723

Grünschnabel
In einem Access-Formular wird über eine Schaltfläche ein ein VBA-Code gestartet, der ca. 4 Minuten läuft und diverse Berechnungen anstellt.
Im VBA-Code gebe ich an mehreren Stellen den Befehl, ein Textfeld im Formular anzupassen, damit der Anwender ein Feedback über den Fortschritt bekommt.
Allerdings sieht der User diese Textänderungen nicht - offenbar ist Access zu beschäftigt, als dass der neue Text am Bildschirm auch erscheint.
Erst wenn VBA fertig ist, sieht man schlagartig alle Feedback-Infos (die aber nach Programmende wenig Sinn machen).
Kann man das Formular "zwingen" das geänderte Textfeld während der Ausführung anzuzeigen?
 
Direkt nach dem Ansteuern des Ausgabefeldes ein DoEvents setzen
vb@rchiv · Tipps & Tricks · DoEvents gezielt und nur wenn notwendig einsetzen
Visual Basic:
MyForm.MyTextField.Value = 1234
DoEvents

Hier mein Test. Ein Form mit einem Button cmd und einem Label lbl. Nach allen hundertausend Durchläufen soll der Wert angepasst werden. Funktioniert einwandfrei.
Visual Basic:
Private Sub cmd_Click()
    Dim i: For i = 0 To 99900000
        If i Mod 100000 = 0 Then
            lbl.Caption = i
            DoEvents
        End If
    Next i
End Sub
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…
Zurück