DTPICKER - ENTRE DATAS

XAVIER 27/01/2015 09:25:48
#444051
Olá pessoal !

Estou usando o dtpicker para buscarum período entre 2 datas. As vezes filtra direitinho e as vezes traz dias fora do intervalo. Vou postar o código que estou usando e gostaria de uma luz dos companheiros para solucionar o problemita. E desde já agradeço pelo aprendizado.

O código:

DTP_I = Format(DTP_I.Value, [Ô]dd/mm/yyyy[Ô])
DTP_F = Format(DTP_F.Value, [Ô]dd/mm/yyyy[Ô])

Conectar
Set rsDESP.ActiveConnection = conn
rsDESP.Open [Ô]select * from pagtos where id=[ô][Ô] & lblID.Caption & [Ô][ô] and datareg between [ô][Ô] & DTP_I.Value & [Ô][ô] and [ô][Ô] & DTP_F.Value & [Ô][ô] [Ô], conn, adOpenStatic, adLockOptimistic

Forte abraço !!

PEGUDO 27/01/2015 09:43:29
#444053
Resposta escolhida
Cara, tenta colocar assim:

[txt-color=#e80000][Ô]select * from pagtos where id=[ô][Ô][/txt-color] & lblID.Caption & [txt-color=#e80000][Ô][ô] and datareg between [ô][Ô][/txt-color] & FormatDateTime(DTP_I.Value, DateFormat.ShortDate) & [txt-color=#e80000][Ô][ô] and [ô][Ô][/txt-color] & FormatDateTime(DTP_F.Value, DateFormat.ShortDate) & [txt-color=#e80000][Ô][ô] [Ô][/txt-color]

Se você colocar apenas o valor do DateTimePicker, ele vai retornar as horas também. Colocando o FormatDateTime você só vai retornar a data.
Preste atenção em qual banco de dados você está usando pois a data é tratada de forma diferente entre eles, por exemplo: O Access aceita o padrão dd/MM/yyyy; O MySql e o Sql aceita o padrão yyyy-MM-dd; etc
XAVIER 27/01/2015 11:37:40
#444056
[Ô]object require[Ô], porém os componentes estão todos no form. Esquisito. Até setei no campo datareg na tabela (mysql) para data...
PEGUDO 27/01/2015 12:04:18
#444058
Acho que foi porque eu te passei um código .NET

Como você está usando VB6, você deve fazer Format(DTP_I.Value, [Ô]yyyy-MM-dd[Ô])
XAVIER 27/01/2015 13:28:06
#444060
PEGUDO, eu trabalho com mysql e access. Neste caso estou trabalhando com mysql e o meu campo datareg está como varchar.
A cada sistema estou deixando o access e migrando para mysql.
XAVIER 27/01/2015 14:05:22
#444062
PEGUDO, fechado meu amigo. O problema estava no campo da tabela mysql. O campo datareg obrigatoriamente precisa ser [Ô]data[Ô].
Com vb6 e mysql fica assim então:


[Ô]select * from pagtos where id=[ô][Ô] & lblID.Caption & [Ô][ô] and datareg between [ô][Ô] & Format(DTP_I.Value, [Ô]yyyy-MM-dd[Ô]) & [Ô][ô] and [ô][Ô] & Format(DTP_F.Value, [Ô]yyyy-MM-dd[Ô]) & [Ô][ô] [Ô]

Funcionou redondinho. Valeu companheiro !
Tópico encerrado , respostas não são mais permitidas