Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-02-2007
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 255
Poder: 20
vroa74 Va por buen camino
Discupen ya habia probado lo que me han dicho en sus comentarios.

Les envio un la captura de la imagenes en cada una de la lineas qye me enviaro, no se pudo hacer la consulta satisfactoriamente.

Form1.table1.filter := 'Fecha >= '''+DateToStr(DateTimePicker1.Date) + ''''+'And'+'Fecha <= ''' + DateToStr(DateTimePicker2.Date) + '''';
=sistema.jpg

Form1.table1.filter := 'Fecha >= "'+DateToStr(DateTimePicker1.Date)+'"And Fecha <= "'+DateToStr(DateTimePicker2.Date)+'"';
=sistema2.jpg
Responder Con Cita
  #2  
Antiguo 14-02-2007
jacanche jacanche is offline
Miembro
 
Registrado: may 2003
Ubicación: Campeche,Campeche,Mexico
Posts: 137
Poder: 24
jacanche Va por buen camino
Para que no te enredes con los ''', usa la funcion QuotedStr

Código Delphi [-]
Form1.table1.filter := 'Fecha >= '+QuotedStr(DateTimeToStr(DateTimePicker1.Date))+' And Fecha <= '+QuotedStr(DateTimeToStr(DateTimePicker2.Date));

Ahora si no te funciona asi, checa el formato de Fecha y hora, quizas el DateToStr te lo devuelva en formato mes,dia año, y por eso no te lo filtra, y no te das cuenta por que son fechas validas.
Lo que hago usualmente es poner en el dpr estas dos lineas

Código Delphi [-]
  
ShortDateFormat :='dd/mm/yyyy';
DateSeparator :='/';

para que no se tomen las que trae por default la instalacion de windows.
__________________
Saludos

Alfredo
Responder Con Cita
  #3  
Antiguo 14-02-2007
Avatar de vroa74
vroa74 vroa74 is offline
Miembro
 
Registrado: jul 2006
Posts: 255
Poder: 20
vroa74 Va por buen camino
Hello ya hice esta prueba de esta sintaxis si funciona:

Form1.table1.filter := 'Fecha = ''' + DateToStr(DateTimePicker1.Date) + '''';

Esta sintasixis no manca eeror de formato pues da fecha y hora.

Form1.table1.filter := 'Fecha >= '+QuotedStr(DateTimeToStr(DateTimePicker1.Date))+' And Fecha <= '+QuotedStr(DateTimeToStr(DateTimePicker2.Date));
Responder Con Cita
  #4  
Antiguo 14-02-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.070
Poder: 32
jhonny Va camino a la famajhonny Va camino a la fama
Coloca tambien los respectivos parentesis asi:

Código Delphi [-]
Form1.table1.filter := '(Fecha >= '+QuotedStr(DateTimeToStr(DateTimePicker1.Date))+') And (Fecha <= '+QuotedStr(DateTimeToStr(DateTimePicker2.Date))+')';
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 25-02-2007
jpcancino jpcancino is offline
Miembro
 
Registrado: ene 2004
Posts: 47
Poder: 0
jpcancino Va por buen camino
Cita:
Empezado por vroa74
Hello ya hice esta prueba de esta sintaxis si funciona:

Form1.table1.filter := 'Fecha = ''' + DateToStr(DateTimePicker1.Date) + '''';
Puedes explicar pq esa sintaxis con muchas comas funciona y esta sintaxis:

Código Delphi [-]
Form1.table1.filter := 'Fecha =  ' + DateToStr(DateTimePicker1.Date);
¿si tira error?
Con la última dice que funciones arismeticas no son compatibles con el filtrado de tablas. ¿Lo dice por los "/"? ¿por qué se soluciona con esas comas demás?

Saludos
Responder Con Cita
  #6  
Antiguo 25-02-2007
jacanche jacanche is offline
Miembro
 
Registrado: may 2003
Ubicación: Campeche,Campeche,Mexico
Posts: 137
Poder: 24
jacanche Va por buen camino
por que la propiedad filtro no es mas que una cadena que despues es interpretada para evaluar la condicion que tu hayas definido, por ejemplo
esto :
Código Delphi [-]
Form1.table1.filter := 'Fecha =  ' + DateToStr(DateTimePicker1.Date)
es equivalente a esto otro, lo cual puede ser interpretado erroneamente como una operacion aritmetica
Código Delphi [-]
Form1.table1.filter := 'Fecha =25/02/2007'


en cambio si le agregas las comillas, seria como si asignaras algo parecido a esto

Código Delphi [-]
Form1.table1.filter := 'Fecha =''25/02/2007'''
lo cual ya podra ser interpretado correctamente como una fecha.

Esto ya es correcto, pero para no enredarme con tantas comillas, prefiero usar la funcion QuotedStr de esta forma :
Código Delphi [-]
Form1.table1.filter := 'Fecha = ' + QuotedStr(DateToStr(DateTimePicker1.Date));
__________________
Saludos

Alfredo
Responder Con Cita
  #7  
Antiguo 26-06-2007
Avatar de felipe88
[felipe88] felipe88 is offline
Miembro Premium
 
Registrado: may 2007
Ubicación: Mi Valle del Cauca... Colombia!!!
Posts: 1.120
Poder: 21
felipe88 Va por buen camino
...y con Query

Si quisiera realizar un filtro parecido a este usando un Query... datos que luego se puedan eliminar usando otro Query , como seria...???
Si dicen que con la tabla es lento, existe una forma de acelerarlo...???
Responder Con Cita
  #8  
Antiguo 27-06-2007
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 26
vtdeleon Va por buen camino
Los Ttable y sus derivados son lentos porque te traen tooodos los registros a parte de otras cosillas. Lo mejor es utilizar los TQuery.

Para filtrar es lo mas facil, un ejemplo..:
Código Delphi [-]
begin
  With Query1 do
  begin
    Close;//Cerrams el Query
    Sql.Text:='Select Campo1, campo2 fron Tabla1 Where Campo1=:Fecha1';
    //Se Asigna la sentencia donde se filtrara por fecha
    ParamByName('Fecha1').AsDate:=StrtoDate(edit1.text);//O utilizar un DateTimePicker qeu es mejor.
    //Aqui asingamos el valor del parametro para filtrarlo
    Open;//Listo! Abrimos la consultas
  end;
end;
{Ya veras los datos filtrados por el valor que hayas dado en el Edit o DateTiemPicker utilizado}
Suerte
__________________
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!

Última edición por vtdeleon fecha: 27-06-2007 a las 04:55:34.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Filter vs consulta SQL nachito_tuc SQL 6 25-12-2006 00:34:28
Locate o Filter jre740824 SQL 3 17-11-2006 11:17:35
Uso de filter CONY Conexión con bases de datos 1 02-08-2006 22:48:23
Filter en IBQuery StartKill Firebird e Interbase 1 27-08-2005 06:51:06
Duda con filter... superhopi OOP 1 21-05-2003 10:00:04


La franja horaria es GMT +2. Ahora son las 23:37:59.


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