News & Tipps zu Microsoft Access

Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.

Beitrag aus SmartTools Access Weekly

Status zur Ausführung einer Abfrage anzeigen

Access 365 2021 2019 2016 2013 2010

FRAGE In einem Formular rufe ich über eine Schaltfläche nacheinander mehrere Abfragen per DoCmd.OpenQuery auf. In einem Bezeichnungsfeld gebe ich als Fortschrittsanzeige zwischendurch den Text "Abfrage '1..10' (Name) wird ausgeführt..." aus. Diese Anzeige erfolgt aber nicht korrekt. Im Feld steht der Name der ersten Abfrage und wechselt erst nach Ausführung der letzten Abfrage in "Abfrage 10 (Name) wird ausgeführt...".

T. Gruber

ANTWORT Während der Ausführung einer VBA-Routine ist die Ausführung anderer Access-Aktionen gesperrt. Dazu zählt auch die Aktualisierung von Formularinhalten. Um Access Gelegenheit dazu zu geben, müssen Sie in VBA-Routinen nach der Änderung von Formularinhalten wie beispielsweise dem Schreiben einer Statusmeldung in ein Bezeichnungsfeld die Anweisung

DoEvents

Ausführen; dann werden auch die Änderungen Ihrer Statusmeldungen korrekt angezeigt. Wenn Sie in VBA-Routinen Daten in Tabellen ändern, sollten Sie Access zusätzlich noch Gelegenheit geben, ausstehende Datentransaktionen zu erledigen. Fügen Sie dazu folgende Anweisungen beispielsweise nach dem Anlegen oder Ändern eines Datensatzes per Recordset ein:

DoEvents
DBEngine.Idle

Damit erhält Access Gelegenheit, eventuell erforderliche Bildschirmaktualisierungen und ausstehende Datentransaktionen durchzuführen.