MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    Select com tabelas de dois bancos (Banco Atual e Outro)

    avatar
    ronysaraujo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 09/05/2012

    Select com tabelas de dois bancos (Banco Atual e Outro) Empty Select com tabelas de dois bancos (Banco Atual e Outro)

    Mensagem  ronysaraujo 29/8/2013, 16:59

    Pessoal,
    Desculpe-me se a solução já foi tratada em outro tópico, mas realmente procurei e não achei...

    Preciso de um Select em VBA que me traga os dados de uma tabela de um banco Oracle com base em uma tabela do próprio banco Acess.

    Exemplificando seria mais ou menos assim:

    Dim Conn As New ADODB.connection
    Dim rsADO As New ADODB.Recordset
    Dim sql As String

    Conn.ConnectionString = "Driver={Microsoft ODBC for Oracle}; " & _
           "CONNECTSTRING=exemplo;uid=usuario;pwd=123;"

    Conn.Open

    sql = "Select t1.campo1, t1.campo2, t1.campo3" & _
         "from Tabela1 t1 inner join Tabela2 t2 on t1.campo1=t2.campo1"

    rsADO.open sql, Conn
    ...

    Sendo:

    Tabela1 = Tabela do Oracle
    Tabela2 = Tabela do Access (Banco Atual)

    Já configurei a conexão do Oracle corretamente (ODBC), mas creio que precisa de algo mais pois retorna o erro de tabela inexistente.

    Grato por qualquer ajuda.


    Última edição por ronysaraujo em 29/8/2013, 19:03, editado 1 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    Select com tabelas de dois bancos (Banco Atual e Outro) Empty Re: Select com tabelas de dois bancos (Banco Atual e Outro)

    Mensagem  Alexandre Neves 29/8/2013, 17:15

    Boa tarde, e bem-vindo ao fórum
    Não utilizo conexão, no entanto parece-me que, ao chamar a conexão com o Oracle o drive vai procurar as duas tabelas no Oracle.
    Passe a tabela do oracle para a bd e, depois, faça a ligação entre as duas tabelas na bd


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    ronysaraujo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 09/05/2012

    Select com tabelas de dois bancos (Banco Atual e Outro) Empty Re: Select com tabelas de dois bancos (Banco Atual e Outro)

    Mensagem  ronysaraujo 29/8/2013, 17:43

    Obrigado Alexandre pelas boas vindas e pela resposta...

    Originariamente, meu bd já era dessa forma (com tabelas vinculadas) mas decidi tentar colocar tudo nos códigos, visto o grande número de tabelas do Oracle que utilizo.
    Será que não há uma forma de fazer no próprio VBA?

    Vi algumas coisas sobre dbo, links, mas não sei utilizar...
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    Select com tabelas de dois bancos (Banco Atual e Outro) Empty Re: Select com tabelas de dois bancos (Banco Atual e Outro)

    Mensagem  Alexandre Neves 29/8/2013, 17:59

    Faz bem ter tudo em código. Assim, fica mais organizado
    Tente, para executar instrução criar tabela
    sql = "Select campo1, campo2, campo3 INTO TabelaDestino from Tabela1"


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    ronysaraujo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 09/05/2012

    Select com tabelas de dois bancos (Banco Atual e Outro) Empty Re: Select com tabelas de dois bancos (Banco Atual e Outro)

    Mensagem  ronysaraujo 29/8/2013, 19:09

    Não entendi bem o que vc quis dizer...

    Como eu usaria essa instrução no exemplo que passei?

    Não teria como eu dizer, naquele mesmo script, que a outra tabela está no banco atual?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    Select com tabelas de dois bancos (Banco Atual e Outro) Empty Re: Select com tabelas de dois bancos (Banco Atual e Outro)

    Mensagem  Alexandre Neves 29/8/2013, 20:08

    tente
    Dim Conn As New ADODB.connection
    Dim rsADO As New ADODB.Recordset
    Dim sql As String

    Conn.ConnectionString = "Driver={Microsoft ODBC for Oracle}; " & _
    "CONNECTSTRING=exemplo;uid=usuario;pwd=123;"

    Conn.Open

    sql = "Select campo1, campo2, campo3 INTO TabelaDestino from Tabela1"

    rsADO.execute sql, Conn

    'aqui já deve ter a tabela TabelaDestino criada. verifique


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Conteúdo patrocinado


    Select com tabelas de dois bancos (Banco Atual e Outro) Empty Re: Select com tabelas de dois bancos (Banco Atual e Outro)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 01:23