MaximoAccess

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

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
    avatar
    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"

    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2807
    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 .
    avatar
    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
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4192
    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
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2807
    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 .
    avatar
    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
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2807
    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 .
    avatar
    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?
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2807
    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 .
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2807
    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 .
    avatar
    Noobezinho
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2807
    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 .
    avatar
    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: Qua 26 Jul 2017, 09:47