problem beim automat. komprimieren einer db. weder commandbars(extras...db komprimieren)accdodefaultaction noch compatdatabse() funktioniert.

06/02/2009 - 11:20 von michlchen | Report spam
hallo ng.

ich möchte die aktuell geöffnete db zwischenzeitlich komprimieren, da
wir eine menge an daten anhàngen. wenn ich die abfragen einzeln
ausführe und zwischendrin ab und an komprimiere geht das auch prima.
(oder die datei mal schliesse und dann erneut öffne. mache ich dies
nicht, wird die db zu groß und der fehler ungültiges argument
erscheint)

jetzt möchte ich die komprimierung automatisch ablaufen lassen. dafür
habe ich folgende funktion hier in den groups gefunden.

CommandBars("Menu Bar"). _
Controls("Extras"). _
Controls("Datenbank-Dienstprogramme"). _
Controls("Datenbank komprimieren und reparieren"). _
accDoDefaultAction

leider zeigt mir access, wenn ich diesen code aus dem makro aus (über
ausführen code) starten will, dass dies nicht geht.


dann habe ich eine weitere möglichkeit gefunden:

Function DB_komprimieren(sDBName As String)
DBEngine.CompactDatabase sDBName, sDBName & "1"
If Dir(sDBName & "1") <> "" Then
' bisherige DB löschen und die neue dorthin kopieren
Kill sDBName
Name sDBName & "1" As sDBName
End If
End Function

wenn ich diese das 2. mal starte (einmal geht), wird mir allerdings
angezeigt: "sie haben versucht eine db zu öffnen, die bereits exclusiv
von benutzer "admin" geöffnet ist. ..."

kann mir hier jemand helfen? ich möchte im prinzip die db aufmachen.
dann füge ich über das makro datensàtze aus anderen db in die
tabellen. nach dem einfügen möchte ich komprimieren und mit dem makro
weiter machen. dann andere daten einfügen und wieder komprimieren.
(die db selber kann ich leider nicht schliessen, da in ihr der
quellcode enthalten ist.) und wieder weiter im makro, bis alle daten
drin sind.
ich habe auch irgendwas von sendkeys gelesen. was wàre das dann?
(tastenbefehl abfangen? wenn ja, dann ungeeignet, da das makro von
anfgang bis ende durchlaufen sollte.)


danke für die hilfe.

mfg michl
 

Lesen sie die antworten

#1 Jens Schilling
06/02/2009 - 12:06 | Warnen spam
Hallo,

michlchen wrote:
(die db selber kann ich leider nicht schliessen, da in ihr der
quellcode enthalten ist.)



Ich denke, Dein eigentliches Problem ist hierin begründet

Lies doch mal hier:

1.35 Aufteilung in Frontend und Backend (www.donkarl.com?FAQ1.35)

Davon ab - von welchen Datenmengen sprichst Du, dass Du im laufenden betrieb
komprimieren möchtest ?

Gruss
Jens
______________________________
FAQ: http://www.donkarl.com

Ähnliche fragen