Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-10-2010
Luis Felix Luis Felix is offline
Miembro
 
Registrado: mar 2005
Posts: 18
Poder: 0
Luis Felix Va por buen camino
Question Ayuda con DateTimePicker

Hola, de nuevo muchas gracias por su ayuda y atencion a este post, tengo una plicacion que desarrolle con la Version 5 de Delphi, ahora estoy trabajando con la version 7, realmente no recuerdo si en la version 5 realmente trabajo, creo que si (ya tengo tiempo que no desarrollava), pero ahora con la version 7 no funciona el filtrado, la idea es filtrar una tabla de acuerdo con un rango de fechas, pero las variables no toman las fechas del DateTimePicker, aqui la parte a la cual hago mencion, para ver si me pudieran ayudar, de antemano gracias.

Declaracion de variables:

var
Form34: TForm34;
Finicial:Tdatetime;
Ffinal:Tdatetime;
Central, Cadena1, Cadena2, Cadena3:String;
Apuntador:Integer;
A1,B1,C1,D1,x,y,RegEmp,UltimoReg:Integer;
NumReg,NumEmp,a,b,c,d,e,f,g,cb1,cb2,cb3,cb4,cb5,cb6:String;
Year,Mes,Dia:word;
TemRPE:String;



Codigo:

Table6.filtered:=false;
Finicial:=DateTimePicker1.date;
Ffinal:=DateTimePicker2.date;
DecodeDate (Finicial, Year, Mes, Dia);
if (Mes<10)then
cadena1:= IntToStr(Dia)+'/0'+IntToStr(Mes)+'/'+IntToStr(Year)
else
cadena1:= IntToStr(Dia)+'/'+IntToStr(Mes)+'/'+IntToStr(Year);
DecodeDate (Ffinal, Year, Mes, Dia);
if (Mes<10)then
cadena2:= IntToStr(Dia)+'/0'+IntToStr(Mes)+'/'+IntToStr(Year)
else
cadena2:= IntToStr(Dia)+'/'+IntToStr(Mes)+'/'+IntToStr(Year);
Table6.Filter:=('Fecha_Captura>='+''''+cadena1+''''+
'and Fecha_Captura<='+''''+cadena2+'''');
Table6.Filtered:=True;
Responder Con Cita
  #2  
Antiguo 06-10-2010
Luis F. Orjuela Luis F. Orjuela is offline
Miembro
 
Registrado: may 2003
Ubicación: Bogotá - Colombia
Posts: 68
Poder: 22
Luis F. Orjuela Va por buen camino
Lo primero que se debe tener en cuenta es lo siguiente:

Tus variables Finicial y Ffinal son del tipo Tdatetime, este tipo de variable almacena tanto la fecha como la hora.

Por otro lado se debe saber de qué tipo es tu campo de la tabla "Fecha_Captura", es decir, de qué tipo de dato lo definiste, para así poder identificar en dónde está el error.

Por cierto, cuando vayas a escribir fragmentos de código, utiliza las etiquetas
Código Delphi [-]
 ..... tu código......

Para así poder interpretar mejor el problema.

Cordialmente
__________________
Ing. LUIS FERNANDO ORJUELA
BOGOTA - COLOMBIA
Responder Con Cita
  #3  
Antiguo 06-10-2010
Luis Felix Luis Felix is offline
Miembro
 
Registrado: mar 2005
Posts: 18
Poder: 0
Luis Felix Va por buen camino
Gracias Luis, el campo Fecha_Captura esta definido como Date "D" en la tabla.
Responder Con Cita
  #4  
Antiguo 08-10-2010
Luis Felix Luis Felix is offline
Miembro
 
Registrado: mar 2005
Posts: 18
Poder: 0
Luis Felix Va por buen camino
Ayuda........
Responder Con Cita
  #5  
Antiguo 08-10-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Luis.

Aunque hace mucho que no uso paradox, probé tu código con la tabla employee.db de DBDEMOS,
reemplazando el campo 'Fecha_Captura' lógicamente... y realiza perfectamente el filtrado.
Sólo saque el encomillado, que por lo menos a mí me marea, usando QuotedStr en su lugar.

Te pongo el código de prueba:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  Finicial:Tdatetime;
  Ffinal:Tdatetime;
  Cadena1, Cadena2:String;
  Year,Mes,Dia:word;
begin
  Table1.filtered:= False;
  Finicial:= DateTimePicker1.date;
  Ffinal:= DateTimePicker2.date;
  DecodeDate(Finicial, Year, Mes, Dia);
  if (Mes<10)then
     cadena1:= IntToStr(Dia)+'/0'+IntToStr(Mes)+'/'+IntToStr(Year)
  else
    cadena1:= IntToStr(Dia)+'/'+IntToStr(Mes)+'/'+IntToStr(Year);
  DecodeDate (Ffinal, Year, Mes, Dia);
  if (Mes<10)then
   cadena2:= IntToStr(Dia)+'/0'+IntToStr(Mes)+'/'+IntToStr(Year)
  else
    cadena2:= IntToStr(Dia)+'/'+IntToStr(Mes)+'/'+IntToStr(Year);
  Table1.Filter:=('HireDate>='+QuotedStr(cadena1)+
    'and HireDate<='+QuotedStr(cadena2));
  Table1.Filtered:=True;
end;

Saludos.

Edito: Prueba en Delphi 7.

Última edición por ecfisa fecha: 08-10-2010 a las 23:23:27.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
DatetimePicker jocey Conexión con bases de datos 9 10-12-2010 23:40:00
Uso del DateTimePicker, ayuda plz! cslbcn OOP 3 28-07-2008 14:23:15
datetimepicker carols018 MySQL 7 15-11-2006 21:19:52
Datetimepicker Carlex Varios 1 11-08-2004 19:47:39
Dia en DateTimePicker nicocer Varios 2 31-07-2004 14:56:49


La franja horaria es GMT +2. Ahora son las 07:48:07.


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