1 1 1 1 1 1 1 1 1 1 Rating 5.00 (2 Votes)

Problemstellung:
Wie kann ich in MS-Access ein Backup des Backends täglich anlegen?

Voraussetzungen:
Das Bsp ist ab A00 lauffähig.

- tk_Backup_FE00.mdb,
  das Backup Tool muss sich im Verzeichnis „C:\tk_Backup“ befinden
-tk_Backup_BE00.mdb,
  das Backend für das Bsp muss sich im Verzeichnis „C:\tk_Backup \Backend“ befinden
- sevZip32.dll enthält die Zip- und Unzip-Algorithmen
  Die DLL muss sich im Windows-System Verzeichnis befinden
  Diese DLL ist eine C-DLL und muss nicht registriert werden.
  Die Funktionen werden per DECLARE-Anweisung eingebunden

Wobei sich die Pfadangaben hier nur auf das Bsp beziehen und nicht zwingend sind.


Grundidee:
Es soll eine Möglichkeit geschaffen werden, ein Backuplösung zu erstellen,
die es ermöglicht jeden Wochentag ein Backup des Backends zu erstellen.
Nach einer Woche wird das Backup automatisch überschrieben.
Alle Informationen über das Backup werden in eine INI-Datei geschrieben.
Die Backup Kopie des Backends wird automatisch komprimiert.
Die Ausgabe erfolgt wahlweise als MDB- oder ZIP-Datei.

Funktionsweise:
Benötigte Objekte:
Tabellen:     tbl_Backup                  enthält die Backup-Optionen
Formulare:  frm_Backup                 zum Ausführen des Backup’s bzw. Restore
Module:      
cls_FileDialog              Datei- und Verzeichnis Öffnen Dialog
                    mod_Funktionen         alle benötigten Sub’s und Funktionen             
                    mod_Zip_Funktionen
  Prozeduren für ZIP und UNZIP
Die Tabelle tbl_Backup enthält 3 Felder für die Backup-Optionen, Pfad zum Backup-Verzeichnis,
Name und Pfad des Backends und Ausgabeoption (MDB- oder ZIP-Datei)

Das Formular frm_Backup ist zur Steuerung des Backup’s bzw. Restore vorgesehen.

Im linken Bereich befindet sich der Backup-Teil.
 
Dort wird der Pfad des Backupverzeichnisses, der Name und Pfad des Backends und die
die Art der Ausgabe bestimmt.
Der Button „Daten sichern“ erstellt das Backup und schreibt die INI-Datei.
Für jeden Wochentag wird das Backup in einen extra Ordner erstellt.
Ist dieser nocht nicht vorhanden wird dieser erstellt.
z.B.:
C:\tk_Backup \Backend\Backup\Mo
C:\tk_Backup \Backend\Backup\Di
usw.
Ist die Woche um, wird das Backup von letztem Montag mit dem neuen vom
Montag überschrieben.

Durch eine Klick auf den Button „Daten sichern“ wird die Funktion „Save_BE“ aufgerufen.

Die Funktion erwartet folgende Parameter:

Public Function Save_BE(strPath As String, strDBNameBE As String, intOutput As Integer) As Boolean
strPath As String = Pfad des Backupverzeichnisses
strDBNameBE = Name und Pfad des Backend
intOutput = 1=MDB, 2=ZIP

Rückgabewert der Funktion: True = Backup Erfolgreich, False = Backup Fehler

Diese Funktion arbeitet in mehreren Schritten:
1. ermittelt ob die benötigten Verzeichnisse vorhanden sind, und legt diese bei Bedarf an.
2. Das Backend wird in das temporäre Verzeichniss kopiert.
3. Schreiben der INI-Datei
4. Die Backup-Datei wird mittels CompactDatabase komprimiert.
5. Kopieren des Backups in das richtige Unterzeichnis 

Die Erstellung und Komprimierung des Backups und die INI-Datei werden in einem temporären Verzeichnis durchgeführt:
C:\tk_Backup \Backend\Backup\BE_Temp um bei Fehlern nicht ein bestehendes Backup
zu überschreiben.

Sollte die Ausgabe in einer ZIP-Datei erfolgen wird eine ZIP-Datei erstellt und die MDB-Datei gelöscht.

Die „Backup.ini“ Datei enthält folgende Informationen:
- Pfad und Name des Backends temporär
- Pfad und Name des Backends im Wochentagsbackup-Verzeichnis
- Datum des Backups
- Uhrzeit des Backups
- Ausgabeformat des Backups

Die Erstellung der ZIP-Datei erfolgt durch die Funktion „Zip_File“.
Diese ruft Routinen aus der sevZip32.dll auf.
Da diese DLL keine Freeware ist, gehe ich hier nicht weiter auf die Funktionalität ein.

Im rechten Bereich befindet sich der Restore-Teil.


In der Optionsgruppe werden alle vorhandenen Backups für jeden Wochentag angezeigt.
Ist es nicht vorhanden erscheint „...nicht vorhanden“ als Buttonbeschriftung.
Die Beschriftung erfolgt durch das Auslesen der INI-Datei für jeweiligen Wochentag.
Dies wird durch die Funktion „ReadINI“ realisiert.

Der Funktionaufruf und Parameter:

Public Function ReadINI(strBEPath As String, strWT As String) As String

strBEPath As String = Pfad des Backupverzeichnisses
strWT = Kurzbezeichnung des Wochentages

Für den Montag-Button wäre z.B. der Aufruf:

Me.tgl_Mo.Caption = ReadINI(„C:\tk_Backup\Backend\Backup“, "Mo")

Soll das Backend wieder aus einer Backup-Datei hergestellt werden,
muss nur das entsprechende Backup in der Optionsgruppe
ausgewählt werden. Danach wird der Button „Daten wiederherstellen“ aktiviert.
Mit einem Klick auf diesen Button wird die Funktion „Restore_BE“ aufgerufen.

Der Funktionaufruf und Parameter:

Public Function Restore_BE(strBE_Path As String, strDBNameBE As String, intWT As Integer) As Boolean


strBE_Path = Pfad des Backupverzeichnisses
strDBNameBE = Name und Pfad des Backend
intWT = Wochentag der gewählten Sicherung

Rückgabewert der Funktion: True = Restore Erfolgreich, False = Restore Fehler

Diese Funktion arbeitet in mehreren Schritten:
1. Auslesen der INI-Datei
2. zurückkopieren des Backups.
3. bei Bedarf Unzip des Backups

Die Dekomprimierung der ZIP-Datei erfolgt durch die Funktion „Unzip_File“.
Diese ruft ebenfalls Routinen aus der sevZip32.dll auf.

Ist das Backend in Benutzung erfolgt eine Fehlermeldung.

Wie kann ich das in der Praxis nutzen?

Kopiere alle in der Bsp-DB enthaltene Objekte in dein Frontend.
Rufe das Formular frm_Backup auf und aktualisiere die Pfade für deine Zwecke.
Die Datei sevZip32.dll muss in das Windows System32-Verzeichnis kopiert werden.
Danach steht einem Backup nichts mehr im Wege.
Zusammenfassung

Diese Bsp-DB erhebt nicht den Anspruch auf Vollständigkeit und auch nicht
v
ollständige Sicherheit.
Der Urheber haftet nicht für eventuell auftretende Datenverluste oder sonstige Schäden
durch diese Bsp-Datenbank oder deren auszugweisen Nutzung.

Dateien:

Backup-Lösung für tägliche Sicherung, Ausgabe wahlweise auch als Zip-Datei

ab A00

Die Setup-Datei enthält eine Version ab A00

Datum 05.02.2018
Dateigröße 619.28 KB
Download 3.493

Ähnliche Artikel

Kommentar schreiben

Sicherheitscode
Aktualisieren

Login Form

Neueste Artikel

Problemstellung: Ab MS-Office 2010 gibt es eine 32bit und eine 64bit Variante.Übernimmt man nun eine Datenbank nach 64bit und diese enthält API-Declare Anweisungenerhlt min in der Regel diese...
1.png2.png0.png5.png1.png0.png9.png
Heute73
Gestern102
Diese Woche287
Dieser Monat2533
Total1205109

  • IP: 54.161.71.87
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

1
Online

26. September 2018

Letzte Kommentare

  • Trusted Locations Manager

    Tommy Admin 13.07.2018 13:06
    RE: Trusted Locations Manager
    Hallo Matthias, aus Ermangelung einer 64bit Version kann ich das leider nicht prüfen. Tut mir leid. Gruss ...

    Weiterlesen...

     
  • Trusted Locations Manager

    Matthias 13.07.2018 06:48
    Funktioniert nicht
    Habe gerade den TL-Manager installiert. Nach dem Start sagt er mir, dass es kein Office erkennen ...

    Weiterlesen...