Página 1 de 1

ListBox Excel x Access - Filtro entre Datas [RESOLVIDO]

Enviado: Qui Jul 18, 2019 12:06 pm
por ludehenrique2cia
Bom dia a todos!
Estou tentando adaptar parte de um projeto disponibilizado por Renan Fernando Ruthes, mas não estou conseguindo raciocinar e encontrar onde esta errado.
No modelo disponibilizado por ele o ListBox busca os dados da própria planilha e não do Access.
Obs: Não sei se ele está ativo no fórum ainda, mas mando desde já meus agradecimentos, Obrigado!

Private Sub btn_filtro_Click()

Dim valor_pesq As String
Dim data_ini As Date
Dim data_fim As Date

data_ini = Format(Me.txt_data_inicial, "mm/dd/yyyy")
data_fim = Format(Me.txt_data_final, "mm/dd/yyyy")

Dim ComandoSQL As String
ComandoSQL = "select * from tabela_clientes where Data Between #" & data_ini & "# And #" & data_fim & "#"
'ComandoSQL = "select * from tabela_clientes where Data >=#" & data_ini & "# And Data <=#" & data_fim & "#"


Call Conecta

'Atribui a variável objeto de BD a execução dos comandos SQL
Set consulta = banco.OpenRecordset(ComandoSQL)

'Tratamento de erro de acesso aos dados. Se houver erro, desvia o comando para o rótulo Sai
On Error Resume Next

'Populando o listbox
linhalistbox = 0

While Not consulta.EOF

With Me.ListBox1
.AddItem
.List(linhalistbox, 0) = consulta(0) 'ID
.List(linhalistbox, 1) = consulta(1) 'nome
.List(linhalistbox, 2) = consulta(2) 'Sobrenome
.List(linhalistbox, 3) = consulta(3) 'CPF
.List(linhalistbox, 4) = consulta(4) 'RG
.List(linhalistbox, 5) = consulta(5) 'Endereço
.List(linhalistbox, 6) = consulta(6) 'Numero
.List(linhalistbox, 7) = consulta(7) 'Cidade
.List(linhalistbox, 8) = consulta(8) 'Estado
.List(linhalistbox, 9) = consulta(9) 'Data
End With

linhalistbox = linhalistbox + 1

consulta.MoveNext
Wend


Call Desconecta

Me.lbl_registros = Me.ListBox1.ListCount

End Sub

Re: ListBox Excel x Access - Filtro entre Datas

Enviado: Qui Jul 18, 2019 1:30 pm
por Reinaldo
Não entendi ".. o ListBox busca os dados da própria planilha e não do Access."
mas a rotina/modelo busca no access.
Experimente onde consta

Código: Selecionar todos

Dim valor_pesq As String
Dim data_ini As Date
Dim data_fim As Date
altere conforme

Código: Selecionar todos

Dim valor_pesq As String
Dim data_ini As String
Dim data_fim As String

Re: ListBox Excel x Access - Filtro entre Datas

Enviado: Qui Jul 18, 2019 2:23 pm
por ludehenrique2cia
Boa tarde!
Eu me expressei mal, é filtrar entre datas no ListBox com banco de dados do Access.
Alterei conforme o Sr. disse mas ainda não deu. Obrigado!

Re: ListBox Excel x Access - Filtro entre Datas

Enviado: Qui Jul 18, 2019 3:53 pm
por Reinaldo
No teste que fiz aparentemente ocorreu ok; porem esqueci de mencionar a falta da "limpeza" da listbox, para preenchimento filtrada

Código: Selecionar todos

    'Populando o listbox
    ListBox1.Clear
    linhalistbox = 0

Re: ListBox Excel x Access - Filtro entre Datas

Enviado: Qui Jul 18, 2019 4:13 pm
por ludehenrique2cia
:mrgreen: Eu cheguei a colocar esse código pra limpar mas coloquei entre: Call Conecta e Set consulta = banco.OpenRecordset(ComandoSQL)
Dessa forma abaixo acrescentando o Me. e antes de Dim ComandoSQL As String tembém.

Call Conecta
Me.ListBox1.Clear
Set consulta = banco.OpenRecordset(ComandoSQL)

E não tinha funcionado, mas agora funciona de qualquer jeito.
Precisa de um Expert mesmo!
Isso vai ajudar muita gente que quer sair do listview e precisa desse filtro.
Muito Obrigado mesmo!