PDA

Vollständige Version anzeigen : DB Komprimieren und Kopieren?


PC74
13.08.2001, 17:13
Versuche verzweifelt mit dem nachfolgenden Code meine DB zu Komprimieren und anschließend auf Diskette zu Kopieren.
Den ersten Abschnitt habe ich von donkarl.com aber der funzt auch nicht,ich bekomme immer die Fehlermeldung "Die DB konnte nicht gefunden werden"
Kann jemand helfen?

Private Sub Datensicherung_auf_Diskette_Click()
Dim Quelldatei As String
Dim Zieldatei As String
Dim Pfad As String
Dim Datei As String
Dim dummydatei As Variant
Dim dummypfad As Variant

DoCmd.Hourglass True

On Error GoTo Fehlerkomp
Pfad = "C:\VollversionArbeit\DBVollversion.mdb"
Datei = Dir(Pfad)
dummypfad = Left$(Pfad, Len(Pfad) - Len(Datei))
dummydatei = dummypfad & "Dummy.mdb"
DBEngine.CompactDatabase Pfad, dummydatei
Kill Pfad
Name dummydatei As Pfad
DoCmd.Hourglass False

Exit Sub

Fehlerkomp:
DoCmd.Hourglass False
If Err = 3005 Or Err = 3024 Or Err = 53 Or Err = 3044 Or Err = 76 Then
MsgBox "Die Datenbank konnte nicht gefunden werden.", vbOKOnly
End If
If Err = 3196 Then
MsgBox "Die Datenbank wird zur Zeit verwendet.", vbOKOnly
End If
Exit Sub
'*************** CODE ENDE ******************
' Namen der Quelldatei festlegen.
Quelldatei = "C:\VollversionArbeit\DBVollversion.mdb"
' Namen der Zieldatei festlegen.
Zieldatei = "A:\Datensicherung\DBVollversion.mdb"
' Quell- in Zieldatei kopieren.
FileCopy Quelldatei, Zieldatei

End Sub

Nockenwelle
13.08.2001, 18:38
Hi,

was liefert dir denn
dir(Pfad) im Testfenster?
Cu

PC74
13.08.2001, 19:11
Danke Nockenwelle für deine schnelle Reaktion.Da ich in VBA nicht so bewandert bin möchte ich versuchen die Frage zu beantworten.(nicht Lachen o.K.)
Ich bin die Prozedur reingegangen & habe bei Datei = Dir(Pfad)einen Haltepunkt gesetzt.
Dann habe ich das Testfenster geöffnet und habe in Lokal unter Ausdruck - Datei den Wert "",sprich eine leere Zeichenfolge, vom Typ String gehabt.
Ich hoffe ich hab alles richtig gemacht.
Bis denn Uwe !

Nockenwelle
13.08.2001, 20:09
Hi,

ich glaube.
also eigentlich
?dir(pfad)
oder
mach den Haltepunkt hier
dummypfad = Left$(Pfad, Len(Pfad) - Len(Datei))

und Frage
?Datei
wenn dir das eine leere Zeichenfolge liefert. Stimmt an deinem Pfad oder Dateinamen etwas nicht.
Cu

PC74
13.08.2001, 21:07
Hi,
habe alles versucht jedoch ohne Erfolg.
Ich erhalte im Testfenster im Überwachungsausdruck "Dir(Pfad)" immer eine leere Zeichenfolge obwohl die Schreibweise im Pfad richtig ist.
Danke !

PC74
14.08.2001, 06:18
Wollte es nur nochmal nach oben schieben, da ich es dringend benötige.

Es muß doch möglich sein bei A97 über eine zweite Datenbank mittels Button seine Haupt-DB zu komprimieren und und danach auf Disk zu sichern.
Danke an alle die sich der Sache annehmen!!!

maba
14.08.2001, 08:58
das Modul das die Prozedur zum Db kompriemieren enthält sollte auch in der zur komprimerenden Db liegen.

Dann machst du in der DB mit deinem Knopf einen Verweis auf die zu komprimierende DB und rufst einfach die Prozedur auf!

PC74
14.08.2001, 20:19
Hi maba & nockenwelle,
danke das hat geklappt.ich bin happy das ich das problem vom tisch habe.
aber trotzdem vielleicht noch das abschlußproblem:
wie kann ich nun erreichen das beim schliessen meiner hauptdatenbank (ohne access zu beenden)die db zum komprimieren & sichern automatisch geöffnet wird und diese nach getaner arbeit auch beendet wird & access geschlossen wird.
habe heute den ganzen tag versucht eine lösung zu finden....
meine versuche waren von meinem startformular aus mit dem ereignis beim entladen & der OpenDatabase-Methode bezw.OpenCurrentDatabase-Methode die db-sicherung zu öffnen.

Bitte versucht alle zu he......

Danke Uwe !