Fechas en ASP clásico y Access

Código ASP clásico

Siempre he tenido problemas con las fechas en asp y access. He visto muchas formas de arreglarlo, por ejemplo separando dia-mes-año, pero hasta hace poco no había encontrado ninguna que funcionara SIEMPRE en CUALQUIER servidor, con cualquier versión de access.

El problema es al ingresar la fecha en Microsoft Access, porque éste configura las fechas según la configuración regional de donde esta instalado.

ejemplo : access en español.

Ssi le introduces la fecha 3/15/2003. esta fecha en español no existe, por lo tanto lo más logico sería que devuelva un error. Pero el access al ver que esta fecha no existe deduce que no hemos equivocado y la corige sin avisar en 15/03/2003.

por lo tanto funciona a veces bien (2 numero<12) pero a veces mal.

la solución a eso es usar un formato de fecha UNICO que el access no puede interpretar.
ese formato es AAAA/MM/DD.
si pasamos la fecha en ese formato nunca la podrá modificar.. si es correcta la ingresa en la base, y sino sale error.

para hacer eso aqui tienes un función en VBscript.

<%
Function FechaGenerica(fecha)
    If IsDate(fecha) = True Then
       DIM dteDay, dteMonth, dteYear
       dia = Day(fecha)
       mes = Month(fecha)
       ano = Year(fecha)
       FechaGenerica = ano & "/" & Right(Cstr(mes + 100),2) & "/" & Right(Cstr(dia + 100),2)
    Else
       FechaGenerica = Null
    End If
End Function
%>

Nota: en sentencias SQL que actualizan bases Access, las fechas se pasan entre # #.
Por ejemplo:

INSERT INTO tabla(fecha) VALUE(#"& var_fecha &"#)

tags: crear base de datos access, base de datos access ejemplo, fecha visual basic, fecha en vb, fechas access, fechas asp, fecha actual sql, trabajar en access, fecha actual vb, formato fecha vb, ejemplo de una consulta en access, ejemplo bd access

En esta sección encontrarás una mezcla de códigos recopilados de fuentes públicas de Internet y otros creados por ASP TEAM. Compartimos recursos útiles de buena fe para formar una base de conocimiento en el desarrollo de aplicaciones en ASP Clásico.