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

    Conectando em uma Base Oracle e acrescentando dados a uma tabela

    Compartilhe

    efgomes
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 15/12/2011

    Conectando em uma Base Oracle e acrescentando dados a uma tabela

    Mensagem  efgomes em 6/3/2018, 15:53

    Pessoal, boa tarde!

    Aqui no trabalho, eu fiz criei um Banco de Dados Access onde conecto em uma Base Oracle (com a ajuda da internet, é claro) e, estou tentando preencher uma tabela, nesse mesmo banco, com os dados provenientes do Banco de dados Oracle.
    O problema é o seguinte. Eu até conecto normalmente e acrescento dados a tabela, mas, isso é feito de um a um. Ou seja, se a consulta "retornar" 1000 registros, vou ter que "rodar" a Função igualmente 1000 vezes.
    Alguém pode me ajudar? Vou postar o código:



    Public Function Teste()

    Dim BancoDados As DAO.Database
    Dim RSteste As DAO.Recordset

    Set BancoDados = CurrentDb()
    Set RSteste = BancoDados.OpenRecordset("Tabela1", dbOpenDynaset)


    Dim strCon
     
    strCon = "Driver={Microsoft ODBC for Oracle};" & _
                "CONNECTSTRING=(DESCRIPTION=" & _
                "(ADDRESS=(PROTOCOL=TCP)" & _
                "(HOST=150.164.93.144)(PORT=1521))" & _
                "(CONNECT_DATA=(SID=sml)));uid=consulta;pwd=consulta;"
       
       Dim oCon As ADODB.Connection
       Set oCon = CreateObject("ADODB.Connection")
       Dim oRs As ADODB.Recordset
       Set oRs = CreateObject("ADODB.Recordset")
       oCon.Open strCon
       Set oRs = oCon.Execute("SELECT * FROM atendime")
       oRs.MoveFirst
         
     
    RSteste.AddNew
           
               RSteste("campo1") = oRs(0).Value
               RSteste("campo2") = oRs(1).Value

       oCon.Close
       Set oRs = Nothing
       set oCon = Nothing
               
    End Function
    avatar
    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1237
    Registrado : 05/02/2010

    Conectando em uma Base Oracle e acrescentando dados a uma tabela

    Mensagem  good guy em 6/3/2018, 19:50

    Olá gomes,

    Não trabalho com a biblioteca ADO mas se eu entendi bem o que você deseja é incluir uma tabela do ORACLE com 1000 registros no Access. Neste caso você tem que trabalhar com ADO para estabelecer uma conexão, mas a parte do SQL eu tenho o seguinte em DAO. Tente adaptar:

    Código:

    Private Sub cmdinserir_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset

    Set db = OpenRecordset("SuaTabela", dbOpenTable)

    CurrentDb.Execute " INSERT INTO SuaTabela1 " _
    & "SELECT * " _
    & "FROM SuaTabela2

        db.Close

        Set db = Nothing
        DoCmd.SetWarnings False
    End Sub

      Data/hora atual: 21/11/2018, 02:20