News

FAQ Access – Dateien kopieren

Category:

Access, FAQ

0

Access Grundlagen – Dateien kopieren

Problem

Access-Datenbanken lassen sich nutzen, um per „FileCopy()“ von den in einer Tabelle spezifizierten Dateien Sicherungskopien anzulegen und um Installations- und Anwendungs-Programme über das Netzwerk auf neue Rechner zu kopieren.

Leider ändert „FileCopy()“ die Attribute der Dateien grundsätzlich auf „Normal“, so dass zum Beispiel als „Versteckt“ und „Schreibgeschützt“ gekennzeichnete Dateien auf den Zielrechnern sichtbar sind und geändert werden können beziehungsweise mit falschen Attributen in die Datensicherung aufgenommen werden. Lässt sich „FileCopy()“ irgendwie steuern, so dass die Attribute nicht verändert werden?

Lösung

Nein, „FileCopy()“ akzeptiert nur die Parameter „“ und „“, weitere Steuerungsmöglichkeiten gibt es nicht. Sie können aber statt „FileCopy()“ eine API-Funktion nutzen, die in einem Modul wie folgt deklariert wird:

Declare Function apiFileCopy Lib "kernel32" _
Alias "CopyFileA" _
(ByVal lpExistingFileName As String, _
ByVal lpNewFileName As String, _
ByVal bFailIfExists As Long) As Long

Diese API-Funktion arbeitet nicht nur etwas schneller als „FileCopy()“, sie überträgt gleichzeitig die aktuellen Attribute der zu kopierenden Quelldatei auf die Zieldatei. Aufgerufen wird die Funktion zunächst analog zu „FileCopy()“ mit den Parametern „“ und „“. Als dritten Parameter geben Sie „True“ oder „False“ an und steuern damit, ob die Funktion vorhandene Dateien überschreiben (Parameter= False) oder mit einer Fehlerrückmeldung abbrechen soll (Parameter= True). Das Funktionsergebnis ist „True“, wenn die Datei erfolgreich kopiert wurde, andernfalls wird „False“ zurückgemeldet.

Tags:

Leave a Reply

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.