Cerrar base de datos

Tengo una base de datos en red (solo tablas), de la cual tiramos unos cuanto desde nuestro ordenador con otras bases de datos vinculadas a ella. Lo que quería saber es como hacer que se cierre la base de datos de un usuario si en media hora, por ejemplo, no se utilizado. Es para que no se queden abiertas las bases y en un apagón o en un fallo de red se corrompa la base principal.

1 Respuesta

Respuesta
2
En el form que este abierto pones un timer y cuando el contador llegue cierras la base
Hola de nuevo, perdón por tardar en responder. Seguro que se puede hacer como dices, pero no soy nu experto en access, ¿me podrías poner una especie de ejemplo?. Nunca he utilizado el timer, ni se como se cierra la base de datos con código.
A parte, con lo que me dices, ¿se cierra la base de datos sola cuando no se utiliza?, ¿No habría que coger algún registro para comparar que no se está utilizando la base de datos?.
De nuevo gracias por tu tiempo y saludos.
Para cerrar la base usa
CloseCurrentDatabase
En el formulario coloca los segundos que quieres de tiempo entre cada chequeo de tiempo para ver si ya se termino el tiempo
intervalo de cronometro en milisegundos (1000) o sea para revisar cada segundo pon 1000 aunque te recomendaría que después lo cambies para 5 segundos
y en el evento "al cronometro" pones CloseCurrentDatabase
también debes empezar el conteo si escriben algo o mueven el mouse
debes tener activada la vista previa de tecla en el formulario
y para el ejemplo pon un campo llamado tiempo y uno segundos
o
Enviame tu email para enviártelo
a [email protected]
Pon tu nick y el titulo de tu pregunta
Option Compare Database
Dim t As Long
Private Sub Detalle_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    t = Timer
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
    t = Timer
End Sub
Private Sub Form_Load()
    Segundos = 60 * 30 'Minutos
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    t = Timer
End Sub
Private Sub Form_Timer()
    Timer1 = Timer
    If t = 0 Then t = Timer1
    If Timer1 > t + Segundos Then CloseCurrentDatabase
    Tiempo = Int(Timer1 - t)
End Sub
Muchas gracias, justo lo que quería. Lo que no sabia era que había que hacer otro informe solo para esto y luego meterlo como subinformes a los demás, pero ya esta hecho.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas