Access - Cerrar access y cerrar sesión de W2k

 
Vista:

Cerrar access y cerrar sesión de W2k

Publicado por McRight2k (21 intervenciones) el 25/03/2003 11:30:45
¿Como puedo ejecutar una función de Cerrar la sesión de windows, cerrando correctamente la aplicación de access previamente?

Me explico, con el evento de un botón para cerrar que tengo en el formulario, tengo el siguiente código:

Private Sub cmdCerrar_Click()
On Error Resume Next
DoCmd.Quit
CerrarSesión 'Función que cierra la sesión de W2k
End Sub

El problema es que cuando ejecuta DoCmd.Quit, termina el código y no Cierra la sesión, y si quito esta instrucción y cierro la sesión forzando el cierre de Access, no se cierra correctamente y me deja abierto el fichero .ldb.
Alguien me da una solución???

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Cerrar access y cerrar sesión de W2k

Publicado por Alejandro (4142 intervenciones) el 27/04/2023 01:11:08
Para cerrar Access correctamente antes de cerrar la sesión de Windows, puedes usar la función `Quit` de Access y luego hacer un retraso de unos segundos antes de cerrar la sesión.

Puedes probar con este código:

1
2
3
4
5
6
Private Sub cmdCerrar_Click()
    On Error Resume Next
    DoCmd.Quit
    Application.Wait (Now + TimeValue("0:00:02")) ' Espera 2 segundos
    Call CerrarSesion ' Llama a la función para cerrar sesión de Windows
End Sub

Este código espera dos segundos después de cerrar Access antes de llamar a la función `CerrarSesion` para cerrar la sesión de Windows. Puedes ajustar el tiempo de espera según tus necesidades.

Ten en cuenta que este enfoque no garantiza que todos los procesos de Access se hayan cerrado completamente antes de cerrar la sesión de Windows, por lo que es posible que aún se mantengan algunos bloqueos de archivo. Para una solución más robusta, puedes considerar usar un controlador de errores de Windows para capturar la excepción "El archivo de bloqueo no se pudo eliminar" que se produce al cerrar una sesión de Windows mientras aún hay archivos bloqueados.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar