|
Postada em 08/08/2004 17:35 hs
Pessoal Boa Tarde, preciso a cada 10 minutos copiar um Banco de dados Access2000 da pasta Original para outra Pasta (cópia de segurança) Uso o VB6 existe um timer para fazer isto com vb6 alguém pode me dar qualquer ajuda. um site, um exemplo... Obrigado.
|
|
|
|
Ed - Claret
não registrado
|
|
Postada em 09/08/2004 09:14 hs
O timer vai até 1 minuto, voce precisa dar um loop nele até 10 minutos e apos acionar o fileCopy caminho+bd.mdb, paraondevai+bd.mdb
|
|
|
Rochª
|
RIO DE JANEIRO RJ - BRASIL
|
|
Postada em 09/08/2004 09:34 hs
JJF se o banco estiver sendo usado na hora da copia (aberto) pode ser que ele não copie direito. O certo seria fazer os usuarios sairem do sistema para que ele copie corretamente. Dependendo do tamanha isso pode ficar muito lento. Voce tem necessidade de fazer isso a cada 10 minutos. Qual o tamanho do banco
__________________________________________________________________________ Qualquer coisa post Rochª
|
|
|
|
Postada em 09/08/2004 09:52 hs
Usando o file copy realmente o BD deve estar fechado para copiar corretamente... por isso uso esta função que copia em lotes e copia 100% sem erros mesmo com o arquivo aberto... o Pgb mencionado é o nome de uma progressBar onde vc pode exibir o andamento da copia. caso precise de mais inf. para utilizar é só solicitar... Function CopiarArquivo(Origem As String, Destino As String, Pgb As Control) As Long Static Buff As String Dim Teste As Long, stMsg As String Dim Fsize As Long Dim Tam As Integer Dim F1 As Integer Dim F2 As Integer Const BufSize = 1024 On Error GoTo fileErro F1 = FreeFile Open Origem For Binary As F1 F2 = FreeFile Open Destino For Binary As F2 Fsize = LOF(F1) Teste = Fsize - LOF(F2) Pgb.Max = Fsize + 1 Do If Teste < BufSize Then Tam = Teste Else Tam = BufSize End If Buff = String(Tam, " ") Get F1, , Buff Put F2, , Buff Teste = Fsize - LOF(F2) Pgb.Value = (Pgb.Max - Int(Pgb.Max * Teste / Fsize)) DoEvents Loop Until Teste = 0 Close F1 Close F2 CopiarArquivo = Fsize 'Pgb.Value = 0 Exit Function fileErro: stMsg = "Não foi possivel concluir a copia do arquivo " _ & Origem & Chr(13) & Chr(13) & "Verifique o seguinte Erro: " _ & Err.Number & " " & Err.Description MsgBox stMsg, vbCritical, "Erro ao copiar arquivo." Msg = "Erro -> " & Err.Description MsgBox Msg fcWriteLog (Msg) Close F1 Close F2 End Function
|
|
|
Tekki
|
UBERLÂNDIA MG - BRASIL
|
|
Postada em 09/08/2004 14:05 hs
Private Sub Form_Load() Me.Hide Timer1.Interval = 65535 'Vai veriricar em pouco mais de 1 minuto Timer1.Enabled = True End Sub Private Sub Timer1_Timer() 'Sempre que for hora:10, hora:20... sempre o o minuto terminar com 0 (Zero) If Right(Minute(Time), 1) = 0 Then '10, 20, 30, 40, 50, 00 'Se o banco não estiver em uso, pode ser assim. FileCopy "C:Banco.mdb", "D:BkBanco.mdb" 'Se o banco estiver em uso, use assim: http://www.vbweb.com.br/forum_resp.asp?Codigo=103325 End If End Sub
|
TÓPICO EDITADO
|
|
|
|
|
Postada em 09/04/2005 15:37 hs
|
|
|
|