Pregunta

En Access 2003, hay formas de ejecutar código cuando se abre un formulario o base de datos, pero ¿qué pasa cuando la base de datos está cerrada?

Mi motivación es el uso inevitable de una biblioteca COM de terceros algo buggy. Liberar la referencia COM (estableciendo la variable en nada) hace que (correctamente) se desconecte de su servidor. El problema es que no puede volver a conectarse sin salir del proceso y comenzar uno nuevo (que es un error conocido). En este caso, el proceso es todo el IDE de acceso :(

Idealmente, me gustaría almacenar la referencia de COM en algún lugar que estaría protegido de la acción de "restablecer" VBA que borra las variables globales (y es común durante la depuración, a veces forzada por una edición de código). Pero luego me gustaría tener la oportunidad de limpiar antes de que se cierre la base de datos.

¿Fue útil?

Solución

Puede ejecutar Code At Database Close si tiene un formulario que establece para abrir automáticamente al inicio de la base de datos ... y dejar el formulario abierto. Luego puede usar el evento de Formulario en Cerrar para ejecutar su código de limpieza:

Private Sub Form_Close()
    'do your stuff here '
End Sub

Otros consejos

No libere la referencia. Deje que el acceso haga eso cuando se cierre.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top