Foros del Web » Programación para mayores de 30 ;) » .NET »

RowFilter de fechas... se puede?

Estas en el tema de RowFilter de fechas... se puede? en el foro de .NET en Foros del Web. Hola, estoy intentando hacer un RowFilter poniendo como criterio determinados periodos de tiempo. Utilizo una base de datos Sql Server, y el campo de fecha ...
  #1 (permalink)  
Antiguo 02/09/2005, 19:09
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 1 mes
Puntos: 9
RowFilter de fechas... se puede?

Hola, estoy intentando hacer un RowFilter poniendo como criterio determinados periodos de tiempo. Utilizo una base de datos Sql Server, y el campo de fecha es PXA_FECHA, de tipo DateTime.
La salida del texto es la siguiente:

PXA_FECHA = # 02/09/2005 #

Cuando hago una comparación con el signo "=", entonces me extrae los registros correctos, pero cuando pongo criterios de este estilo:

PXA_FECHA > # 02/08/2005 # AND PXA_FECHA < # 02/09/2005 #

no me extrae ningún registro, habiendo comprobado que hay al menos 20 registros que entran en ese periodo.

Como se realizan las comparaciones entre fechas en SQl Server?

Muchas gracias a quien lea el mensaje.
Un saludo para todos.
__________________
Add, never Remove
  #2 (permalink)  
Antiguo 03/09/2005, 06:14
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Hola mariano_donati, cuanto tiempo!!!

Esto es en plan cutre, porqué habrá la forma de hacerlo por fecha, pero esta se me acabade ocurrir y te puede funcionar. Se trata de hacerle un Cast, y convertir a texto ese campo fecha, y aparte que te lo deje así: yyyymmdd

Seria algo así:

CAST(CAST(Year(PXA_FECHA) AS Varchar(4)) + CAST(Month(PXA_FECHA) AS Varchar(2)) + CAST(Day(PXA_FECHA) AS Varchar(2)) AS Varchar(8)) > '20050802'

Bueno, algo por el estilo...

Sino,también he visto este artículo por ahi:
http://www.asptutor.com/asp/vart.asp?id=72

Un saludo!
__________________
..:: moNTeZIon ::..
  #3 (permalink)  
Antiguo 03/09/2005, 07:40
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 1 mes
Puntos: 9
Hola moNTeZIon, gracias por responder. Finalmente opte por guardar como string la fecha, en formato aaaa/mm/dd. Cuando ejecuto el query en el servidor de Sql, me trae todos los registros correctos. Pero cuando trato de aplicar lo mismo al hacer un RowFilter, entonces no me trae ni siquiera un registro.
Por cierto, está bueno el link que pusiste.
Alguna vez tuviste que hacer un rowFilter con fechas?, se me hace que es bastante más díficil de lo que imaginaba.
Si alguien tuvo que lidiar con esto alguna vez, y si sobre todas las cosas logró solucionarlo, por favor necesito comentarios por donde encarar esto que me está dejando la cabeza como un coco!.

Saludos!.
__________________
Add, never Remove
  #4 (permalink)  
Antiguo 03/09/2005, 10:11
Avatar de xknown  
Fecha de Ingreso: diciembre-2004
Ubicación: Cusco - Perú
Mensajes: 2.248
Antigüedad: 19 años, 4 meses
Puntos: 7
El formado de la fecha para trabajar con el RowFilter es #MM/dd/yyyy#, si mal no recuerdo, en la versión actual sólo puedes usar ese formato, felizmente esto ha cambiado en el .Net Framework 2 (beta 2)

Me imagino que por eso no te devuelve ningún registro...

Saludos
__________________
Alex Concha
Buayacorp - Programación y Diseño
  #5 (permalink)  
Antiguo 03/09/2005, 10:57
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 1 mes
Puntos: 9
Bueno finalmente logré solucionarlo. Guardo las fechas en la base de datos como tipo char y con formato aaaa/mm/dd. Comparando las fechas de esa forma me trae los registros correctos. Ahora, lo que estoy tratando de lograr es que esa fecha en formato aaaa/mm/dd, pase a estar en formato (solo para el usuario) dd/mm/aaaa. Se que las columnas del dataGrid tienen una propiedad format, pero no se como utilizarla para lograr el formato deseado.
La verdad que no sé como hacerle.
Un saludo.
__________________
Add, never Remove
  #6 (permalink)  
Antiguo 05/09/2005, 03:27
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Hola mariano_donati
Si no recurdo mal, en el campo Format de los tablestyles yo le metía una "d" para ver la fecha en formato fecha corta (dd/mm/aaaa)

Saludos!
__________________
..:: moNTeZIon ::..
  #7 (permalink)  
Antiguo 05/09/2005, 07:02
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 1 mes
Puntos: 9
Si, leí eso en msdn.com, pero vos sabes que no me funciona..., pero se que el problema puede estar en otro lado. A un campo precio le aplico el formato con separador de miles y decimal, con la letra N, y en un campo precio de un tableStyle que creo en tiempo de ejecución le trato de dar el mismo formato y no me lo reconoce. Así es que debo estar haciendo algo mal yo, porque es la única forma que veo posible hacer eso.

Un saludo!.
__________________
Add, never Remove
  #8 (permalink)  
Antiguo 22/09/2005, 11:10
Avatar de jzginez  
Fecha de Ingreso: julio-2005
Ubicación: Puebla, México
Mensajes: 49
Antigüedad: 18 años, 9 meses
Puntos: 0
hola mariano_donati espero que ya hallas resuelto tu problema
Cita:
PXA_FECHA > # 02/08/2005 # AND PXA_FECHA < # 02/09/2005 #
no me extrae ningún registro, habiendo comprobado que hay al menos 20 registros que entran en ese periodo.
lo que puedo ver es que si escribistes correctamente tu codigo en el mensaje lo unico que esta mal son los signos de <, > estos deben de ser => y <= para cerrar correctamente el rango de fechas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:40.