Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-08-2008
Jason_zakio Jason_zakio is offline
Registrado
 
Registrado: jun 2008
Posts: 8
Poder: 0
Jason_zakio Va por buen camino
Filtro por fecha

Todo bien compañeros!

Uso Firebirt
Campos (id, fecha, total)
Ocupo su gran ayuda! Tengo un formulario y necesito filtrar por fecha ejemplo(15/10/08) pero no logro como hacerlo, porfavor se los pido con mi corazón expliquemento con detalle para entenderlo bien.
Explico como lo tengo y de esta manera no me funciona!
Ten un componente DataTimePicke
En el evento OnChange tengo este código:

Cuando trato de filtrar la fecha no la filtra sino que pone el Dbgrid en vacio.. porfavor es urgente se los ruego expliquemenlo! MIllones de gracias!!!!



Código Delphi [-]
procedure TFrmCierreDiario.F_ActualChange(Sender: TObject);
var
filtrando : string;
begin

if not Modulo.IBTransaction1.InTransaction then
Modulo.IBTransaction1.StartTransaction;
with Modulo.IBFactutas do begin
Close;
SelectSQL.Clear;

SelectSQL.Add('SELECT id, fecha, total');
SelectSQL.Add('FROM Facturas');
SelectSQL.Add('WHERE UPPER(Fecha) LIKE ''' + DatetoStr(f_actual.Date) +'%''');
SelectSQL.Add('ORDER BY id');

Open;
end;
end;
Responder Con Cita
  #2  
Antiguo 12-08-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola jason_zakio, cuando haces consultas por fechas en firebird debes pasarle en fomato mm/dd/yyyy.

Código Delphi [-]
.................
SelectSQL.Add('WHERE Fecha = ''' + FormatDateTime('mm/dd/yyyy',f_actual.Date)+''');
.................

o también puedes utilizar parametros, busca en el foro.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 13-08-2008
Jason_zakio Jason_zakio is offline
Registrado
 
Registrado: jun 2008
Posts: 8
Poder: 0
Jason_zakio Va por buen camino
No se porque no me funciona trate de esta manera y nada que funciona:


Código Delphi [-]
SelectSQL.Add('SELECT id, fecha, total');
SelectSQL.Add('FROM Facturas');
SelectSQL.Add('WHERE UPPER(Fecha) LIKE ''' + FormatDateTime('dd/mm/yyyy',f_actual.Date) +'%''');
SelectSQL.Add('ORDER BY id');




alguna ayuda que me guie se los agradesco, xq cuando digito la informacion en el TDataTime trata de filtrar pero al final limpia el Dbgrit como si no encontrara ningun dato... por ejemplo hay una factura con la fecha 16/05/2008 y en el TDataTime busco esta misma fecha pero no me tira ningun resultado... estoy frustrado xq intento y nada... porfavor ayudenme
Responder Con Cita
  #4  
Antiguo 13-08-2008
Gallosuarez Gallosuarez is offline
Miembro
 
Registrado: feb 2007
Posts: 92
Poder: 18
Gallosuarez Va por buen camino
Sugerencia...

Jason:

Primero, como dices que existe una una factura con la fecha 16/05/2008 (dd/mm/aa), entoces prueba tu query así:

Código Delphi [-]
SelectSQL.Add('where Fecha = cast(''' + '05/16/08' + ''' as date)');

Si es que ahora ya te filtró correctamente, entonces prueba el siguiente código:

Código Delphi [-]
 
SelectSQL.Add('where Fecha = cast(''' + FormatDateTime('mm/dd/yy', f_actual.Date) + ''' as date)');

Ojo: acuerdate que el formato debe de ser 'mm/dd/yy'

Saludos,
Gerardo Suárez Trejo

P.D. No creo que te sirvan de algo los operadores UPPER y LIKE cuando trabajas con fechas. Tal vez te te sirvan los operadores BETWEEN y AND. Otra cosa que es muy importante: el campo Fecha debe de ser de tipo DATE no de tipo TIMESTAMP, sino tendras que poner algo asi: ... cast(Fecha as date) = cast(....

Última edición por Gallosuarez fecha: 13-08-2008 a las 14:49:56.
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
Desde la fecha inicio hasta la fecha final que me grabe los meses contenidos Renis SQL 4 01-10-2007 17:21:44
Buscar registro por fecha utilizando filtro de ClientDataSet radiohead Conexión con bases de datos 8 31-08-2007 10:10:40
Ayuda, Como calcular fecha de vencimiento mensual a partir de una fecha x en delphi Renis Impresión 4 23-08-2007 23:45:14
Filtro de fecha vencida leodelca23 Tablas planas 29 25-09-2006 13:08:03
Comparar una fecha de n campo date contra fecha actual amadis SQL 2 27-06-2005 21:37:41


La franja horaria es GMT +2. Ahora son las 08:58:24.


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