Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Löschen einer Tabelle

Begonnen von PeterW, Juni 14, 2011, 15:01:48

⏪ vorheriges - nächstes ⏩

PeterW

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
Viele Grüße aus Berlin
Peter

MzKlMu

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.
Gruß Klaus

DF6GL

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.

imp666

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...)


MzKlMu

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.
Gruß Klaus

PeterW

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

Viele Grüße aus Berlin
Peter