USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Copiar um bd Access2000 para outra pasta a cada 10
JJF
GUARULHOS
SP - BRASIL
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ª
Pontos: 2843 Pontos: 2843 Pontos: 2843
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
 
Emoções
Rochª
     
Dirceu
não registrado
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
Pontos: 2843 Pontos: 2843 Pontos: 2843
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
   
JJF
GUARULHOS
SP - BRASIL
Postada em 09/04/2005 15:37 hs            
Tekki   consegui no  http://www.vbweb.com.br/forum_resp.asp?Codigo=103325   obrigado.
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página