Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/02/2004, 00:06
Avatar de AlvaroHM
AlvaroHM
 
Fecha de Ingreso: mayo-2002
Ubicación: Tacuba, Distrito Fedreal
Mensajes: 78
Antigüedad: 22 años, 6 meses
Puntos: 0
Me han sucedido cosas muy parecidas en Tablas de dBase, el problema que he tenido en estas bases en cuanto a las fechas, es que no son compatibles con la configuración regional del sistema en la que estan funcionando y presentan ciertas anomalías como fallos en cuanto a consultas por días específicos, por ejemplo, si hago una consulta buscando el día 1999 - 09 - 24 me da como resultados no solo los de ese día sino también los demas días del mes por lo que no puedo hacer consultas por dias sino por meses enteros, cosa rara...

Algunas soluciónes que puedo proponerte habiéndolas probado, como dije ya antes, en bases de dBase IV y controladas desde Visual Basic 6.0:

En lugar de escribir en la consulta la condición como '#1999-09-24#' hazlo con el siguiente formato: # 1999 / 09 / 24 # (sin comillas); los manejadores de bases que he usado solo interpretan la fecha con las diagonales " / " y no con " - "...

En segundo lugar, una solución que he utilizado en bases de datos que no son muy grandes y tampoco crecen a pasos agigantados en la siguiente:
Primero hago una consulta en la que saco los resultados que dependan de las condiciones que no son fechas.
Los resultados de esta consulta las paso por una función como while o for y el campo lo someto a comparaciones de fechas como DatePart o DateDiff de VisualBasic que son funciones que te permiten saber si una fecha es o no del mismo mes o día al que estas buscando... no es muy difícil y bueno, no he usado oracle pero supongo que tendrá algunas funciones semejantes...