MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]erro no código para backup

    Compartilhe

    Tobiasfranca
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 08/05/2013

    [Resolvido]erro no código para backup

    Mensagem  Tobiasfranca em Qui 17 Jul 2014, 01:18

    Boa noite!!
    Estou colocando uma funcionalidade no meu bd para que todas as vezes que o usuário sair do sistema o mesmo pergunte se ele deseja realizar o backup, não sou experiente com vb portanto aproveitei alguns códigos que encontrei no fórum, acontece que quando o usuário clica na opção para realizar o backup aparece uma mensagem de erro: "caminho não encontrado". como não sou experiente no assunto peço ajuda para encontrar o erro no meu código, segue abaixo:


    Private Sub bt_sair_Click()
    If MsgBox("Deseja realmente sair do sistema?", vbYesNo, "Confirmação") = vbYes Then
    If MsgBox("Gostaria de fazer o backup antes de sair?", vbYesNo, "ATENÇÃO...") = vbYes Then
    'comando para backup
    Dim source As String
    Dim destine As String
    Dim fso As Variant

    source = "c:\access"
    destine = "c:\backup\access"

    Set fso = CreateObject("Scripting.FileSystemObject")
    yearstr = Year(Date)
    monthstr = Month(Date)
    daystr = Day(Date)
    If monthstr < 10 Then
    monthstr = "0" & monthstr
    End If
    If daystr < 10 Then
    daystr = "0" & daystr
    End If
    destine = destine & yearstr & monthstr & daystr
    fso.CopyFolder source, destine, True
    Set fso = Nothing
    MsgBox "Backup realizado com sucesso."

    Else
    DoCmd.Quit

    End If
    End If
    End Sub

    o depurador sempre seleciona a seguinte linha como erro: "fso.CopyFolder source, destine, True"


    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2503
    Registrado : 29/06/2012

    Re: [Resolvido]erro no código para backup

    Mensagem  Noobezinho em Qui 17 Jul 2014, 02:03

    Olá Tobias


    Aqui:

    source = "c:\access"  ' Aqui você deve colocar o caminho até a tua aplicação, inclusive o nome dela.(exemplo: C:\pasta\pasta\aplicação.mdb)
    destine = "c:\backup\access" ' aqui você deve definira a pasta de destino com o nome que deseja para o arquivo de backup.

    Abs

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    Tobiasfranca
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 08/05/2013

    Re: [Resolvido]erro no código para backup

    Mensagem  Tobiasfranca em Qui 17 Jul 2014, 09:54


    Obrigado pela ajuda, fiz as alterações no código, porém o mesmo erro continua, agora ficou assim:

    source = "C:\Users\Faturamento\Google Drive\RPA - Access\RPA.accdb"
    destine = "C:\Users\Faturamento\Google Drive\backup\RPA.accdb"

    a linha de comando com erro é a seguinte: "fso.CopyFolder source, destine, True"

    Tobias

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3214
    Registrado : 15/03/2013

    Re: [Resolvido]erro no código para backup

    Mensagem  ahteixeira em Qui 17 Jul 2014, 11:29

    Olá a todos,

    Qual é o código e descrição do erro?

    Este código está no ficheiro "C:\Users\Faturamento\Google Drive\RPA - Access\RPA.accdb" ?

    Abraço

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2503
    Registrado : 29/06/2012

    Re: [Resolvido]erro no código para backup

    Mensagem  Noobezinho em Qui 17 Jul 2014, 12:53

    Tobias

    Eu fiz uma revisão no código e vi o que ainda estava errado.
    Inclusive inverti a forma que irá ser gravado o arquivo de backup.
    Ele deve gravar o arquivo assim:
    RPA_Dia_Mês_Ano.accdb

    Para evitar erros de digitação, copie e cole todo o código abaixo.

    Código:

    Private Sub bt_sair_Click()
    If MsgBox("Deseja realmente sair do sistema?", vbYesNo, "Confirmação") = vbYes Then
       If MsgBox("Gostaria de fazer o backup antes de sair?", vbYesNo, "ATENÇÃO...") = vbYes Then
          'comando para backup
          Dim source As String
          Dim destine As String
          Dim fso As Variant

          source = "C:\Users\Faturamento\Google Drive\RPA - Access\RPA.accdb"
          destine = "C:\Users\Faturamento\Google Drive\backup\RPA"

          Set fso = CreateObject("Scripting.FileSystemObject")
          yearstr = Year(Date)
          monthstr = Month(Date)
          daystr = Day(Date)
          If monthstr < 10 Then
             monthstr = "0" & monthstr
          End If
          If daystr < 10 Then
             daystr = "0" & daystr
          End If
          destine = destine &_& daystr &_& monthstr &_ & yearstr & ".accdb"
          fso.CopyFolder source, destine, True
          Set fso = Nothing
          MsgBox "Backup realizado com sucesso."
       Else
          DoCmd.Quit

       End If
    End If
    End Sub


    Teste, se der erro, diga a linha, o código do erro e a descrição dele

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    Tobiasfranca
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 08/05/2013

    Re: [Resolvido]erro no código para backup

    Mensagem  Tobiasfranca em Qui 17 Jul 2014, 13:08

    Agora o erro foi diferente: "Erro de sintaxe"

    Private Sub bt_sair_Click()
    If MsgBox("Deseja realmente sair do sistema?", vbYesNo, "Confirmação") = vbYes Then
      If MsgBox("Gostaria de fazer o backup antes de sair?", vbYesNo, "ATENÇÃO...") = vbYes Then
         'comando para backup
         Dim source As String
         Dim destine As String
         Dim fso As Variant

         source = "C:\Users\Faturamento\Google Drive\RPA - Access\RPA.accdb"
         destine = "C:\Users\Faturamento\Google Drive\backup\RPA"

         Set fso = CreateObject("Scripting.FileSystemObject")
         yearstr = Year(Date)
         monthstr = Month(Date)
         daystr = Day(Date)
         If monthstr < 10 Then
            monthstr = "0" & monthstr
         End If
         If daystr < 10 Then
            daystr = "0" & daystr
         End If
         destine = destine &_& daystr &_& monthstr &_ & yearstr & ".accdb"
         fso.CopyFolder source, destine, True
         Set fso = Nothing
         MsgBox "Backup realizado com sucesso."
      Else
         DoCmd.Quit

      End If
    End If
    End Sub

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2503
    Registrado : 29/06/2012

    Re: [Resolvido]erro no código para backup

    Mensagem  Noobezinho em Qui 17 Jul 2014, 13:21

    É verdade, ainda estou dormindo  Crying or Very sad 


    destine = destine & "_" & daystr & "_" & monthstr & " _" & yearstr & ".accdb"

    Pronto

    Agora vai !

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    Tobiasfranca
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 08/05/2013

    Re: [Resolvido]erro no código para backup

    Mensagem  Tobiasfranca em Qui 17 Jul 2014, 13:45

    Acho que ja estou sendo chato com isso, mas esse erro persiste.

    Erro em tempo de execução '76'.
    Caminho não localizado.

    fso.CopyFolder source, destine, True (depurador)

    já verifiquei e os arquivos e pastas estão no local correto. Sera que esse erro ocorre pelo fato do banco estar aberto no momento de executar o código?

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2503
    Registrado : 29/06/2012

    Re: [Resolvido]erro no código para backup

    Mensagem  Noobezinho em Qui 17 Jul 2014, 14:51

    É provável

    Vou fazer um teste aqui e retorno.

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2503
    Registrado : 29/06/2012

    Re: [Resolvido]erro no código para backup

    Mensagem  Noobezinho em Qui 17 Jul 2014, 15:43

    Tobias

    Primeiro: Esse código não está legal
    Segundo: Verifique se a pasta RPA - Access tem esses espaços, cuidado com isso
    Terceiro: Mudei o código, veja que só deixei as frases em verde (vai ve-las quando copiar para o Access) só para ver
    o que mudei, então pode tirar-las.

    O backup é feito  na linha FileCopy source, destine

    Você não vai conseguir copiar do mesmo programa que está aberto.

    Código:


    If MsgBox("Deseja realmente sair do sistema?", vbYesNo, "Confirmação") = vbYes Then
       If MsgBox("Gostaria de fazer o backup antes de sair?", vbYesNo, "ATENÇÃO...") = vbYes Then
          'comando para backup
          Dim source As String
          Dim destine As String
          Dim fso As Variant
          
          source = "C:\Users\Faturamento\Google Drive\RPA - Access\RPA.accdb"
          destine = "C:\Users\Faturamento\Google Drive\backup\RPA"
          
          'Set fso = CreateObject("Scripting.FileSystemObject")
          yearstr = Year(Date)
          monthstr = Month(Date)
          daystr = Day(Date)
          If monthstr < 10 Then
             monthstr = "0" & monthstr
          End If
          If daystr < 10 Then
             daystr = "0" & daystr
          End If
          destine = destine & "_" & daystr & "_" & monthstr & " _" & yearstr & ".mdb"
          'fso.CopyFolder source, destine, True
          'Set fso = Nothing
            FileCopy source, destine
          MsgBox "Backup realizado com sucesso."
       Else
          DoCmd.Quit

       End If
    End If

    Só mais duas coisas, melhor colocar o backup ao iniciar o programa e forçar o backup.
    Porque ninguém vai querer fazer backup ao terminar o programa (Estão loucos pra ir embora, nesse caso, Twisted Evil )
    Backup no mesmo pc não é backup, somente é backup quando é feito em outro local fora do pc.

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2503
    Registrado : 29/06/2012

    Re: [Resolvido]erro no código para backup

    Mensagem  Noobezinho em Sab 19 Jul 2014, 11:59

    Como ficamos Tobias?

    Noob


    .................................................................................
    Noobezinho

    * A solução funcionou?  [Você precisa estar registrado e conectado para ver esta imagem.] 
    Agradeça e feche o tópico clicando no botão Resolvido
    Se não sabe como, veja [Você precisa estar registrado e conectado para ver este link.].

    Como anexar imagem no teu post do fórum : [Você precisa estar registrado e conectado para ver este link.]

    * Criar arquivos.zip com o Winrar - veja [Você precisa estar registrado e conectado para ver este link.].

    Atualmente estou verificando se quem está pedindo ajuda, ajudamos e não retornou.
    Se a pessoa em questão não deu retorno, não tentarei ajudar novamente .

    Tobiasfranca
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 33
    Registrado : 08/05/2013

    Re: [Resolvido]erro no código para backup

    Mensagem  Tobiasfranca em Qua 13 Ago 2014, 13:45

    Obrigado.

      Data/hora atual: Qui 08 Dez 2016, 00:09