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]Backup do Back_End com password a partir do Front_End

    Compartilhe

    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2746
    Registrado : 06/11/2009

    [Resolvido]Backup do Back_End com password a partir do Front_End

    Mensagem  Assis em Sab 17 Out 2015, 12:38 am

    Mestre

    Nesta instrução como inserir a senha do Back_End que é "123456"

    strSource = Split(Split(CurrentDb.TableDefs("NomeDaTabelaVinculada").Connect, "Database=")(1), ";")(0)

    Esta linha é deste tópico que encontrei na Net para backup do Back-End, e sem senha funciona, mas se o back end tiver senha ... pede a senha

    [Você precisa estar registrado e conectado para ver este link.]

    Obrigado




    .................................................................................
    *** Só sei que nada sei ***

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Backup do Back_End com password a partir do Front_End

    Mensagem  ahteixeira em Sab 17 Out 2015, 1:29 am

    Olá Assis, fiz a tradução, para melhor compreensão.

    Repare na linha que postou, tem que colocar o nome da tabela ligada, veja no meu exemplo é a tabela "tbl_clientes"
    strSource = Split(Split(CurrentDb.TableDefs("tbl_clientes").Connect, "Database=")(1), ";")(0)

    Quanto à questão da password, veja como deve fazer:
    DBEngine.CompactDatabase strDestination & ".cpk", strDestination, ";pwd=1234", , ";pwd=1234"

    Código:
    On Error GoTo Err_Handler
       Dim oFSO As Object
       Dim strDestination As String
       Dim strSource As String
       Dim path As String, name As String

       path = CurrentProject.path
       name = CurrentProject.name
       Const conPATH_FILE_ACCESS_ERROR = 75

    'Para obter o caminho da fonte da tabela do back end (ligada)
       strSource = Split(Split(CurrentDb.TableDefs("tbl_clientes").Connect, "Database=")(1), ";")(0)

       'Definir o destino do backup
       strDestination = path & "\" & Left(name, Len(name) - 4) & "_backup" & "_" & _
    Year(Now) & "_" & Month(Now) & "_" & Day(Now) & ".mdb"

    'Para apagar outro backup do mesmo dia, caso exista
       If Dir(strDestination) <> "" Then
       Kill strDestination
       End If

    'aqui cria um backup em caminho de destino
       If Dir(strDestination) = "" Then
       'Libertar o cache do banco de dados atual
       DBEngine.Idle

       'Criar script que irá efectuar o backup do db
       Set oFSO = CreateObject("Scripting.FileSystemObject")
       oFSO.CopyFile strSource, strDestination
       Set oFSO = Nothing

       'compactar o novo ficheiro, ...
       Name strDestination As strDestination & ".cpk"
       DBEngine.CompactDatabase strDestination & ".cpk", strDestination, ";pwd=1234", , ";pwd=1234"
       Kill strDestination & ".cpk"

       'mensagem de aviso
       MsgBox "Ficheiro de Backup '" & strDestination & "' foi criado com sucesso!", vbInformation, "Backup Completo"

    End If

    Exit_Button_Backup:

     Exit Sub

    Err_Handler:
     If Err.Number = conPATH_FILE_ACCESS_ERROR Then
       MsgBox "The following Path, " & strDestination & ", already exists or there was an Error " & _
              "accessing it!", vbExclamation, "Path/File Access Error"
     Else
       MsgBox Err.Description, vbExclamation, "Error Creating " & strDestination

    End If
       Resume Exit_Button_Backup

    Segue o meu teste abaixo.

    Nota, vou dividir o tópico para ficar mais coerente.
    Cabe a todos ter cuidado ao postar, de forma a se manter o fórum "arrumado".

    Abraço
    Anexos
    AssisTesteBackup.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (30 Kb) Baixado 5 vez(es)


    Última edição por ahteixeira em Sex 29 Jan 2016, 3:58 pm, editado 2 vez(es)

    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2746
    Registrado : 06/11/2009

    Re: [Resolvido]Backup do Back_End com password a partir do Front_End

    Mensagem  Assis em Sab 17 Out 2015, 1:59 pm

    Teixeira

    Mude o back-End de sitio e teste, devia fazer a revinculação automática.
    Retiro o que disse acima...
    Não tinha alterado a Pass de 1234 para a minha ...

    Bom fim de semana e

    Obrigado


    .................................................................................
    *** Só sei que nada sei ***

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Backup do Back_End com password a partir do Front_End

    Mensagem  ahteixeira em Sab 17 Out 2015, 3:04 pm

    Olá Assis, obrigado pelo retorno.
    Para esclarecer os restantes colegas, este código apenas compacta à base de dados do back_end e faz o backup.
    A linha de código que você postou na mensagem n. 1 , é para recolher o caminho e nome da base de dados do back_end da tabela.
    Abraço e bom fim de semana.

      Data/hora atual: Qui 08 Dez 2016, 1:02 am