Ir ao conteúdo
  • Cadastre-se
Crafteribanez

Excel Excel SQL duas Pastas

Recommended Posts

Boa Tarde

 

Estou tentando fazer uma SQL no VBA, porém com a conexão a duas pastas de trabalho no mesmo diretório.

Via conexão pelo Ribbon eu consigo fazer, porém quero aprender como fazer o código.

 

A primeira consulta que fiz retornou os dados corretamente, porém com apenas uma pasta

Sub ConsultaSQL()

    Dim ConexaoPlan As New ADODB.Connection
    
    Dim rsConsulta As New ADODB.Recordset
    Dim sql As String
    
    Plan1.Range("A2:E5000").Value = Empty
    Plan1.Range("A4").Select
    
    ConexaoPlan.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\PastaExcel\Pasta1.xls'" & ";Extended Properties=Excel 8.0"
    
    ConexaoPlan.Open
  
    sql = "Select * from [Base1$]"
    
    rsConsulta.Open sql, ConexaoPlan, adOpenKeyset, adLockOptimistic
    
    Plan1.Range("A2").CopyFromRecordset rsConsulta
    
End Sub

A segunda consulta, não estou conseguindo unir duas Pastas de trabalho no mesmo diretório.

Sub ConsultaSQL2()

    Dim ConexaoPlan As New ADODB.Connection
    Dim ConexaoPlan2 As New ADODB.Connection
    
    Dim rsConsulta As New ADODB.Recordset
    Dim sql As String
    
    Plan1.Range("A2:E5000").Value = Empty
    Plan1.Range("A4").Select
    
    ConexaoPlan.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\PastaExcel\Pasta1.xls'" & ";Extended Properties=Excel 8.0"
    ConexaoPlan2.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\PastaExcel\Pasta2.xls'" & ";Extended Properties=Excel 8.0"
    
    ConexaoPlan.Open
    ConexaoPlan2.Open
  
    sql = "Select * from 'C:\PastaExcel\Pasta1.xls'[Base1$]UNION ALL"
    sql = sql & "Select * from 'C:\PastaExcel\Pasta2.xls'[Base1$]"
    
    rsConsulta.Open sql, ConexaoPlan, adOpenKeyset, adLockOptimistic
    
    Plan1.Range("A2").CopyFromRecordset rsConsulta
    
End Sub

Se alguém tiver uma ideia agradeço.

Bom. o projeto é unir mais que dez Pastas de trabalho, porém se eu conseguir com duas consigo com 10.

Grato.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×