FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
filtrar por fechas y por un campo mas
Hola de nuevo y a ver si soy capaz de explicarme :
tengo una tabla , dbf, que quiero filtrar por fechas y por un campo (indexado) mas el formato es : codempl n 4 0 fectrab d 8 0 liquido n 7 2 anticipo n 7 2 el filtro que he hecho es el siguiente : Table1.Filter := 'codempl='+ quotedstr(dbedit1.text) and 'Fectrab >= ' + QuotedStr(FormatDateTime('mm/dd/yyyy', datetimepicker1.date)) + ' and Fectrab <= ' + QuotedStr(FormatDateTime('mm/dd/yyyy', datetimepicker2.Date)); y el error que me da es que el operador no aplicable this operand tipe ???? es que no se puede , lo dudo pero como soy cortito a lo mejor hago algo mal si podeis iluminarme os lo agradeceria de mientras me comeré el coco un poquito más , GRACIAS MIL |
#2
|
||||
|
||||
Para filtros cambia el formato de fecha, el que pones te irá bien con SQL
Código:
Table1.Filter := 'codempl='+ quotedstr(dbedit1.text) and 'Fectrab >= ' + QuotedStr(FormatDateTime('dd/mm/yyyy', datetimepicker1.date)) + ' and Fectrab <= ' + QuotedStr(FormatDateTime('dd/mm/yyyy', datetimepicker2.Date));
__________________
Guía de Estilo de los Foros Cita:
Última edición por marcoszorrilla fecha: 29-03-2004 a las 19:58:19. |
#3
|
||||
|
||||
Hola!
Código:
Table1.Filter := 'codempl='+ quotedstr(dbedit1.text) + ' and Fectrab between ' + QuotedStr(FormatDateTime('dd/mm/yyyy', datetimepicker1.date)) + ' and ' + QuotedStr(FormatDateTime('dd/mm/yyyy', datetimepicker2.Date)); Tenías un 'and' fuera de las comillas, no sé si te habías dado cuenta. Saludos! Última edición por Nuria fecha: 29-03-2004 a las 16:26:56. |
#4
|
||||
|
||||
Bueno en realidad yo solamente he cambiado el formato de la fecha.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#5
|
|||
|
|||
acabo de leerlo y voy a probar ahora mismo
en rato os digo algo
|
#6
|
|||
|
|||
pues no me , os explico el error que meda vale ?
Filter expression incorectly terminated ???????
lo he copiado literalmente voy repasarlo a ver si he hecho algo mal , de todas maneras muchismas gracias por vuestro tiempo y atención. Asi si que se puede aprender. |
#7
|
|||
|
|||
Funciona ,,,,bien Ok Fantantisco
NO SABEIS LO CONTENTO QUE ME HE PUESTO LLEVO 3 DIAS LIADO CON ESTO.
Si ahora va de lujo , no sabeis lo que me alivia , necesito aprender mucho de esto para ganarme la vida y esto no se aprende en los libros y tengo varios y por cierto carisimos. ¡¡¡ GRACIAS A LOS DOS . |
#8
|
||||
|
||||
A ver, si yo quiero filtrar por dos fechas exactas por ejemplo entre el 1 de enero del 2004 y el 31 de enero del 2004, el filtro sería:
Table1.Fliter:='Fecha_Prog<=01/01/2004' and 'Fecha_Prog>=31/01/2004'; Estoy bien???, si es así por que no funciona??? me manda Varios errores, Si pongo solo esto: Table1.Fliter:='Fecha_Prog<=01/01/2004' Me dice que operadores aritmeticos no estan permitidos y si lo pongo con las dos opciones me dice el operador no es aplicable a este tipo de operando, supongo que habla del and... Que opinan.
__________________
http://www.imgsharing.com/uploads/1121174648007_A1.jpg |
#9
|
||||
|
||||
Hola Sr. Bond....
Ciertamente como has escrito la sentencia del filtro no funciona, el problema con la escritura de tu sentencia es que generas una cadena simple, mientras que (si te fijas bien en los mensajes previos de Nuria y Marcoszorrilla) ellos han utilizado la función QuotedStr para que la fecha que utilizan como filtro este enmarcada por doble comilla simple (''). Espero que esta observacion te ayude. |
#10
|
||||
|
||||
Si que me sirvió ya solucioné el problema, muchas gracias.
__________________
http://www.imgsharing.com/uploads/1121174648007_A1.jpg |
|
|
|