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

    Abrir aplicação access 2007 com VBA

    Compartilhe

    Motar
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 143
    Registrado : 03/08/2010

    Abrir aplicação access 2007 com VBA

    Mensagem  Motar em Seg 04 Ago 2014, 16:32

    Viva
    Utilizo este código para abrir uma base de dados access com senha e funciona.
    Acontece que tive necessidade de ter o access 2007 e 2010 no meu PC.
    Pretendo que este código abra a base de dados com o 2007 mas assume sempre o 2010, tem como contornar isso?


    Function OpenAccess(SelBd As String)

    Dim LPath As String
    Dim LCategoryID As Long

    Dim oApp As Object

    LPath = CurrentProject.Path & SelBd
    Set oApp = CreateObject("Access.Application")

    oApp.OpenCurrentDatabase LPath, False, "senha"
    oApp.visible = True
    oApp.UserControl = True
    Application.Quit

    End Function

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3348
    Registrado : 04/04/2010

    Re: Abrir aplicação access 2007 com VBA

    Mensagem  Avelino Sampaio em Ter 05 Ago 2014, 13:21

    Olá!

    tente:

    Set oApp = CreateObject("Access.Application.12")

    mesmo assim acho que não vai funcionar.

    Se vc consegue abrir as duas versões ao mesmo tempo talvez consiga usando o SHELL. Veja neste meu artigo(dica 39) como abrir um versão específica do Access, utilizando um atalho.

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

    O Shell utiliza-se da mesma linha de atalho.

    Aproveite e veja na dica 38, que podemos rodar uma macro especifica na inicialização do Shell

    Aguardamos


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    Motar
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 143
    Registrado : 03/08/2010

    Re: Abrir aplicação access 2007 com VBA

    Mensagem  Motar em Ter 05 Ago 2014, 14:12

    Obrigado pelas dicas Avelino
    Set oApp = CreateObject("Access.Application.12")
    Esta opção dá erro:
    Run-time error '429'
    Activex component can`t create object

    A alternativa do sell:
    Como eu aplico com VBA uma vez que a aplicação que pretendo abrir tem senha?

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3348
    Registrado : 04/04/2010

    Re: Abrir aplicação access 2007 com VBA

    Mensagem  Avelino Sampaio em Ter 05 Ago 2014, 14:23

    Humm, é verdade! Não prestei atenção sobre a senha.

    Por que que tem que abrir na versão 2007 se o BD que roda no 2007 geralmente roda sem problemas na versão 2010 ?

    Aguardamos



    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    Motar
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 143
    Registrado : 03/08/2010

    Re: Abrir aplicação access 2007 com VBA

    Mensagem  Motar em Ter 05 Ago 2014, 15:40

    Viva Avelino
    Como a base de dados aonde faço alterações tem senha e não a tento decorar porque é extensa e com múltiplos caracteres, utilizo um ficheiro à parte para a abrir conforme código exposto neste tópico.
    Como está predefinido o 2007 está a acontecer o seguinte:
    O primeiro ficheiro abre no 2007 e ao abrir a base de dados começa a configurar o Office para utilizar o 2010, e eu pretendo é continuar a trabalhar no 2007.
    Esta situação não se torna pratica para eu fazer alterações


    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: Abrir aplicação access 2007 com VBA

    Mensagem  ahteixeira em Ter 05 Ago 2014, 22:26

    Olá a todos, desculpem a intromissão.

    A minha recomendação é ter na máquina de desenvolvimento apenas a versão 2007 com os respetivos ServicePacks.
    Ao distribuir a aplicação (normalmente accde) tanto funciona em 2007 como em 2010 ou 2013.
    O código que utilizo para ligar tabelas com password é o seguinte:
    Código:

    Private Sub Comando0_Click()
     Dim dbs As DAO.Database
     Set dbs = DBEngine.OpenDatabase("C:\LigarDB2007pwd\dados.accdb", False, False, ";pwd=1234")
     DoCmd.TransferDatabase acLink, "Microsoft Access", _
        "C:\LigarDB2007pwd\dados.accdb", acTable, "tblCompradores", _
        "tblCompradores"
      dbs.Close
     Set dbs = Nothing
    End Sub

    Existem mais formas de ligar a tabelas com password podes encontrar coisas muito interessantes nas dicas do Mestre Avelino, no qual aproveito para agradecer toda a dedicação e empenho.

    Abraço

    Motar
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 143
    Registrado : 03/08/2010

    Re: Abrir aplicação access 2007 com VBA

    Mensagem  Motar em Qua 06 Ago 2014, 13:01

    Olá ahteixeira
    Todas as dicas são sempre bem vindas

    Na minha situação obrigatoriamente tenho de ter o 2007 e 2010, pois também necessito de aceder a base de dados 2010 (Não criada por mim).

    A senha que utilizo não é para ligar tabelas (estão em SQL Server), mas sim para proteger a base de dados de importação/ligação de tabelas que de maneira fácil poderiam obter uma ligação às tabelas ODBC do sql server.
    Sei que à softwares que descobrem essas senhas, mas sempre é mais uma segurança.
    Conforme a disponibilidade estou a converter todos os formulários para desvinculados e aí sim julgo que fique bastante segura.

    Um abraço e agradeço a quem me poder ajudar a resolver esta situação

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: Abrir aplicação access 2007 com VBA

    Mensagem  ahteixeira em Qua 06 Ago 2014, 16:56

    Olá,

    Bom quanto às versões , podes realmente ter as duas, mas se não for para desenvolvimento o 2010 seria suficiente, mas adiante, também se pode ter mais que uma versão instalada.
    Segundo percebi, tens uma base de dados com front_end que liga ao SQL e se alguém abrir a base de dados tem acesso aos dados, é isso?
    Não sei como é efetuada a ligação, mas se ficam os dados disponíveis ao abrir alguma coisa e guardada na tabela, verifica o link abaixo do mestre Avelino, se poderá ser utilizada a mesma técnica.

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

    Abraço

    Motar
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 143
    Registrado : 03/08/2010

    Re: Abrir aplicação access 2007 com VBA

    Mensagem  Motar em Qua 06 Ago 2014, 17:30

    Viva
    Em relação a "Segundo percebi, tens uma base de dados com front_end que liga ao SQL e se alguém abrir a base de dados tem acesso aos dados, é isso?"
    Não é bem isso, liga ao SQL Server através de tabelas ligadas e o utilizador não tem acesso aos dados, mas se não tivesse senha teria acesso aos dados se utiliza-se o menu do access para importar dados e fazia o link às tabelas numa nova base de dados.

    A técnica do mestre Avelino está fantástica, mas optei por ir convertendo para formulários desvinculados e penso que seja a forma mais segura e eficiente para ligar ao SQL Server.

    Obrigado pela dica do mestre Avelino, será óptima quando os dados ficam armazenados em access.

    Abraço

      Data/hora atual: Seg 05 Dez 2016, 16:32