Tengo el siguiente global.asa
<script Language="VBScript" RUNAT=Server>
Sub Application_OnEnd()
End Sub
Sub Application_OnStart()
Application("NumSesion") = 0
Application("NumVisitas") = 0
End Sub
Sub Session_OnEnd()
set conexion=Server.CreateObject("ADODB.Connection")
conexion.Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("\acceso\bd\acceso.mdb"))
actualizar="update accesos set fecha_salida='" & date & "', hora_salida='" & time & "' where id_sesion='59309';"
conexion.execute(actualizar)
Application("NumSesion") = Application("NumSesion") - 1
End Sub
Sub Session_OnStart()
set conexion=Server.CreateObject("ADODB.Connection")
conexion.Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("\acceso\bd\acceso.mdb"))
actualizar="update accesos set fecha_salida='" & date & "', hora_salida='" & time & "' where id_sesion='59309';"
conexion.execute(actualizar)
Application("NumSesion") = Application("NumSesion") + 1
Application("NumVisitas") = Application("NumVisitas") + 1
End Sub
</script>
Resulta que en el evento "Sub Session_OnStart()" me actualiza el registro de la base de datos perfectamente pero en el evento "Sub Session_OnEnd()" no me lo hace y por tanto no decrementa la variable de aplicación.Como podeis comprobar el codigo es el mismo en ambos casos.
He probado quitando el código de la actualización de la bd y entoces si funciona bien, me decrementa la variable de aplicación, el problema creo que viene de la cadena " conexion.Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("\acceso\bd\acceso.mdb"))
", pero no se el motivo ya que esta misma cadena en el evento de inicio funciona correctamente.
Gracias