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?
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