Makroproblem

Hallo Leute,

eine Tabelle, die in einer geöffneten Abfrage verwendet wird, soll nach dem Schließen der Abfrage über „Löschen Objekte“ —> „Tabelle“ gelöscht werden.

Wie kann die Bedingung formuliert werden, damit das Löschen der Tabelle funktioniert?

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