Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Dúvida SELECT * from () WHERE ()

Discussões sobre a integração do Excel com o Banco de Dados Access

Moderador: joseA

rodriggobass
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Sex Abr 06, 2018 12:02 am

Dúvida SELECT * from () WHERE ()

Mensagem por rodriggobass »

Boa noite. Estou há alguns dias tentando fazer funcionar algo que acredito ser bem simples, mas não consegui. Li alguns posts do site, mas ainda assim não consegui resolver o problema. tenho uma planilha simples de cadastro em banco de dados do access. Tudo funciona bem, inclusivo listar os dados da tabela no excel. Mas só conseguir listar os dados completos. Preciso buscar dados filtrados por uma coluna específica, preenchida com nomes de funcionários. Acredito que minha sintaxe não está errada, mas quando rodo o código, ocorre "Erro de automação". Podem me ajudar, por favor?

Código: Selecionar todos

Dim filtroConexao As ADODB.Connection 'Esta variável é pública

Public Sub carregarDadosComFiltro()
    Dim nome As String
    nome = Range("J1").Value

    Dim filtro As ADODB.Recordset
    Set filtro = New ADODB.Recordset

    FiltroConectar [highlight=yellow]'Chama a sub que conecta o banco
    'filtro.Open "Select * from Contratos", filtroConexao 'Esta é a linha que carrega os dados completos(está off)
    filtro.Open "Select * from Contratos where Funcionario like'" & """ & nome & """, filtroConexao 'Esta é a linha que deve carregar os dados filtrados.

    Sheets("Contratos").Range("a3:h1048576").ClearContents
    Sheets("Contratos").Cells(3, 1).CopyFromRecordset filtro
    
    If Not filtro Is Nothing Then
        filtro.Close
        Set filtro = Nothing
    End If
    filtroDesconectar 'Chama a sub que desconecta o banco
End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Dúvida SELECT * from () WHERE ()

Mensagem por Reinaldo »

Talvez assim
Sql = "Select * from Contratos where Funcionario like *" & nome & "*"
filtro.Open Sql, filtroConexao 'Esta é a linha que deve carregar os dados filtrados.


rodriggobass
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Sex Abr 06, 2018 12:02 am

Re: Dúvida SELECT * from () WHERE ()

Mensagem por rodriggobass »

Reinaldo escreveu: Sex Abr 06, 2018 9:35 am Talvez assim
Sql = "Select * from Contratos where Funcionario like *" & nome & "*"
filtro.Open Sql, filtroConexao 'Esta é a linha que deve carregar os dados filtrados.
Boa noite, Reinaldo. Obrigado por responder.
Tentei desta forma, mas deu o mesmo erro. Como a variável sql deve ser declarada? Tentei como string, como ADODB.Connection e como ADODB.Recordset. Mas de ambas as formas retorna erro de automação.


rodriggobass
Acabou de chegar
Acabou de chegar
Mensagens: 3
Registrado em: Sex Abr 06, 2018 12:02 am

Re: Dúvida SELECT * from () WHERE ()

Mensagem por rodriggobass »

Reinaldo, consegui resolver assim:

filtro.Open "Select * from Funcionarios where Nome like """ & nome & """", filtroConexao

até....


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder