Pessoal, bom dia
Pesquisando vários tópicos encontrei um código criado pelo mestre JPaulo num exemplo chamado Marcos_BackupBanco.mdb
No meu local de trabalho tem 3 máquinas, uma é o servidor, BE/FE e as outras 2 funcionam com FE com vinculação de tabelas.
Eu gostaria de ajuda pra ajustar o código abaixo para que a função BackBD analise se a pasta existe na rede, e caso não exista crie, salvando um backup por dia.
A pasta que teria o caminho de rede pode se chamar Backup1
No nome do servidor a título de exemplo pode se chamar Secretaria
É possível?
Segue o exemplo, mudei apenas os nomes e alterei para backup para diário, creio que estava mensal:
Achei este exemplo do metre nobezinho (paradoxo) para salvar em rede, mas não sei juntar os 2 em linguagem de código. Alterei tb alguma coisa nele e coloquei no caminho C: ...
Ultimo questionamento:
Eu preciso definir o caminho da rede onde encontrar o "back end" e o caminho de rede onde a cópia será salva...
O caminho da rede onde o "back end" está corresponde a linha que começa em "CopiaSegura.CopyFile...."?
No meu caso a pasta onde o sistema estará não será a mesma em que vão ser salvos os backups, pra não correr risco de numa limpeza alguém deletar o back end.
Achei também outro tópico do Mestre JPaulo, que tem um código que salva em C: três vezes ao dia. No meu caso eu necessito que salve na rede 1 x por dia.
Obrigado pela ajuda.
Pesquisando vários tópicos encontrei um código criado pelo mestre JPaulo num exemplo chamado Marcos_BackupBanco.mdb
No meu local de trabalho tem 3 máquinas, uma é o servidor, BE/FE e as outras 2 funcionam com FE com vinculação de tabelas.
Eu gostaria de ajuda pra ajustar o código abaixo para que a função BackBD analise se a pasta existe na rede, e caso não exista crie, salvando um backup por dia.
A pasta que teria o caminho de rede pode se chamar Backup1
No nome do servidor a título de exemplo pode se chamar Secretaria
É possível?
Segue o exemplo, mudei apenas os nomes e alterei para backup para diário, creio que estava mensal:
JPaulo escreveu:
Function BackBD()
'elaborado por: JPaulo - 11/10/2006
'objectivo: criar (1) uma copia de segurança por mês
' pode ser alterado para (1) uma por dia, ou uma (1) por ano, para
'isso basta alterarem o Format(Now(), "_mmyyyy") para Format(Now(), "_ddmmyyyy")
'O caminho tem de ter o nome da pasta, neste caso Backup e o nome que querem dar
' à MDB da cópia.
Dim CopiaSegura As Object
Dim Caminho As String
Caminho = "C:\Backup1\Backup" 'Nome da pasta e nome de inicio para o banco de backup
Set CopiaSegura = CreateObject("Scripting.FileSystemObject")
CopiaSegura.CopyFile CurrentProject.Path & "\meubd.mdb", Caminho & Format(Now, "_ddmmyyyy") & ".mdb"
End Function
Private Sub Form_Close()
Call BackBD
End Sub
Achei este exemplo do metre nobezinho (paradoxo) para salvar em rede, mas não sei juntar os 2 em linguagem de código. Alterei tb alguma coisa nele e coloquei no caminho C: ...
nobezinho escreveu:
CopiaSegura.CopyFile "\\Secretaria\C:\Backup1\meubd.accdb", Caminho & "\" & Backuprede & "_" & Format(Now, "_ddmmyyyy") & ".accdb"
Ultimo questionamento:
Eu preciso definir o caminho da rede onde encontrar o "back end" e o caminho de rede onde a cópia será salva...
O caminho da rede onde o "back end" está corresponde a linha que começa em "CopiaSegura.CopyFile...."?
No meu caso a pasta onde o sistema estará não será a mesma em que vão ser salvos os backups, pra não correr risco de numa limpeza alguém deletar o back end.
Achei também outro tópico do Mestre JPaulo, que tem um código que salva em C: três vezes ao dia. No meu caso eu necessito que salve na rede 1 x por dia.
JPaulo escreveu:Private Sub Form_Close()
'elaborado por: JPaulo - 11/10/2006
'objectivo: criar (1) uma copia de segurança por mês
' pode ser alterado para (1) uma por dia, ou uma (1) por ano, para
'isso basta alterarem o Format(Now(), "_mmyyyy") para Format(Now(), "_ddmmyyyy")
'O caminho tem de ter o nome da pasta, neste caso Backup e o nome que querem dar
' à MDB da cópia.
'Revisão em 30-09-2010, para manter os 3 ultimos backups do dia.
On Error Resume Next
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists("c:\Backup Condominio") Then ' verifica se já existe a pasta
Else
MkDir "c:\Backup Condominio" 'se não existir cria
End If
Dim CopiaSegura As Object
Dim Caminho As String
Dim CopiaBancoTabelas As Object
Dim CaminhoTabelas As String
Dim x, y, z As String
Caminho = "c:\Backup Condominio\Backup" 'Nome da pasta e nome de inicio para o banco de backup
Set CopiaSegura = CreateObject("Scripting.FileSystemObject")
x = Caminho & Format(Now, "_ddmmyyyy") & "_" & 1 & ".accdb"
y = Caminho & Format(Now, "_ddmmyyyy") & "_" & 2 & ".accdb"
z = Caminho & Format(Now, "_ddmmyyyy") & "_" & 3 & ".accdb"
If Not (Len(Dir(x, vbDirectory)) > 0) Then
CopiaSegura.CopyFile CurrentProject.Path & "\CONDO com RIBBON.accdb", Caminho & Format(Now, "_ddmmyyyy") & "_" & 1 & ".accdb"
ElseIf Not (Len(Dir(y, vbDirectory)) > 0) Then
CopiaSegura.CopyFile CurrentProject.Path & "\CONDO com RIBBON.accdb", Caminho & Format(Now, "_ddmmyyyy") & "_" & 2 & ".accdb"
Else
Kill z
CopiaSegura.CopyFile CurrentProject.Path & "\CONDO com RIBBON.accdb", Caminho & Format(Now, "_ddmmyyyy") & "_" & 3 & ".accdb"
End If
Quit acQuitSaveAll
End Sub
Obrigado pela ajuda.
Última edição por FlavioLima em 25/4/2016, 20:59, editado 1 vez(es)