BUSCAR DADOS ENTRE DUAS DATAS. POR FAVOR, AJUDEM.

OFERRARI 29/03/2010 12:29:29
#338114
Visual Basic 6 - Gostaria de saber como faço para filtrar entre duas datas os dados que estão em um Grid ( o Grid é MSFlexGrid ). OBS: O grid é carregado por um Data ( Meu data no caso é DataConsultaVenda ) . O banco de dados é feito em um Access. Para selecionar as Data Inicial e a Data Final usei o componente DTPicker.


Alguém para me ajudar, por favor ??

FABIO.PIZA 29/03/2010 14:01:33
#338121
Se for campo smalldatetime
Voce pode utilizar ==> Select * from [tabela] where [CampoData] between ([ô]2010-02-12[ô] and [ô]2010-02-13[ô])
Se for campo datetime
Voce pode utilizar ==> Select * from [tabela] where [CampoData] between ([ô]2010-02-12 00:00:00[ô] and [ô]2010-02-13 00:00:00[ô])


Fabio

TEMPESTADE 29/03/2010 15:42:35
#338138
Para caso de campos que são do tipo data hora, vc deve usar: data inicial: mm/dd/yyyy 23:59:59 ate a data final: mm/dd/yyyy 00:00:00, ou seja do dia e hora de partida ate as zero horas do dia final.
MARCELO.TREZE 29/03/2010 18:13:38
#338157
Resposta escolhida
Senhores por favor temos um problema constante com cunsulta usando datas, e no calor de responder esquecemos sempre algumas regras que são:

A) Se for banco Access o campo deve ser como Data/Hora, e a consulta deve ter o seguinte formato #mm/dd/yyyy#

B) Se for MySQL ou SQL server deve ser assim [ô] YYYY-MM-DD[ô]

lembre-se apenas de que o campo que armazena esta data deve estar como data/hora

agora vamos a um exemplo de cunsulta para o access

sSQL = [Ô] SELECT * FROM tabela WHERE campodata BETWEEN #[Ô] & Format(DTpickerInicial,[Ô]mm/dd/yyyy[Ô]) & [Ô]# AND #[Ô] & Format(DTPickerFinal,[Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]



isso já te dará uma boa base para criar suas consultas
OFERRARI 29/03/2010 18:41:05
#338160
Citação:

:
Senhores por favor temos um problema constante com cunsulta usando datas, e no calor de responder esquecemos sempre algumas regras que são:

A) Se for banco Access o campo deve ser como Data/Hora, e a consulta deve ter o seguinte formato #mm/dd/yyyy#

B) Se for MySQL ou SQL server deve ser assim [ô] YYYY-MM-DD[ô]

lembre-se apenas de que o campo que armazena esta data deve estar como data/hora

agora vamos a um exemplo de cunsulta para o access

sSQL = [Ô] SELECT * FROM tabela WHERE campodata BETWEEN #[Ô] & Format(DTpickerInicial,[Ô]mm/dd/yyyy[Ô]) & [Ô]# AND #[Ô] & Format(DTPickerFinal,[Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]



isso já te dará uma boa base para criar suas consultas



MARCELO-TREZE. ValewwW Brow.
Aiii sim, meu código deu certo.

Fico assim:
DataConsultaVenda.RecordSource = [Ô]SELECT * FROM ConsultaVenda WHERE Data_Da_venda BETWEEN #[Ô] & Format(DtpDataInicial, [Ô]mm/dd/yyyy[Ô]) & [Ô]# AND #[Ô] & Format(DtpDataFinal, [Ô]mm/dd/yyyy[Ô]) & [Ô]#[Ô]
MARCELO.TREZE 29/03/2010 18:50:10
#338162
disponha colega não esqueça de encerrar o tópico
Tópico encerrado , respostas não são mais permitidas