Fehler beim Komprimieren

15/10/2007 - 15:17 von Jürgen Schulz | Report spam
Hallo NG
Meine DB (03) ist in FE und BE geteilt.
Um die BE zu komprimieren mache ich folgendes:

Ich überprüfe ob von der BE eine Kopie mit dem aktuellen Datum vorliegt, ist
das nicht der Fall, erstelle ich eine Kopie mit dem aktuellen Datum im
Namen. Anschließend komprimiere ich die BE mit der u.a. Funktion.
Funktioniert alles ganz prima. Nur bei einem Kunden (hat eine Runtime
Version) erscheint ab und zu folgende Fehlermeldung:
"Ungültiger Prozeduraufruf oder ungültiges Argument"
mit den Buttons Abbrechen Wiederholen Ignorieren

Wird Wiederholen gewàhlt, dann wird komprimiert ohne Fehlermeldung. Das
eigenartige ist, das es nur bei einem Kunden passiert, und auch nicht immer.
Ich habe mir gedacht das eventuell ein Zeitproblem die Ursache ist und ich
ein Sleep einbaue, aber wo? Seht Ihr in der Funktion eine Stelle an der die
angegebene Fehler enstehen kann? Oder eventuell eine Möglichkeit den Fehler
nachzubilden?

Danke schon mal
Jürgen

-


Public Function fCompactPrivDbEngine(strdb As String, _
strSystemDB As String, _
strUser As String, _
strPassword As String) As Boolean
'Fehlerbehandlung definieren
On Error GoTo Err_fCompactPrivDbEngine

'Variablen deklarieren
Dim pdbe As DAO.PrivDBEngine
Dim strTemp As String

'Initialisieren
fCompactPrivDbEngine = False
Set pdbe = New PrivDBEngine
strTemp = strdb & ".temp.mdb"

'Komprimieren
With pdbe
.SystemDB = strSystemDB
.DefaultUser = strUser
.DefaultPassword = strPassword
.CompactDatabase strdb, strTemp
End With

Kill strdb
Name strTemp As strdb

'Fertig
fCompactPrivDbEngine = True

'Ende
Exit_fCompactPrivDbEngine:
On Error Resume Next
Exit Function

'Fehlerbehandlung
Err_fCompactPrivDbEngine:
MsgBox Err.Decripstion, vbCritical, Err.Number
Resume Exit_fCompactPrivDbEngine

End Function
 

Lesen sie die antworten

#1 Thomas Winkler
15/10/2007 - 16:04 | Warnen spam
Hi,

Funktioniert alles ganz prima. Nur bei einem Kunden (hat eine Runtime
Version) erscheint ab und zu folgende Fehlermeldung:
"Ungültiger Prozeduraufruf oder ungültiges Argument"
mit den Buttons Abbrechen Wiederholen Ignorieren



Ich kenne dieses Verhalten vom manuellen komprimieren. Nach langem Testen
stellte sich heraus, dass ein Lock eines Virenscanners (F-Secure) auf die
*.MDB Datei der Grund war.

BTW: Es wurden Fehler alá "komprimieren fehlgeschlagen" oder "mdb korrupt",
zugriffsfehler o. à. geworfen. (die MDB war aber definitiv i.O.)

Leider half auch ein umstellen des Scannverhaltens (ignorieren von MDB, MDE
und LDB) nichts. Einzige "Lösung" war das Deaktivieren des Scanners.

MfG

Thomas

Ähnliche fragen