Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/02/2009, 11:38
Avatar de Txoco
Txoco
 
Fecha de Ingreso: junio-2008
Ubicación: Perdido en tierras Quijotescas
Mensajes: 189
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: Ayuda fechas sql server!!

Qué tal?

No he trabajado nunca con SQL Server, pero los errores más comunes al trabajar con fechas suelen ser los delimitadores de campo y el formato. En la mayoría de los SGBD se aceptan las comillas dobles para los campos de tipo fecha ("...BETWEEN """ & format(...) & """ AND """ & ...), así que compruébalo.

Respecto a los formatos de fecha, la mayoría también trabajan con el estadounidense (mm/dd/yyyy) o el ISO (yyyy/mm/dd). Tendrías que informarte de cual usa SQL Server para pasarle las fechas como las espera.

Yo en ocasiones utilizo un truco que es tratar las fechas como Long (si no necesito la información de la hora) o como Double (si necesito la hora y la fecha o sólo la hora), ya que internamente es frecuente que se almacene este tipo de datos como un número decimal en punto fijo, guardando la parte entera el número de días transcurridos desde una fecha clave (que suele ser el 01/01/1900)y en la parte decimal una especie de valor proporcional a 24 horas, siendo 0.5 las 12:00 del mediodía. La ventaja de este sistema es que es independiente del formato horario con que esté configurado el equipo que ejecuta la aplicación, por lo que se ahorra en conversiones, comprobaciones y en muchos casos, se gana velocidad.

Si la base de datos sólo se explota con tu aplicación en VB, sí puedes declarar tranquilamente los campos de fechas como Long, ya que es VB quien se encarga de la conversión, por lo que guardará y recuperará correctamente los datos. Si quieres probarlo, ejecuta "CDate(39852)" en la ventana inmediato y verás que el resultado es "08/02/2009" (dd/mm/yyyy), o bien "CLng(#<cualquier fecha>)#", y te devolverá el número de días transcurridos desde el 01/01/1900 hasta la fecha indicada.
__________________
wile sona li mute e sona