Newsgroup: it.comp.appl.access
Titolo: Backup di dati

Ciao a tutti
ho due domande da farvi :
 Ho costruito  una maschera per l'utente da fare il backup di dati del
Db_be.mdb
Prima domanda:
Per fare la copia di Backup mi sono trovato di fronte di  questa difficoltà,
Prima, bisogna verificare se il file in quella directory  esiste,  se non
esiste devo crearlo cioè  fare una copia di BackEnd , Secondo se il fie
esiste, allora eliminere quello che c'è e poi copiare BE. dal codice come
possibile fare questo ? il metodo FileExists non mi funziona.
Seconda : per ragioni ben chiare, quando l'archivio del database aumenterà
di peso, l'operazione di copia tenderà a durare qualche minuto, dipendera
dal volume di lavoro fatto. In questo caso come posso sfruttare il controllo
" ProgressBar " e magari tempo residuo dell'operazione per far attedere
l'utente, Quali metodi o proprietà del "ProgressBar" va usato??
se gentilmente potete darmi un "aiutino" vi ringrazio.
Ciao
_Shari

 wrote in
news:ad9nbp$md6$
1...@lacerta.tiscalinet.it
: 

  Ciao, 
ti posto 2 funzioni utilizzate in un mio prog. VB.
  Modifica la 2a secondo le tue esigenze; la prop. della 
ProgressBar da gestire è, ovviamente, Value. Tieni presente che, 
nel caso di salvataggio su floppy, a causa delle bufferizzazioni 
varie eseguite dal SO, l'avanzamento della ProgBar non 
corrisponde all'effettivo stato di avanzamento del salvataggio 
su disco.
 
Public Function FileExists(FileName As String) As Integer
Dim i As Integer
On Error Resume Next
    i = Len(Dir$(FileName))
    If Err Or i = 0 Then
        FileExists = False
    Else
        FileExists = True
    End If
End Function
' Nel form dev'essere presente la ProgressBar 'pbarAvanzamento'
' In Access, invece, potrai utilizzare la ProgressBar 
' dell'oggetto SysCmd.
' Ecco un ex. di codice fornito nell'help di Access:
' ...
'  strMsg = "Lettura in corso " & UCase$(strTableName) & "..."
'  varReturn = SysCmd(acSysCmdInitMeter, strMsg, lngCount)
'  ' Visualizza il messaggio nella barra di stato.
'  For lngX = 1 To lngCount
'     varReturn = SysCmd(acSysCmdUpdateMeter, lngX)
'     ' Aggiorna il contatore.
'     ' Esegue operazioni con i record.
'     .
'     .
'     rst.MoveNext
'     ' Passa al record successivo.
'  Next lngX
'  varReturn = SysCmd(acSysCmdClearStatus)
'            
Function CopyFile(Src As String, Dst As String) As Single
Static Buf$
Dim BTest!, FSize! 'declare the needed variables
Dim Chunk%, F1%, F2%, tmp!, Response&
Const BUFSIZE = 1024 'set the buffer size
    If Len(Dir(Dst)) Then 'check to see if the destination file 
already exists
       Response = MsgBox(Dst + Chr(10) + Chr(10) + "File already 
exists. Do you want to overwrite it?", vbYesNo + vbQuestion) 
'prompt the user with a message box
       If Response = vbNo Then 'if the "No" button was clicked
          Exit Function 'exit the procedure
       Else             'otherwise
          Kill Dst      'delete the already found file, and 
carryon with the code
       End If
    End If
 
    On Error GoTo FileCopyError 'incase of error goto this label
    F1 = FreeFile 'returns file number available
    Open Src For Binary As F1 'open the source file
        F2 = FreeFile 'returns file number available
        Open Dst For Binary As F2 'open the destination file
 
            FSize = LOF(F1)
            BTest = FSize - LOF(F2)
 
            Do
                If BTest < BUFSIZE Then
                   Chunk = BTest
                Else
                   Chunk = BUFSIZE
                End If
                Buf = String(Chunk, " ")
                Get F1, , Buf
                Put F2, , Buf
                BTest = FSize - LOF(F2)
                pbarAvanzamento.Value = (100 - Int(100 * BTest / 
FSize)) 'advance the progress bar as the file is copied
                DoEvents
            Loop Until BTest = 0
            Close F1 'closes the source file
        Close F2 'closes the destination file
    CopyFile = FSize
    pbarAvanzamento.Value = 0 'returns the progress bar to zero
    Exit Function 'exit the procedure
 
FileCopyError: 'file copy error label
    MsgBox "Copy Error!, Please try again..." & vbCrLf & 
Error(Err) 'display message box with error
    Close F1 'closes the source file
    Close F2 'closes the destination file
    Exit Function 'exit the procedure
End Function
-- 
-------------------------------------
http://digilander.iol.it/SimonenomiS/
-------------------------------------

Ti ringrazio per l'aiuto ci provo .Ciao e grazie ancora
"SimonenomiS" <Si...@nomiS.it> ha scritto nel messaggio
news:Xns922178F052219...@193.70.192.192...
