problema al duplicar registro |
Responder |
Autor | |
albertmas.gi
Nuevo Unido: 28/Agosto/2012 Localización: España Estado: Sin conexión Puntos: 20 |
Tema: problema al duplicar registro Enviado: 14/Enero/2020 a las 08:51 |
Hola,
agradecer de antemano su ayuda. He buscado en el foro pero no he localizado una respuesta. Tengo un formulario que mediante un procedimiento de evento "al hacer click" duplica el registro actual. Lo hago con las instrucciones siguientes: DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdCopy DoCmd.RunCommand acCmdRecordsGoToNew DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdPaste En el formulario hay distintos campos que ejecutan un procedimiento de evento "después de actualizar" que, al duplicarse el registro y actualizarse los campos, se ejecutan directamente. Quisiera saber si hay alguna forma para que después de pegar el registro, poder cancelar el procedimiento de evento que se ejecuta, pero solo de un campo en concreto. Por ejemplo, tengo un formulario llamado "Presupuesto" con un campo llamado "FechaPresupuesto" y otro campo llamado "NombreArtista". Ambos campos contienen un procedimiento de evento "después de actualizar". Al pegar el registro anteriormente seleccionado y copiado, solo quiero que ejecute el procedimiento de evento "después de actualizar" del campo "FechaPresupuesto" y no el del campo "NombreArtista". Es posible? Muchas gracias.
|
|
Gracias a todos por compartir. Albert.
|
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14720 |
Enviado: 14/Enero/2020 a las 09:24 |
A bote pronto...
Utiliza una variable global a nivel del módulo (formulario) que indique si estás o no en el momento de copiado (blnCopiando) La pones a True antes de todos los DoCmd que has escrito y a False una vez finalizados. En el evento AfterUpdate del NombreArtista evalúas el valor de la variable y, si es true, te sales del procedimiento. Otra opción (sin ver como lo tienes todo) es copiar los registros con una consulta de inserción. Un saludo |
|
albertmas.gi
Nuevo Unido: 28/Agosto/2012 Localización: España Estado: Sin conexión Puntos: 20 |
Enviado: 21/Enero/2020 a las 16:02 |
Hola Xavi,
gracias por tu ayuda. No obstante, no puedo hacer lo que dices. El evento "Al hacer click" se ejecuta en un formulario llamado "Presupuestos". Este evento abre un registro X de un segundo formulario llamado "Reservas" y es este registro X del segundo formulario el que se duplica. Por lo tanto, la variable la creo en el formulario "Presupuestos" y no puedo usar su valor en el formulario "Reservas" que es el que ejecuta el evento "Después de actualizar". Tampoco puedo usar una consulta de inserción ya que, aunque no me interesa que se ejecute el evento "Después de actualizar" del campo "NombreArtista", si que me interesa que se ejecute "Después de actualizar" del campo "Fecha Presupuesto". Por eso preguntaba si existe alguna forma de cancelar el evento "Después de actualizar" de un campo concreto. No se si me he explicado bien. |
|
Gracias a todos por compartir. Albert.
|
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14720 |
Enviado: 21/Enero/2020 a las 17:38 |
En lugar de declarar la variable a nivel de módulo formulario, declarala cómo Public en un módulo independiente y utiliza la misma técnica.
Por otro lado puede lanzar la consulta de inserción, posicionarte en el registro y invocar el AfterUpdate del campo FechaPresupuesto. Recuerda: en programación hay (al menos) dos maneras de hacer cualquier cosa. Un saludo
|
|
albertmas.gi
Nuevo Unido: 28/Agosto/2012 Localización: España Estado: Sin conexión Puntos: 20 |
Enviado: 22/Enero/2020 a las 13:30 |
Hola Xavi,
solucionat. No se como se cierra el tema. Gràcies
|
|
Gracias a todos por compartir. Albert.
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |