Access löscht komprimierte Datenbank nicht
Guten Morgen,
folgender Sachverhalt:
Ich habe eine Access Datenbank, welche beim Schließen komprimiert wird. Danach eine db1.mdb erstellt wird u diese dann, bei erfolgreicher Komprimierung in die eigentl DB umbenannt wird. Die db1.mdb wird dann automatisch wieder gelöscht.
Dieser Vorgang läuft nur dann wie beschrieben ab, wenn die DB erfolgreich komprimiert wurde, heisst, wenn kein anderer User Zugriff auf diese DB hat.
Allerdings, wenn die DB auf einem Netzlaufwerk liegt, wird die erzeugte db1.mdb nicht gelöscht, sondern bleibt vorhanden. Ergo wird beim nächsten Schließen eine db2.mdb erzeugt.... etc.
Schließe ich dieselbe DB allerdings lokal auf dem PC, wird die db1.mdb wie oben beschrieben ordnungsgemäß gelöscht.
Habe diverse Foren durch sucht, ebenso die MSDN, aber keine passende Lösung gefunden.
Hat jmd eine Idee, wie ich das Problem lösen kann, ohne den Komprimierungsvorgang ganz abzuschalten?
Gruß nomax
folgender Sachverhalt:
Ich habe eine Access Datenbank, welche beim Schließen komprimiert wird. Danach eine db1.mdb erstellt wird u diese dann, bei erfolgreicher Komprimierung in die eigentl DB umbenannt wird. Die db1.mdb wird dann automatisch wieder gelöscht.
Dieser Vorgang läuft nur dann wie beschrieben ab, wenn die DB erfolgreich komprimiert wurde, heisst, wenn kein anderer User Zugriff auf diese DB hat.
Allerdings, wenn die DB auf einem Netzlaufwerk liegt, wird die erzeugte db1.mdb nicht gelöscht, sondern bleibt vorhanden. Ergo wird beim nächsten Schließen eine db2.mdb erzeugt.... etc.
Schließe ich dieselbe DB allerdings lokal auf dem PC, wird die db1.mdb wie oben beschrieben ordnungsgemäß gelöscht.
Habe diverse Foren durch sucht, ebenso die MSDN, aber keine passende Lösung gefunden.
Hat jmd eine Idee, wie ich das Problem lösen kann, ohne den Komprimierungsvorgang ganz abzuschalten?
Gruß nomax
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 96334
Url: https://administrator.de/contentid/96334
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
5 Kommentare
Neuester Kommentar
Servus,
sowas läuft bei uns reibungslos - es liegt evtl. an Rechten auf dem Share?
Hast du im Makro einen FQDN oder einen Laufwerksbuchstaben benutzt?
"Ganz" nur Not machst du ein Script ala:
...und läßt das per AT /geplanten Task laufen - das sollte auf jeden Fall laufen.
Gruß
sowas läuft bei uns reibungslos - es liegt evtl. an Rechten auf dem Share?
Hast du im Makro einen FQDN oder einen Laufwerksbuchstaben benutzt?
"Ganz" nur Not machst du ein Script ala:
"%programfiles%\microsoft office\office11\msaccess.exe" \\server\freigabe\db.mdb /user username /pwd passwd /excl /x /compact
...und läßt das per AT /geplanten Task laufen - das sollte auf jeden Fall laufen.
Gruß
Servus,
Gruß
auf der freigabe habe ich vollzugriff.
auch auf dem Ordner?desweiteren wird die datenbank nicht durch ein makro kompimiert, sondern durch die access eigene funktion.
ok, dann benutzt du also schon die oben von mit als Notnagel benutze Funktion - konnte ich ja nicht wissen ein skript ist denke ich nicht weiter hilfreich. da alles lokal auf dem PC reibungslos funktioniert.
denk mal weiter ein Skript (per AT gesteuert) kann auch lokal auf dem Server laufen Gruß
Das ist ein gängiges Problem.
Man sollte solche Backends nicht automatisch komprimieren beim Beenden.
Damit die DB aber nicht zu sehr anwächst, sollte man einen Link erstellen, der automatisch so um 3 Uhr nachts abläuft, jedenfalls dann, wenn sicher keine User mehr zugreifen, und das Backend dann sauber komprimiert.
Der Aufruf ist: (Hier muss der Accesspfad angepasst werden und wenn optionale Parameter überflüssig sind, ganten Parameter löschen!)
"D:\Microsoft Office 2003\Office\MSACCESS.EXE" /wrkgrp Optional.Mdw DerDatenbankPadUndName.mdb /user OptionalBenutzer /pwd Optional Passwort /compact
Man sollte solche Backends nicht automatisch komprimieren beim Beenden.
Damit die DB aber nicht zu sehr anwächst, sollte man einen Link erstellen, der automatisch so um 3 Uhr nachts abläuft, jedenfalls dann, wenn sicher keine User mehr zugreifen, und das Backend dann sauber komprimiert.
Der Aufruf ist: (Hier muss der Accesspfad angepasst werden und wenn optionale Parameter überflüssig sind, ganten Parameter löschen!)
"D:\Microsoft Office 2003\Office\MSACCESS.EXE" /wrkgrp Optional.Mdw DerDatenbankPadUndName.mdb /user OptionalBenutzer /pwd Optional Passwort /compact