Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-02-2005
le4br le4br is offline
Miembro
 
Registrado: nov 2004
Posts: 17
Poder: 0
le4br Va por buen camino
Between DateTimePicker com fechas iguais

Hola, estoy hacendo una busca de valores entre dos DateTimePicker (fecha), pero cuando el DateTimePicker3 tiene la misma fecha que el DateTimePicker4, la busca no resultada en nadia (DBGrid vazio). Ej.
DateTimePicker3 = 21/02/2005 y DateTimePicker4 = 21/02/2005, el resultado de la busca es "No hay entradas", pero si el DateTimePicker3 = 21/02/2005 y DateTimePicker4 = 22/02/2005, el resultado es todos los valores donde la fecha es 21/02/2005. Como puedo solucionar esto? Com Between y data >= o <= no funciona...

Delphi 7, ADO y Access (campo data es tipo DateTime Short).

Código Delphi [-]
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('SELECT *');
ADOQuery2.SQL.Add('FROM TblComp');
//ADOQuery2.SQL.Add('WHERE data >= datainicial AND data <= datafinal ORDER By data');
ADOQuery2.SQL.Add('WHERE data BETWEEN datainicial AND datafinal ORDER By data');
ADOQuery2.Parameters.ParamByName('datainicial').Value := FormatDateTime('dd/M/yyyy', 

DateTimePicker3.Date);
ADOQuery2.Parameters.ParamByName('datafinal').Value := FormatDateTime('dd/M/yyyy', 

DateTimePicker4.Date);
ADOQuery2.Open;
if ADOQuery2.IsEmpty then
begin
     ADOQuery2.Close;
     ADOQuery2.SQL.Clear;
     MessageBox(Handle, 'No hay entradas.', 'Warnning', Mb_Ok + MB_ICONHAND + Mb_DefButton1)
Responder Con Cita
  #2  
Antiguo 21-02-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Pues acabo de hacer una prueba y me funciona sin ningún problema.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 21-02-2005
Avatar de sercornejov
sercornejov sercornejov is offline
Miembro
 
Registrado: may 2003
Ubicación: Neiva - Colombia
Posts: 88
Poder: 21
sercornejov Va por buen camino
en el evento OnChange de los DateTimePicker, coloca la propiedad TIME así:

para el de la fecha más antigua (es decir el DateTimePicker3):

DateTimePicker3.time:=StrToTime('00:00:01');

para el de la fecha más nueva (es decir el DateTimePicker4):

DateTimePicker3.time:=StrToTime('23:59:59');

Esto puede solucionarlo. Lo que pasa es que cuando le pasas solo un date a los DateTimePicker, ellos tienen (por lo general) la misma hora, así que resultan "IGUALES"

Sergio
__________________
En Colombia hay muchos, pero muchos colombianos muy buenos. Los violentos son pocos y los vamos a controlar...
Responder Con Cita
  #4  
Antiguo 23-02-2005
le4br le4br is offline
Miembro
 
Registrado: nov 2004
Posts: 17
Poder: 0
le4br Va por buen camino
Cita:
Empezado por sercornejov
... Esto puede solucionarlo. Lo que pasa es que cuando le pasas solo un date a los DateTimePicker, ellos tienen (por lo general) la misma hora, así que resultan "IGUALES"
Si la fecha y hora son iguales no puede haber un "between". Funciono! Muchissimas gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:29:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi