Datei zur Laufzeit kopieren

16/03/2009 - 13:23 von Michael Alexander | Report spam
Hallo!

Ich dachte immer, dass eine mdb.Datei (Daten-DAtei; Back-End) zur LZ nicht
kopiert werden kann, finde aber Code, mit dem das gehen soll.

*****************
Function SaveFile(Quelldatei As String, Zieldatei As String)
'Datei zur Laufzeit kopieren:
'Hinweis: Der Verweis auf die Microsoft Scripting Runtime muss gesetzt
werden.

Dim objFso As Object
Set objFso = CreateObject("Scripting.FileSystemObject")

On Error GoTo Err_SaveFile
objFso.CopyFile Quelldatei, Zieldatei, True
Set objFso = Nothing

Exit_SaveFile:
Exit Function

Err_SaveFile:
MsgBox Err.Description
Set objFso = Nothing
Resume Exit_SaveFile

End Function
'Aufruf dann z.B.:
'Call SaveFile(Quelldatei, Zieldatei)
' z.B.:
'Call SaveFile("C:\BlaBla\DeinBackend.mdb", "A:\DeineBackendSicherung.mdb")
*********

Was passiert jedoch, wenn zum Zeitpunkt des Kopierens gerade ein DS in die
Quelldatei geschrieben wird?
Bzw. wie verhàlt sich dann die Daten bzw. sperrt dann nicht die LB-Datei den
File?

Danke
Michael

A2k SP3, Win XP SP2
 

Lesen sie die antworten

#1 Mark Doerbandt
16/03/2009 - 13:28 | Warnen spam
Hallo, Michael,

Michael Alexander:

Ich dachte immer, dass eine mdb.Datei (Daten-DAtei; Back-End) zur LZ nicht
kopiert werden kann, finde aber Code, mit dem das gehen soll.
[...]
Was passiert jedoch, wenn zum Zeitpunkt des Kopierens gerade ein DS in die
Quelldatei geschrieben wird?
Bzw. wie verhàlt sich dann die Daten bzw. sperrt dann nicht die LB-Datei den
File?



man /kann/ das machen. Ich bin da aber vorsichtig und mache es nicht.
Daher kann ich Dir auch keine praktischen Erfahrungen berichten.
Theoretisch kann es dabei aber natürlich zu einer korrupten Kopie
kommen, weshalb ich vor dem Kopieren im laufenden Betrieb warnen
würde.

Wenn es um eine Kopie der Daten geht, würde ich besser diese per SQL
in eine neue Datenbank schreiben.

Gruss - Mark

Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beitràge senden.

Ähnliche fragen