
Amigo exceluciano
Gracias por su atención.
Tengo elaborada una aplicación en access para el manejo de los pacientes atendidos en una clínica oftalmológica, detro de la aplicación he creado una tabla llamada temporizador que contiene Numero_de_días (360) y Fecha_de_Inicio (01/01/2007), tambien he creado un Formulario de Ingreso que protege la aplicación al momento de ingrezar y por último un módulo con el siguiente hilo:
Public Function funDiasUso()
On Error GoTo Err_funDiasUso
Const cNombreTabla As String = "temporizador" '<<-- Nombre tabla
Const cCampoDias As String = "NUMERO_DIAS" '<<-- Nombre Campo Dias
Const cCampoFecha As String = "FECHA_INICIO" '<<-- Nombre Campo Fecha
Const cMaxNumDias As Byte = 360 ' <<--Limita el numero de dias de la DEMO
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Dim sql As String
sql = "SELECT * FROM " & cNombreTabla
Set dbs = CurrentDb()
Set rst = dbs.OpenRecordset(sql)
If rst.RecordCount = 0 Then
rst.AddNew
rst(cCampoDias) = cMaxNumDias
rst(cCampoFecha) = Date
rst.Update
Else
If rst(cCampoDias) <= 0 Or _
rst(cCampoDias) > cMaxNumDias Or _
rst(cCampoFecha) > Date Then
Beep
MsgBox "Se han superado los " & cMaxNumDias & _
" dias de uso de esta Demo, " & vbCrLf & _
"tienes que registrar el programa ahora", vbInformation, "FIN DEMO"
Rem Aqui te sacaria del programa
DoCmd.Quit
Else
If rst(cCampoFecha) <> Date Then
rst.Edit
rst(cCampoDias) = rst(cCampoDias) - 1
rst(cCampoFecha) = Date
rst.Update
End If
End If
End If
Close_funDiasUso:
dbs.Close
Set dbs = Nothing
Set rst = Nothing
'MsgBox "fin"
Exit_funDiasUso:
Exit Function
Err_funDiasUso:
MsgBox Err.Description, vbCritical, "Error N°: " & Err.Number
Resume Exit_funDiasUso:
End Function
Pero no puedo entender porque no funciona la modulo cuando pincho en el formulario de unicio, si adelanto la fecha del la computadora al 2008 debe pedir una contraseña de ingreso la cual debe estar en otra tabla con 20 contraseñas para cada año que pasa.
Agradezco su valiosa atención.