Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-05-2007
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
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]

Última edición por ilichhernandez fecha: 08-05-2007 a las 23:42:24.
Responder Con Cita
  #2  
Antiguo 08-05-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
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
Responder Con Cita
  #3  
Antiguo 09-05-2007
Rodo_Rodo Rodo_Rodo is offline
Registrado
 
Registrado: 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..
Responder Con Cita
  #4  
Antiguo 09-05-2007
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
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]
Responder Con Cita
  #5  
Antiguo 09-05-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
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
Responder Con Cita
  #6  
Antiguo 10-05-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
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
Responder Con Cita
  #7  
Antiguo 15-05-2007
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
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]
Responder Con Cita
  #8  
Antiguo 16-05-2007
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
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!
Responder Con Cita
  #9  
Antiguo 16-05-2007
ilichhernandez ilichhernandez is offline
Miembro
 
Registrado: oct 2005
Posts: 277
Poder: 19
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]
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
El reporte no hace nada ilichhernandez Impresión 1 15-03-2007 22:26:20
No se nada de nada buitrago_listas Gráficos 0 16-02-2005 05:09:17
No se nada de nada... Me ayudan???? Vampire Conexión con bases de datos 12 02-06-2004 18:14:30
Al dar doble click a mi aplicacion de delphi con paradox no hace nada gaescoto Tablas planas 3 23-05-2003 09:44:35


La franja horaria es GMT +2. Ahora son las 20:33:31.


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