Pregunta

Mi base de datos Access 2000 me causa problemas; a veces (no he identificado la causa) el formulario del "libro" no se cierra.Hacer clic en el botón de cerrar no hace nada, Archivo -> Cerrar no hace nada, incluso cerrar Access no produce ninguna acción.No tengo un controlador OnClose para este formulario.La única solución que puedo encontrar implica abrir el editor Vba, hacer un cambio en el código de ese formulario (incluso agregar un espacio y luego eliminarlo inmediatamente) y luego volver a cerrar el formulario "libro", cerrarlo y diciendo "no, no quiero guardar los cambios".Sólo entonces se cerrará.¿Alguna ayuda?

¿Fue útil?

Solución

Aquí hay una publicación en el foro que describe, creo, el mismo problema al que te enfrentas.El siguiente extracto indica una solución alternativa.

Lo que hago es poner el código en el botón Cerrar que reasigna el SourceObject de cualquier subformación a una forma en blanco, como:

yo! subpartes.sourceObject = "subblank" 'Subblank es mi forma totalmente en blanco, libre de código y controles, etc.docmd.close acForm, "fParts", acSaveNo

Las 2 líneas anteriores son la única forma en que he encontrado para evitar que aparezca la solicitud de acceso.

http://bytes.com/forum/thread681889.html

Otros consejos

Otra alternativa es

(Me.Checkbox) 

o mi sintaxis preferida:

(Me!Checkbox)

Me parece que hay mucha confusión en los posts sobre este tema.La respuesta elegida por el autor original cita un artículo en el que el usuario recibió un mensaje para guardar. cambios de diseño al formulario, pero el problema descrito aquí parece ser una falla en el cierre del formulario, no un problema al guardar (el problema al guardar surgió solo en la solución alternativa que describe cómo ir a VBE y realizar un cambio de código).

Me pregunto si el usuario original podría tener configuradas opciones de VBE incorrectas.Si abres el VBE y ve a las herramientas | Opciones, en la pestaña General, verá varias opciones sobre el manejo de errores.Se debe elegir INTERRUPCIÓN EN ERRORES NO MANEJADOS o INTERRUPCIÓN EN MÓDULO DE CLASE, pero es importante reconocer que si usa el primero, es posible que no vea ciertos tipos de errores.

Realmente no hay suficientes detalles para diagnosticar mucho más, aparte del hecho de que la referencia al control de casilla de verificación parecía haber estado causando el problema, pero hay una serie de mejores prácticas de codificación de Access que pueden ayudarle a evitar algunas de estas rarezas.Las recomendaciones relacionadas con el código en Página de mejores prácticas de Tony Toews son un buen punto de partida.

Eso sí que es raro.¿Tiene algún control de temporizador en el formulario?Si es así, intente desactivarlo en OnClose.

Existe la posibilidad de que el cuadro de mensaje que le pregunta si desea guardar los cambios se muestre detrás del formulario.Creo que este cuadro de mensaje es modal, por lo que debe hacer clic en sí o no antes de poder hacer algo con el formulario, por lo que no puede cerrarlo.

¿Su formulario tiene un evento de descarga?Eso se puede cancelar y, si lo es, el formulario no se cerrará cuando esté en la vista de formulario.Solo se cerrará en la vista de diseño, que, cuando edita el código vba, es lo que hace el formulario en la ventana de Access cuando edita el código.

¿Su formulario tiene una casilla de verificación, un botón de alternancia o un botón de opción?Hay un error en Access 2000 donde Access no se cierra si prueba el valor sin usar explícitamente la propiedad Valor en el código vba, como este:

If Me.chkbox Then

versus:

If Me.chkbox.Value Then
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top