Botón de cancelar en ventana modal
Resuelto
ButteDuLac
Mensajes publicados
534
Estado
Miembro
-
ButteDuLac Mensajes publicados 534 Estado Miembro -
ButteDuLac Mensajes publicados 534 Estado Miembro -
Hola,
En Access 2010, he creado una ventana modal que me sirve para añadir un registro a una tabla de lista (vinculada a un campo de una tabla madre).
Hay un botón Aceptar y un botón Cancelar. Estos dos botones son insertados automáticamente por Access.
El botón Cancelar debería, en teoría, cancelar el nuevo registro creado, pero no funciona. Al hacer clic en Aceptar o en Cancelar, es lo mismo, el registro se ha guardado.
¿Cómo puedo solucionar esta situación tan molesta?
¡Gracias!
En Access 2010, he creado una ventana modal que me sirve para añadir un registro a una tabla de lista (vinculada a un campo de una tabla madre).
Hay un botón Aceptar y un botón Cancelar. Estos dos botones son insertados automáticamente por Access.
El botón Cancelar debería, en teoría, cancelar el nuevo registro creado, pero no funciona. Al hacer clic en Aceptar o en Cancelar, es lo mismo, el registro se ha guardado.
¿Cómo puedo solucionar esta situación tan molesta?
¡Gracias!
2 respuestas
-
Hola,
Aparentemente, no conoces el VBA y el código.
Entonces, a partir del formulario normal, no puedes hacer nada, debes ponerlo en modo creación, y ahí, seleccionas tu botón de cancelar, y en la ventana de propiedades, asegúrate bien de si la acción "al hacer clic" está asociada a un procedimiento. En este procedimiento debes ver:
Forms![nombre del formulario].Undo
o
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70-
Ese es precisamente el problema. Si pudiera VER el código, podría verificarlo. Pero solo veo la ventana de la Macro (generador de macro) y no encuentro cómo mostrar el código.
Si selecciono el botón y hago clic en Visualizar el código, aparece el código del formulario (todo lo que veo es Opción Comparar Base de Datos)
Si hago clic en el botón del generador (los ...) a la derecha del área "Al hacer clic" en la ventana de propiedades del botón, obtengo la macro asociada al botón, pero todo lo que veo como operación es "Cerrar ventana" y "Guardar: con confirmación", como se describe en mi pregunta. He intentado cambiar a "Guardar: no", pero no da resultado.
Me gustaría poder verificar los códigos y cambiarlos si es necesario, pero en esta situación precisa, no puedo acceder, no entiendo cómo hacerlo... incluso he intentado hacer clic derecho en el botón y “Crear código de evento”, pero también llego a la ventana del generador de macro. -
-
¡Ah, vale! Gracias por intentar.
Finalmente, eliminé por completo la macro, luego la reemplacé por una macro de Cancelar grabación, terminada con CerrarVentana, ¡y ahí funciona! Al principio, creía que no, pero es que aún no había introducido datos. Después de una prueba en una copia de prueba de mi BBDD, ¡funciona! -
¡Ups!
Hay un pequeño error. Si abro la ventana y no ingreso ningún registro, si hago clic en Cancelar, ocurre un error y Access me pregunta si quiero detener la macro.
Para mí no hay problema, pero para el usuario que no tiene ningún conocimiento de programación (¡peor que yo!), ¡será un galimatías!
Hay un botón X para cerrar la ventana, pero la gente a menudo tiene el reflejo de presionar OK o Cancelar.
¿Hay alguna manera de solucionar esto, ya sea en código o de otra manera? -
-
-
Hola,
Me di cuenta hace bastante tiempo que las versiones recientes de Access ya no permiten "ver" las macros asociadas a los botones preconstruidos.
Para salir de esta dificultad, el único medio que conozco es no usar este tipo de botón, sino colocar botones de indistintos y agregarles macros de construcción propia. La ventaja, además, es que es posible posteriormente convertir las macros en código VBA, y así aprender progresivamente cómo se escribe directamente código.-
¡Aaaah! Eso es lo que hice. Bueno, eso no me permite cerrar la ventana, pero al menos, si hago clic en mi nuevo botón "Cancelar registro" ;) sin haber ingresado previamente datos, Access me avisa que la acción Cancelar un registro no está disponible por el momento, pero no me pide que detenga la macro. Creo que cualquiera podrá entender eso! ¡Es genial! ¡Gracias por guiarme hacia la autoconstrucción de mi botón, solo necesitaba un poco de confianza! :D
-