Orden de eventos den access
Lo primero darte las gracias por tu tiempo.
Me considero un usuario de nivel medio de access, pero en cuanto me tengo que salir de lo que es access propiamente y tengo que tocar un poquito de V.Basic o incluso en este caso SQL ya me pierdo pues no sé de programación y de ahí te pido tu ayuda. Se trata de lo siguiente:
Tengo un formulario en el cual cuando se agrega un nuevo registro, se ejecuta un evento que mediante una sentencia SQL agrega un nuevo registro en una segunda tabla que está relacionada con esta primera. He dicho que agrega un nuevo registro, pero en realidad según los datos que se introducen en la primera tabla se agregarán entre dos y ocho nuevos registros en la tabla relacionada. Hasta ahí todo bien.
El problema viene cuando se necesita modificar algún dato de algún registro introducido previamente. Estuve barajando la opción de hacerlo mediante una sentencia UPDATE de SQL pero lo veo muy complejo puesto que pueden ser muchos campos de hasta 8 registros distintos los que haya que cambiar en función de la modificación en el registro principal. Por tanto creo que lo más cómodo era establecer que cuando hubiera una modificación de un campo de un registro del formulario principal directamente se borraran todos los registros con él relacionados en la tabla secundaria y se volvieran a crear nuevos registros con los nuevos datos. No sé si la idea tiene sentido pero me parecía lo más fácil. La cuestión es que cuando lo he intentado, y no sé si porque no he puesto correctamente en orden las órdenes en los eventos correctos, no me ha resultado. Lo que probé en primer lugar es que los registros se borrarn en el evento "después de actualizar" del formulario y se crearan los nuevos al salir del mismo, pero mi sorpresa fue que ese evento después de actualizar no se ejecuta sólo cuando se está modificando un registro previamente introducido, sino que cuando se está introduciendo de primeras también se ejecuta de modo que intenta borrar un registro que no existe y me empiezan a aparecer los errores.
No sé si me he sabido explicar a pesar del tocho que he escrito pero en resumen creo que se trata de saber establecer el orden correcto en los eventos para primero borrar el registro relacionado al que se está cambiando y crear los nuevos
Muchas gracias por cualquier sugerencia
Me considero un usuario de nivel medio de access, pero en cuanto me tengo que salir de lo que es access propiamente y tengo que tocar un poquito de V.Basic o incluso en este caso SQL ya me pierdo pues no sé de programación y de ahí te pido tu ayuda. Se trata de lo siguiente:
Tengo un formulario en el cual cuando se agrega un nuevo registro, se ejecuta un evento que mediante una sentencia SQL agrega un nuevo registro en una segunda tabla que está relacionada con esta primera. He dicho que agrega un nuevo registro, pero en realidad según los datos que se introducen en la primera tabla se agregarán entre dos y ocho nuevos registros en la tabla relacionada. Hasta ahí todo bien.
El problema viene cuando se necesita modificar algún dato de algún registro introducido previamente. Estuve barajando la opción de hacerlo mediante una sentencia UPDATE de SQL pero lo veo muy complejo puesto que pueden ser muchos campos de hasta 8 registros distintos los que haya que cambiar en función de la modificación en el registro principal. Por tanto creo que lo más cómodo era establecer que cuando hubiera una modificación de un campo de un registro del formulario principal directamente se borraran todos los registros con él relacionados en la tabla secundaria y se volvieran a crear nuevos registros con los nuevos datos. No sé si la idea tiene sentido pero me parecía lo más fácil. La cuestión es que cuando lo he intentado, y no sé si porque no he puesto correctamente en orden las órdenes en los eventos correctos, no me ha resultado. Lo que probé en primer lugar es que los registros se borrarn en el evento "después de actualizar" del formulario y se crearan los nuevos al salir del mismo, pero mi sorpresa fue que ese evento después de actualizar no se ejecuta sólo cuando se está modificando un registro previamente introducido, sino que cuando se está introduciendo de primeras también se ejecuta de modo que intenta borrar un registro que no existe y me empiezan a aparecer los errores.
No sé si me he sabido explicar a pesar del tocho que he escrito pero en resumen creo que se trata de saber establecer el orden correcto en los eventos para primero borrar el registro relacionado al que se está cambiando y crear los nuevos
Muchas gracias por cualquier sugerencia
1 respuesta
Respuesta
1