Ich definiere in einer VBA-Prozedur eine neue Tabelle mit aktuellen Werten aus verschiedenen anderen Tabellen und Abfragen.
die neue Tabelle wird aber nur angelegt, wenn sie nicht schon vorhanden ist. Also wird die "alte" Tabelle zuerst einmal gelöscht mit:
DOCMD.DeleteObject acTable, "tblTemp"
dann gibt es mit dem Neuanlegen kein Problem, eigentlich.
Nun stelle ich fest, dass Access diese Löschung nicht immer vornimmt, sodass es oft zu der Fehelermeldung "Tabelle schon vorhanden" kommt.
Wenn ich nun im Debug-Modus die Prozedur Schritt für Schritt ablaufen lasse, funlktioniert die Löschung einwandfrei.
Woran kann es liegen, dass die Löschung nicht (oder nicht immer) funktioniert?
Gruß
Peter
Hallo,
ich würde grundsätzlich keine Tabelle löschen. Wenn Beziehungen gesetzt sind (was sein sollte) funktioniert das sowieso nicht.
Leere die Tabelle mit einer Löschabfrage und füge mit einer Anfügeabfrage die neuen Daten an und das Problem sollte erledigt sein.
Hallo,
"Nun stelle ich fest, dass Access diese Löschung nicht immer vornimmt, "
vermutlich ist Access zu langsam... ;) und es hilft ein DoEvent...
Nimm aber besser:
Currentdb.Execute "Drop Table tblTermp"
zum Löschen der Tabelle, wobei Du aber Klaus ernst nehmen solltest und die Tabelle erst gar nicht löschst.
Wazu legst du die Tabelle an, wenn du sie sowieso aus Abfragen bestückst...
Du kannst eine Abfrage auch einfach z.B. als Grundlage für Formulare verwenden, das Spart Zeit und Platz (ich nehme nicht an dass Änderungen an den Daten gemacht werden, da die Tabelle je eh wieder gelöscht wird...)
Hallo,
Zitat von: imp666 am Juni 14, 2011, 16:10:06
Wazu legst du die Tabelle an, wenn du sie sowieso aus Abfragen bestückst...
Diese Frage stellt sich mir auch.
Vielen Dank für Eure Hilfe.
ich habe die besagte Tabelle generiert, um hinterher das Ergebnis (Tabelleninhalt) leicht überprüfen zu können und sie als Datenbasis zur Verfügung zu haben z.B. für einen Bericht.
Es gibt sicherlich noch elegantere Möglichkeiten, das gleiche zu erreichen aber mit meiner Lösund bin ICH klargekommen; bis auf den (Zeit)fehler von Access beim Löschen.
Grüße aus Berlin
Peter