Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Conexión con bases de datos
Register FAQ Members List Calendar Guía de estilo Today's Posts

Conexión con bases de datos

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 08/05/2007
ilichhernandez ilichhernandez is offline
Miembro
 
Join Date: Oct 2005
Posts: 277
Poder: 21
ilichhernandez Va por buen camino
Filter no hace nada

Estimados, nuevamente recurro a ustedes pues he probado una par de manera de hacer un filter y no funciona, tengo un DBgrid que es fruto de una query, este dbgrid tiene un campo fecha (entre otros) y quiero mostrar por ejemplo los registros que tengan fecha 2007 solamente (por poner un ejemplo), he intentado con los siguientes codigos.

Código Delphi [-]
DBGrid1.DataSet.Filter := 'FECHA > DateTimePicker1.date';
DBGrid1.DataSet.Filtered := True;

Código Delphi [-]
DBGrid1.datasource.DataSet.Filter := 'Fecha >= datetostr(01/01/2007)';
DBGrid1.datasource.DataSet.Filtered := True;

Código Delphi [-]
DBGrid1.datasource.DataSet.Filter := 'Fecha >= datetostr(datetimepicker1.date)';
DBGrid1.datasource.DataSet.Filtered := True;

Si alguien me comentara en que me estoy equivocando quedaria muy agradecido.

Atentamente
Ilich Hernandez.
__________________
[Lo que a veces es tan facil, a veces parece imposible]

Last edited by ilichhernandez : 08/05/2007 at 23:42.
Reply With Quote
  #2  
Old 08/05/2007
Chris's Avatar
[Chris] Chris is offline
Miembro Premium
 
Join Date: Apr 2007
Location: Jinotepe, Nicaragua
Posts: 1,678
Poder: 21
Chris Va por buen camino
Convertir a SQLTimeStamp

No estoy acostumbrado a trabajar con queries, talvez necesites convertir la fecha a a SQLTimeStamp, hay una función para hacer esto.

Para trabajar con los filtros de fechas yo lo hago así.

Código Delphi [-]
myTable.Filter := 'Fecha >= QuotedStr(DateToStr(DateTimePicker1.Datetime))
myTable.Filtered := True;

Fijate que llamo a la función QuotedStr la cual me devolverá algo como '08/05/2007' (con las comillas). Creo que ese es tu problemas que te faltaba el quotedStr.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Reply With Quote
  #3  
Old 09/05/2007
Rodo_Rodo Rodo_Rodo is offline
Registrado
 
Join Date: May 2007
Posts: 4
Poder: 0
Rodo_Rodo Va por buen camino
Thumbs up Mira Esto

Sabes yo Haria ese proceso directamente al Query, Filtras en elquery y como existe una relacion con el dbgrid por el datasourse el filtro que le hagas se te mostrara. Creelo Hice la prueba varias veces. Ahgi te mando el codigo espero te sirva By..

Código Delphi [-]Query1.Filter = Gestion='2007' Query1.Filter:=True



y Esto te realiza el filtro Pruebaloooo..
Reply With Quote
  #4  
Old 09/05/2007
ilichhernandez ilichhernandez is offline
Miembro
 
Join Date: Oct 2005
Posts: 277
Poder: 21
ilichhernandez Va por buen camino
voy a probar y luego les comento como me fue, gracias...
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Reply With Quote
  #5  
Old 09/05/2007
Caral's Avatar
[Caral] Caral is offline
Miembro Premium
 
Join Date: Aug 2006
Posts: 7,659
Poder: 28
Caral Va por buen camino
Hola
Código Delphi [-]
DBGrid1.DataSet.Filter := 'FECHA >= '+DateToStr(DateTimePicker1.date);
DBGrid1.DataSet.Filtered := True;
La sentencia sql no puede contener el concatenado, se usa el signo + fuera de esta, revisalo.
Saludos
Reply With Quote
  #6  
Old 10/05/2007
Caral's Avatar
[Caral] Caral is offline
Miembro Premium
 
Join Date: Aug 2006
Posts: 7,659
Poder: 28
Caral Va por buen camino
Hola
La verdad sigo con esto-.
Cuando se hace un filtro se hace de algun componente que traiga la tabla en si.
Table, query.
El dataset, el datasource, ect, son conectores de estos hacia algun componente visual, como el dbgrid.
Con esto coincido con D&W, en cuanto al uso de estos componentes, un ejemplo con query.
Código Delphi [-]
Query1.Filter := 'FECHA >= '+DateToStr(DateTimePicker1.date);
Query1.Filtered := True;
Insisto en el uso del concatenado.
Saludos
Reply With Quote
  #7  
Old 15/05/2007
ilichhernandez ilichhernandez is offline
Miembro
 
Join Date: Oct 2005
Posts: 277
Poder: 21
ilichhernandez Va por buen camino
He utilizado un query con filter pero me arroja el error que sigue

Project Project1.exe raised exception class EDatabaseError with message 'Arithmetic in filter expressions not supported'.



estoy utilizando el codigo siguiente :

Código Delphi [-]
cadena :=  'Fecha > ' + DatetoStr(DateTimePicker1.date);
showmessage(cadena);
dm.qry_oc.filter :=  cadena;
dm.qry_oc.Filtered := true;
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Reply With Quote
  #8  
Old 16/05/2007
vtdeleon's Avatar
vtdeleon vtdeleon is offline
Miembro
 
Join Date: Apr 2004
Location: RD & USA
Posts: 3,236
Poder: 26
vtdeleon Va por buen camino
Saludos

Te faltó QuotedStr()
Código Delphi [-]
cadena :=  'Fecha > ' + QuotedStr(DatetoStr(DateTimePicker1.date));
Prueba a ver, aunque a veces con querys, filtrar no sirve.
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Reply With Quote
  #9  
Old 16/05/2007
ilichhernandez ilichhernandez is offline
Miembro
 
Join Date: Oct 2005
Posts: 277
Poder: 21
ilichhernandez Va por buen camino
mañana apenas llegue al trabajo, pruebo y les cuento... gracias....
__________________
[Lo que a veces es tan facil, a veces parece imposible]
Reply With Quote
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
El reporte no hace nada ilichhernandez Impresión 1 15/03/2007 22:26
No se nada de nada buitrago_listas Gráficos 0 16/02/2005 05:09
No se nada de nada... Me ayudan???? Vampire Conexión con bases de datos 12 02/06/2004 18:14
Al dar doble click a mi aplicacion de delphi con paradox no hace nada gaescoto Tablas planas 3 23/05/2003 09:44


All times are GMT +2. The time now is 05:30.


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