Beitrag aus SmartTools Access Weekly
Abfrageergebnis mit Access anzeigen und warten bis die Ansicht geschlossen wurde
Access 365 2024 2021 2019 2016 2013 2010
FRAGE Ich möchte in meiner Datenbank per VBA das Ergebnis einer Abfrage anzeigen lassen und dann mit der Ausführung der Prozedur fortfahren, sobald das Fenster geschlossen wird. Es handelt sich bei dem Abfrageergebnis in der Regel um mehrere Datensätze, aber ich denke, dass eine MsgBox dazu am besten geeignet wäre. Oder haben Sie eine andere Idee, wie ich das Schließen des Fensters überwachen kann? Mit welchen VBA Anweisungen komme ich weiter?
O. Ludwig
ANTWORT Von einer Anzeige der Abfrageergebnisse per MsgBox ist abzuraten, da unter Umständen aufgrund von Beschränkungen nicht alle Datensätze angezeigt werden könnten und außerdem die Höhe der MsgBox zu groß sein könnte, so dass die Schaltflächen nicht mehr sichtbar sind. Besser wäre folgende Lösung:
- Speichern Sie die folgende Prozedur in einem beliebigen VBA-Modul:
Sub ShowQueryAndWait(strQuery As String)
On Error Resume Next
DoCmd.OpenQuery strQuery
While SysCmd(acSysCmdGetObjectState, _
acQuery, strQuery) = acObjStateOpen
DoEvents
Wend
End Sub
- Lassen Sie die Abfrage dann z.B. wie folgt anzeigen:
..... 'Ihre VBA-Anweisungen
ShowQueryAndWait "Liste der aktuellen Artikel"
..... 'Mehr VBA-Anweisungen
Die Abfrage wird daraufhin in der normalen Datenblattansicht angezeigt und die Prozedur wartet, bis die Abfrage wieder geschlossen ist, erst dann werden weitere Anweisungen ausgeführt.