VBA!
Makros sind Sch%$§ und Zeitverschwendung - und in diesem Fall auch schlicht unzulänglich, da sie keine Schleifen und keine Ablaufsteuerung (ausser einfachsten Verzweigungen) erlauben.
An eine Abfrage oder eine Tabelle kann man keine Ereignisse knüpfen. Du brauchst also ein vorgeschaltetes Formular o.ä., das eine VBA-Ereignisprozedur (z.B. das Klick-Ereignis einer Schaltfläche) auslöst.
Also:
Private Function Halleluja\_Click()
DoCmd.SetWarnings False
DoCmd.OpenQuery "qryHallelujaErstellen"
DoCmd.OpenQuery "qryHalleluja"
Do While SysCmd(acSysCmdGetObjectState, acQuery, "qryHalleluja") = acObjStateOpen
DoEvents
Loop
DoCmd.DeleteObject acTable, "tblHalleluja"
DoCmd.SetWarnings True
End Function
Allerdings sollte man eigentlich auch Formulare oder Berichte zur Anzeige von Abfrageergebnissen verwenden - und nicht die Datenblattansicht der Abfrage…
Reinhard