TKSoft-Online

Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Alles rund um MS-Access
  • Seite:
  • 1

THEMA: tk_Backup00

tk_Backup00 3 Jahre, 3 Monate her #274

  • Erhard
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 8
  • Karma: 0
Hallo TommyK,

das klappt sehr gut mit dem Backup, aber es gibt ein kleines Problem.
Wenn das BE mit Kennwort geschützt ist wird zwar ein Backup erstellt, aber in deiner DB nicht korrekt verarbeitet.
Meine Frage dazu, wo und wie kann man die Kennwortabfrage einbauen.
Es ist sonst sehr umständlich, erst Datenbankkennwort löschen, Backup erstellen, Kennwort wieder eingeben.
Wäre dankbar für Hilfe bei dem Code.

Mit freundlichen Grüssen
Erhard

Re:tk_Backup00 3 Jahre, 3 Monate her #275

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 503
  • Karma: 4
Hallo Erhard,

es sind nur 2 Sachen zu ändern. (rot markiert)
1. Prozedurkopf
Public Function Save_BE(strPath As String, strDBNameBE As String, intOutput As Integer, _
Optional sPW As String = "") As Boolean


2. in diesem Bereich
' Backup komprimieren
Application.Echo True, "Bitte warten , Datenbank wird komprimiert ..."
vardummypfad = BackSlash(str_TempBE, True)
vardummydatei = vardummypfad & "Dummy.mdb"
DBEngine.CompactDatabase str_TempBE & strDBFile, vardummydatei, , , ";pwd=" & sPW
Kill str_TempBE & strDBFile
Name vardummydatei As str_TempBE & strDBFile

Das wars eigentlich schon.
Gruß TommyK

Re:tk_Backup00 3 Jahre, 3 Monate her #276

  • Erhard
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 8
  • Karma: 0
Hallo TommyK,
leider gibt es Error 3001 Ungültiges Argument


Public Function Save_BE(strPath As String, strDBNameBE As String, intOutput As Integer, _
Optional sPW As String = \"\"«») As Boolean
'Public Function Save_BE(strPath As String, strDBNameBE As String, intOutput As Integer) As Boolean
'
*******************************************
'Name: Save_BE (Function)
'
Purpose: sichert eine Backend in ein Backup-Verzeichnis mit ini-Datei
'Author: Tommyk
'
Date: Juni 11, 2004, 04:40:55
'Inputs: strPath=Pfad des Backupverzeichnisses,strDBNameBE=Name und Pfad des Backends
'
intOutput= Art der Ausgabe (1=MDB, 2=ZIP)
'Output: True = Erfolgreich, False = Fehler
'
*******************************************
On Error GoTo FehlerBackup
 
Dim strEndung As String, strDBFile As String, str_TempBE As String
Dim strSaveBE_Path As String
Dim F As Integer, strDB_BE As String
Dim vardummydatei As Variant
Dim vardummypfad As Variant
 
Save_BE = False
strEndung = Format(Date, \"ddd\"«»)
strDB_BE = strDBNameBE
strDBFile = \"\\" & DateiName(strDB_BE, True)
strSaveBE_Path = BackSlash(strPath, True) & strEndung
str_TempBE = BackSlash(strPath, True) & \"BE_Temp\"
 
DoCmd.SetWarnings False
DoCmd.Hourglass True
 
' Wenn Verzeichnisse nicht existieren, erstellen
If DoesDirExist(strSaveBE_Path) = False Then MkDir strSaveBE_Path
If DoesDirExist(str_TempBE) = False Then MkDir str_TempBE
 
Application.Echo True, \"Bitte warten , Datei: \" & strDBNameBE & \" ,wird nach \" & strSaveBE_Path & \" gesichert.\"
'
Backup ins Temp-Verzeichnis kopieren
CopyFileFSO strDBNameBE, str_TempBE & strDBFile
 
F = FreeFile
 
' INI Datei schreiben
Open str_TempBE & \"\Backup.ini\" For Output As F
Print #F, CStr(str_TempBE & strDBFile)
Print #F, CStr(strSaveBE_Path & strDBFile)
Print #F, Date
Print #F, Time
If intOutput = 1 Then
Print #F, CStr(\"MDB\"«»)
Else
Print #F, CStr(\"ZIP\"«»)
End If
Close #F
 
'
Backup komprimieren
Application.Echo True, \"Bitte warten , Datenbank wird komprimiert ...\"
vardummypfad = BackSlash(str_TempBE, True)
vardummydatei = vardummypfad & \"Dummy.mdb\"
[color=#FF0000]DBEngine.CompactDatabase str_TempBE & strDBFile, vardummydatei, , , \";pwd=\" & sPW
'DBEngine.CompactData_base_str_TempBE & strDBFile, vardummydatei, , , \";pwd=\" & sPW[/color]
Kill str_TempBE & strDBFile
Name vardummydatei As str_TempBE & strDBFile
 
'
wenn kein Fehler, dann in das WT-Backupverzeichnis im Tempverzeichnis in das Backupverzeichnis kopieren
CopyFileFSO str_TempBE & strDBFile, strSaveBE_Path & strDBFile
CopyFileFSO str_TempBE & \"\Backup.ini\", strSaveBE_Path & \"\Backup.ini\"
 
DoCmd.SetWarnings True
DoCmd.Hourglass False
Save_BE = True
 
ExitHere:
DoCmd.Hourglass False
Exit Function
FehlerBackup:
DoCmd.Hourglass False
If Err = 76 Or Err = 3044 Then
MsgBox \"Netzwerkpfad konnte nicht gefunden werden.\" & vbNewLine & \"Daten werden nicht gesichert.\" & vbNewLine & \"Vorgang wird beendet.\", vbOKOnly + vbCritical, \"Netzwerk\"
ElseIf Err = 3196 Or Err = 70 Then
MsgBox \"Die Datenbank wird zur Zeit verwendet.\" & vbNewLine & \"Daten werden nicht gesichert.\" & vbNewLine & \"Vorgang wird beendet.\", vbOKOnly + vbCritical, \"Datenbenutzung\"
ElseIf Err = 53 Or Err = 3024 Or Err = 3005 Then
MsgBox \"Datei konnte nicht gefunden werden.\" & vbNewLine & \"Daten werden nicht gesichert.\" & vbNewLine & \"Vorgang wird beendet.\", vbOKOnly + vbCritical, \"Dateizugriff\"
Else
Dim strErrString As String
strErrString = \"Error Information...\" & vbCrLf
strErrString = strErrString & \"Error#: \" & Err.Number
strErrString = strErrString & \" Description: \" & Err.Description
MsgBox strErrString, vbCritical + vbOKOnly, \"Function: Save_BE\"
End If
Resume ExitHere
End Function


Mit freundlichen Grüssen

Erhard

Re:tk_Backup00 3 Jahre, 3 Monate her #277

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 503
  • Karma: 4
Hallo Erhard,

Du musst natürlich auch das Passwort übergeben.
If Save_BE(\"DeinPfad\", \"DeineDB\", \"ZIP oder MDB\", \"DeinPasswort\"«») = True Then 
Gruß TommyK

Re:tk_Backup00 3 Jahre, 3 Monate her #278

  • Erhard
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 8
  • Karma: 0
Hallo Tommy,

Danke für die Info, aber es wäre besser, es würde das PW abgefragt werden.

Re:tk_Backup00 3 Jahre, 3 Monate her #279

  • TommyK
  • OFFLINE
  • Administrator
  • Beiträge: 503
  • Karma: 4
Hallo Erhard,

dann so:
 
Dim strPW As String
strPW = InputBox(\"Bitte DB-Kennwort eingeben\", \"Abfrage\"«»)
If Not IsNull(strPW) Then
If Save_BE(\"DeinPfad\", \"DeineDB\", \"ZIP oder MDB\", strPW) = True Then
'... usw
Gruß TommyK
Letzte Änderung: 3 Jahre, 3 Monate her von TommyK.

Re:tk_Backup00 3 Jahre, 3 Monate her #280

  • Erhard
  • OFFLINE
  • Fresh Boarder
  • Beiträge: 8
  • Karma: 0
Hallo TommyK,

Hab Dank für den Code.

Du hast mit der Backup DB eine sehr gute Anwendung geschaffen!

Mit freundlichen Grüssen
Erhard
  • Seite:
  • 1
Moderatoren: TommyK
Ladezeit der Seite: 3.25 Sekunden

Login

Latest Comments

Latest Forum Posts

Mehr »

Download Statistik

41 Kategorien
187 Dateien
173482 Downloads

JoomlaWatch 1.2.11 - Joomla Monitor and Live Stats by Matej Koval