[Access2010] Datenbank "läuft voll" trotz ständigem Löschen von Datensätzen

Liebe Experten,

ich versuche derzeit eine große Menge Daten aus verschiedenen Excel-Tabellen in eine Datenbank zu importieren. Um die maximale Größe einer Datenbank von 2 GB nicht zu überschreiten, habe ich die Tabellen auf mehrere Datenbanken verteilt und arbeite mit verknüpften Tabellen. Beim Import gehe ich für jede Excel-Datei wie folgt vor:

  1. Importieren der Daten in eine temporäre Tabelle.
  2. Anhängen der Daten an die jeweiligen verknüpften Tabellen
  3. Löschen der Daten aus der temporären Tabelle.
    Das ganze läuft natürlich automatisiert per VBA ab.

Das Problem ist nun, dass die Datenbank, in der der Import durchgeführt wird, mit der Zeit immer größer wird, obwohl die temporären Daten nach jedem Import-Schritt gelöscht werden. Sobald die Maximalgröße der Datei erreicht ist, bricht der Import ab.

Gibt es hierfür eine Lösung? Mit „Komprimieren und Reparieren“ wird der Speicherplatz wieder freigegeben, aber das kann ich nicht per VBA ausführen, zumindest nicht in der aktuellen Datenbank. Für jegliche Hinweise bin ich dankbar.

Viele Grüße

Matthias

Hallo,

verknüpfe(!) (evtl. auch mit VBA) die Excel-Tabellen und füge die Daten gleich in die Zieltabellen ein, ohne Umweg über diese temporären Tabellen.

Weiterhin kann die DB auch so eingestellt werden, dass Komprimieren/Reparieren beim Schließen der DB automatisch erfolgt.

Gruß
Franz,DF6GL

Hallo Matthias!

Hast du schon überlegt, eine andere Datenbank (MS SQL, MySQL, Postgresql, SQLite, usw.) zu verwenden?

mfg
christoph

Leider keine Option
Hallo Christoph,

vielen Dank für deine Antwort. Eine andere Datenbank ist leider keine Option, da die Firma auf der Verwendung von Access besteht.

Viele Grüße
Matthias

Hallo Franz,

vielen Dank für deine Antwort.

verknüpfe(!) (evtl. auch mit VBA) die Excel-Tabellen und füge
die Daten gleich in die Zieltabellen ein, ohne Umweg über
diese temporären Tabellen.

Das werde ich versuchen.

Weiterhin kann die DB auch so eingestellt werden, dass
Komprimieren/Reparieren beim Schließen der DB automatisch
erfolgt.

Da ist es aber dann schon zu spät. In früheren Versionen von Access konnte man die Komprimierung noch aus der aktuellen DB heraus aufrufen, das geht aber wohl nicht mehr.

Viele Grüße
Matthias

Hallo,

der Trick, aus Datenbank A heraus Datenbank B aufzurufen, die, nachdem Datenbank A sich geschlossen hat, selbige komprimiert und so dann Datenbank A wieder startet, sollte doch noch funktionieren.

http://www.office-loesung.de/ftopic18011_0_0_asc.php…

MfG,

ujk