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

    Compartilhe
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

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

    Mensagem  Assis em Sex 16 Out 2015, 23:38

    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 ***
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Backup do Back_End com password a partir do Front_End

    Mensagem  ahteixeira em Sab 17 Out 2015, 00:29

    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 10 vez(es)


    Última edição por ahteixeira em Sex 29 Jan 2016, 14:58, editado 2 vez(es)
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

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

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

    Mensagem  Assis em Sab 17 Out 2015, 12:59

    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 ***
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

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

    Mensagem  ahteixeira em Sab 17 Out 2015, 14:04

    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: Qua 16 Ago 2017, 16:02