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.978

Ähnliche Artikel

You have no rights to post comments

Login Form

Neueste Artikel

SQL zu VBA Konverter
26. Oktober 2018
Problemstellung: Nur für 32Bit Office Versionen Gibt es eine Möglichkeit SQL-Code einer Abfrage so zu konvertieren das der Code in VBA genutzt werden kann? Lösung: Bis Access 2010 gibt das Tool...
1.png5.png7.png8.png7.png7.png5.png
Heute293
Gestern271
Diese Woche1124
Dieser Monat7398
Total1578775

  • IP: 3.237.46.120
  • Browser: Unknown
  • Version:
  • OS: Unknown

Online

4
Online

28. März 2024

Letzte Kommentare

  • Berechnen von Zeiträumen als Abfragekriterium

    elmard 02.02.2021 21:02
    1000 Dank
    für diese Datenbankanwendung! Eine sehr gute Umsetzung mit den vielen Möglichkeiten des Datums.

    Weiterlesen...

     
  • SQL zu VBA Konverter

    Tommy Admin 03.11.2019 16:33
    RE: SQL zu VBA Konverter
    Hallo Elmard, danke für die Info. :lol:

    Weiterlesen...

     
  • SQL zu VBA Konverter

    elmard 03.11.2019 14:49
    Bei SmartTools neue Version 4.0
    Dieses Tool liegt inzwischen in der Version 4 vor und läuft nun auch von A2013 und A2016 sowie im ...

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    TommyK 27.02.2019 06:52
    Workshop
    Hallo mpegjunkie, danke für Dein Feedback. Schön das Dir Workshop weiter hilft. :D

    Weiterlesen...

     
  • Workshop zur Benutzung des Multi-Column TreeView Control unter MS-Access

    mpegjunkie 26.02.2019 20:10
    Perfekter Workshop
    Hallo Tommy, perfekter Workshop, toll und umfassend erläutert. Jetzt nutze ich diese Controls auch.

    Weiterlesen...