MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    [Resolvido]Executar código

    avatar
    bobperes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 23/03/2021

    [Resolvido]Executar código Empty [Resolvido]Executar código

    Mensagem  bobperes 9/3/2022, 00:32

    Boa noite amigos do fórum.

    Tenho uma dúvida quanto a um código que encontrei do qual não sei quem é o autor do mesmo...
    Estava criando um formulário para realizar o backup do meu banco de dados e gostei de como esse código faz isso...
    O problema é: Não consegui de maneira alguma fazer com que o mesmo funcione !

    Segue código

    Option Explicit
    Dim PastaDosBackups As String
    Sub Fazer_Backup()
       Dim Fazer_Backup As Boolean
       Dim PastaComBD As String
       Dim NomeBanco As String
           
       'Pasta com os Bancos:
       PastaComBD = "F:\Sistema\Diario\Sistema Diário"

       'Pasta para os Backups:
       PastaDosBackups = "F:\Sistema\Diario\Backup_Sys"

       If Len(Dir("F:\Sistema\Diario\Backup_Sys", vbDirectory)) = 0 Then
           MkDir "F:\Sistema\Diario\Backup_Sys"
       End If

       'Criando pasta do dia
       If Len(Dir(PastaDosBackups & Format(Range("B5"), "YYYYMMDD ddd"), vbDirectory)) = 0 Then
           MkDir PastaDosBackups & Format(Range("B5"), "YYYYMMDD ddd")
           Fazer_Backup = True
       End If

       '***Fazendo Backups
       If Fazer_Backup = True Then
           'NomeBanco = Dir(PastaComBD & "*.a*db*")
           NomeBanco = Dir(PastaComBD & "*.*")
           Do While Len(NomeBanco) > 0
               If InStr(1, NomeBanco, "Copia", vbTextCompare) = 0 Then
                   FileCopy PastaComBD & NomeBanco, PastaDosBackups & Format(Range("B5"), "YYYYMMDD ddd") & "\" & NomeBanco
               End If
               NomeBanco = Dir
           Loop
           Close 1
                   
           'Criando arquivo de Log
           Open PastaDosBackups & Format(Range("B5"), "YYYYMMDD ddd") & "\" & "_Backup feito em " & Format(Now, "DD-MM-YY DDD HH.MM") & ".txt" For Output As 1
           Print #1, "Backup feito em: " & Now & " por " & Environ("UserName")
           Close 1
           
           'Apagar última pasta
           If Numero_Pastas(PastaDosBackups) > 5 Then
               PastaComBD = Dir(PastaDosBackups, vbDirectory)
               Do While PastaComBD <> ""
                   If IsNumeric(Mid(PastaComBD, 1, 4)) Then
                       Kill (PastaDosBackups & PastaComBD & "\*.*")
                       RmDir (PastaDosBackups & "\" & PastaComBD)
                       MsgBox "Backup efetuado com sucesso!", vbInformation, "Ok"
                       Exit Sub
                   End If
                   PastaComBD = Dir
               Loop
           Else
               MsgBox "Backup efetuado com sucesso!", vbInformation, "Ok"
           End If
       Else
           MsgBox "Não foi feito backup, pois já existe pasta criada.", vbCritical, "Atenção,"
       End If
    End Sub

    Public Function Numero_Pastas(PastaDosBackups As String) As Single
       Dim Nome_Pasta As String
       
       Nome_Pasta = Dir(PastaDosBackups & "\", vbDirectory)
       
       Do While Nome_Pasta <> ""
           If (GetAttr(PastaDosBackups & Nome_Pasta) And vbDirectory) = vbDirectory Then
               Nome_Pasta = Replace(Nome_Pasta, ".", "")
               If Len(Nome_Pasta) > 0 Then
                   Numero_Pastas = Numero_Pastas + 1
               End If
           End If
           Nome_Pasta = Dir()
       Loop
    End Function

    Acredito que o mesmo deve ter sido criado para executar em VBA com EXCEL pois possui algumas linhas com a expressão (Range("B5")...
    Isso acredito ser tabelas do Excel certo ??

    Como posso fazer esse camarada executar corretamente em meu sistema ?

    Desde já agradeço.

    Att,
    Peres
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido]Executar código Empty Re: [Resolvido]Executar código

    Mensagem  JPaulo 9/3/2022, 10:33

    Existem aqui mais de mil metodos de backup para o seu banco, é só dar uma pesquisada;

    Este é apenas um:

    Código:
    Function BackBD()
    'elaborado por: JPaulo - 11/10/2006
    'objectivo: criar (1) uma copia de seguranca por mes
    ' 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

    'verifica se a pasta existe
    If Len(Dir("C:\SuaPastaBackup", vbDirectory)) = 0 Then
          MkDir "C:\SuaPastaBackup"
    End If
     
    Caminho = "C:\SuaPastaBackup\NovoNomeParaObanco_" 'Nome da pasta e nome de inicio para o banco de backup

    Set CopiaSegura = CreateObject("Scripting.FileSystemObject")
    CopiaSegura.CopyFile CurrentProject.Path & "\NomeDoSeuBanco.accdb", Caminho & Format(Now, "_ddmmyyyy") & ".accdb"
    End Function


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Executar código Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Executar código Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Executar código Folder_announce_new Instruções SQL como utilizar...
    avatar
    bobperes
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 49
    Registrado : 23/03/2021

    [Resolvido]Executar código Empty Re: [Resolvido]Executar código

    Mensagem  bobperes 9/3/2022, 23:52

    Valeu JPaulo.
    Agradeço a atenção !

    Conteúdo patrocinado


    [Resolvido]Executar código Empty Re: [Resolvido]Executar código

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/10/2024, 02:18