CONSULTAR PERIODO DE DATA NO VBA/EXCEL

VITORGUERINI 17/10/2011 00:36:05
#386829
Pessoal,

estou tentando fazer uma pesquisa utilizando o código abaixo, mas não está dando certo o resultado sempre mostra toda a base de registros:

Dim i As Integer
Dim DATA_INICIAL As String
Dim DATA_FINAL As String


Set BANCO = OpenDatabase(ThisWorkbook.Path & [Ô]\[Ô] & ThisWorkbook.Name, False, False, [Ô]Excel 8.0[Ô])

DATA_INICIAL = Format(FORM_TELA.DATA_INICIAL.Value, [Ô]dd/mm/YYYY[Ô])
DATA_FINAL = Format(FORM_TELA.DATA_FINAL.Value, [Ô]dd/mm/YYYY[Ô])


Set TABELA = BANCO.OpenRecordset([Ô]select * from [BD_LANCAMENTOS$] where VENCIMENTO >= [ô][Ô] & DATA_INICIAL & [Ô][ô] and vencimento <=[ô][Ô] & DATA_FINAL & [Ô][ô] [Ô])

FORM_TELA.ListBOX_BDLANCAMENTOS.Clear


Do Until TABELA.EOF


FORM_TELA.ListBOX_BDLANCAMENTOS.AddItem TABELA([Ô]COD_GERAL[Ô])

FORM_TELA.ListBOX_BDLANCAMENTOS.List(i, 1) = TABELA([Ô]DATA[Ô])
FORM_TELA.ListBOX_BDLANCAMENTOS.List(i, 2) = TABELA([Ô]CONTA[Ô])
FORM_TELA.ListBOX_BDLANCAMENTOS.List(i, 3) = TABELA([Ô]DESCRICAO[Ô])
FORM_TELA.ListBOX_BDLANCAMENTOS.List(i, 4) = TABELA([Ô]PARCELA[Ô]) & [Ô]/[Ô] & TABELA([Ô]TOTAL_PARCELAS[Ô])
FORM_TELA.ListBOX_BDLANCAMENTOS.List(i, 5) = TABELA([Ô]F_PG[Ô])
FORM_TELA.ListBOX_BDLANCAMENTOS.List(i, 6) = TABELA([Ô]VENCIMENTO[Ô])
FORM_TELA.ListBOX_BDLANCAMENTOS.List(i, 7) = Format(TABELA([Ô]RECEITAS[Ô]), [Ô]CURRENCY[Ô])
FORM_TELA.ListBOX_BDLANCAMENTOS.List(i, 8) = Format(TABELA([Ô]DESPESAS[Ô]), [Ô]CURRENCY[Ô])
FORM_TELA.ListBOX_BDLANCAMENTOS.List(i, 9) = TABELA([Ô]EFETIVADO[Ô])


i = i + 1

TABELA.MoveNext
Loop
XXXANGELSXXX 17/10/2011 23:19:25
#386895
Resposta escolhida
fi.. tente mudar o criterio colocando assim..



  
Set TABELA = BANCO.OpenRecordset([Ô]select * from [BD_LANCAMENTOS$] where VENCIMENTO between #[Ô] & Format(DATA_INICIAL, [Ô]mm/dd/yyyy[Ô]) & [Ô]# and #[Ô] & Format(DATA_FINAL, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]
XXXANGELSXXX 17/10/2011 23:22:01
#386897
ha.. faltou fechar o select

Set TABELA = BANCO.OpenRecordset([Ô]select * from [BD_LANCAMENTOS$] where VENCIMENTO between #[Ô] & Format(DATA_INICIAL, [Ô]mm/dd/yyyy[Ô]) & [Ô]# and #[Ô] & Format(DATA_FINAL, [Ô]mm/dd/yyyy[Ô]) & [Ô]#)[Ô]
IRENKO 18/10/2011 08:59:21
#386915
Em VBA eu uso assim, é só adaptar:

TABELA.Open [Ô]Select * From [BD_LANCAMENTOS$] GROUP BY Data,Dia,Feriado Having Data BETWEEN #[Ô] & Format(DATA_INICIAL, [Ô]MM/DD/YYYY[Ô]) & [Ô]# AND #[Ô] & Format(DATA_FINAL, [Ô]MM/DD/YYYY[Ô]) & [Ô]# ORDER BY Data[Ô], BANCO, adOpenKeyset, adLockOptimistic

VITORGUERINI 19/10/2011 20:27:49
#387130
Valeu pessoal pelas dicas, consegui utilizando o código do XXANGELSXXX.
XXXANGELSXXX 19/10/2011 20:46:54
#387131
entao finalize o topico e o pontue.. rs. abraço!
Tópico encerrado , respostas não são mais permitidas