Mensaje tras Eventos Form_AfterUpdate y Form_AfterInsert

Parece que Access considera la creación de un nuevo registro no sólo como la acción de Insert, sino además, como un Update.

Si por ejemplo, en el procedimiento Form_AfterInsert ponemos:

Msgbox "Registro Guardado"

Y en el procedimiento Form_AfterUpdate ponemos:

Msgbox "Registro Guardado"

Resulta que tras insertar un nuevo registro Access considera realizados los dos eventos anteriores, mostrando el mensaje "Registro Guardado" por duplicado, cuando, quizás, lo lógico hubiera sido:

a) Realizar únicamente el evento AfterInsert

b) Y sólo tras haber sido guardado el registro, cualquier modificación de datos en él, realizar el evento AfterUpdate.

¿Esto es normal? Si es así, y para evitar duplicar el mensaje de los eventos, ¿tendría qué quitar uno de ellos?

1 Respuesta

Respuesta
1

Para Access sí es normal que te muestre los dos mensajes, porque ejecuta los eventos en este orden: BeforeInsert -> BeforeUpdate -> AfterUpdate -> AfterInsert.

Así, si sólo modificas un registro, se cumple sólo AfterUpdate y te muestra en mensaje una sola vez.

Pero si creas un registro nuevo, se cumplen los dos: AfterUpdate, porque se actualiza el registro (pasa de "estar en blanco" a tener valores, por decirlo así) y también AfterInsert, porque se crea un registro nuevo (que es el que se "actualiza").

La solución más fácil es quitar el evento de AfterInsert, así te saldrá el mensaje siempre que añadas o modifiques un registro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas