Una famiglia di sistemi di gestione per database relazionali di Microsoft progettati per semplificare l'uso.
Ciao Eulero,
fai così:
nel db-bck crea un modulo Bas e inserisci questo codice:
Option Compare Database
Option Explicit
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'Per info su Sleep vedi http://msdn.microsoft.com/en-us/library/ms686298(VS.85).aspx
Sub BackupDbGestione()
Dim Tentativi As Integer
Dim Errore As Long
Dim Descrizione As String
On Error Resume Next
Do
'Tento di eseguire la copia
FileCopy "percorso e nome del db-gestionale" , "percorso e nome del backup"
Errore = Err.Number
Descrizione = Err.Description
'Se nessun errore
If Errore = 0 Then
MsgBox "Backup Eseguito", vbInformation
Exit Do
End If
'Se errore <>70 notifico l'errore ed esco
If Errore <> 70 Then
MsgBox Descrizione
Exit Do
End If
'Se supero i 5 tentativi notifico l'errore ed esco
If Tentativi = 5 Then
MsgBox Descrizione
Exit Do
End If
'Attesa 1/2 secondo
Sleep 500
Tentativi = Tentativi + 1
Err.Clear
Loop
Application.Quit
End Sub
Poi sempre nel db-bck crea una maschera vuota e inserisci queste due sub rispettivamento nell'evento "Su Apertura" e nell'evento "Su Timer"
Private Sub Form_Load()
'Start timer
Me.TimerInterval = 500
End Sub
Private Sub Form_Timer()
'Stop timer
Me.TimerInterval = 0
'Richiamo la sub che esegue il backup
BackupDbGestione
End Sub
Salva e chiudi la maschera, poi nelle opzioni del database corrente inserisci nell'opzione "Visualizza Maschera" il nome della maschera appena creata.
La maschera con il timer è necessaria per far completare l'esecuzione dell'istruzione "Application.FollowHyperlink " che ha aperto il db-bck nel dbgestione in modo che il flusso possa continuare ed eseguire l'istruzione Application.Quit
Ciao
Giorgio Rancati