Tengo una base de datos de personal, el cual ocupa un puesto con un código de puesto, este personal cesa y este puesto se ocupa por otro. Ahora mismo tengo un formulario con el personal existente por puesto, me gustaría saber como se haría un registro histórico del personal que va dejando este puesto para poder agregar los datos de la otra persona que viene a ocupar y no perder los datos de la persona que lo ocupaba, como he dicho antes, hacer un formulario con registros históricos. Copiar con un botón de comando un registro de un formulario y pasarlo a otro formulario.
1 respuesta
Respuesta de Neckkito Nck
1
1
Neckkito Nck, Access... ser o no ser. Esa es la cuestión
No acabo de entender bien la parte final de tu consulta pero te voy a explicar a través de un ejemplo cómo puedes crear un histórico. Imaginemos que los datos que queremos guardar en el histórico corresponden a tres campos: [IdPto], [NomTrab] y [DNI] Lo que debemos hacer es lo siguiente: 1.- Creamos una tabla, que yo llamaré THistorico, que contenga esos mismos campos con su correspondiente tipología (importante). También es importante que si, por ejemplo, [IdPto] es un campo numérico, pues que el [IdPto] de la tabla THistórico sea de tipo número (no autonumérico). 2.- Una vez creada la estructura de dicha tabla nos vamos a crear una consulta, basada en la tabla de trabajo que utilices (o en otra consulta que te recoja los datos que necesitas), y le añadimos todos los campos que queramos, que lógicamente serán coincidentes con los campos de la tabla THistorico. En nuestro ejemplo le añadiríamos esos tres campos antes mencionados. 3.- En el campo [IdPto] de la consulta, en la línea correspondiente a "Criterio:", escribimos lo siguiente: ["¿Número de puesto a copiar?"] 4.- Convertimos esa consulta en una consulta de datos anexados. Cuando nos pida a qué tabla queremos anexar los datos elegimos THistorico, y comprobamos que cada uno de los campos este anexado al campo correspondiente de THistorico (en la nueva línea que te aparecerá en la consulta, que se llama "Anexar a:"). Llamaré a esa consulta CCreaHistorico 5.- Ahora, en un formulario en blanco (o en cualquier otro que quieras aprovechar) insertas un botón de comando. Sacas sus propiedades y te vas a la pestaña Eventos->Al hacer click. Verás que hay un pequeño botón de puntos suspensivos. Si haces click sobre él te aparecerá una nueva ventana. Ahí le dices que quieres generar código. 6.- Se te abrirá el editor de VB, con dos líneas por defecto (Private Sub... y End Sub). Esas líneas no debes tocarlas. En medio de ellas escribes el siguiente código: ... Private Sub... DoCmd.SetWarnings False DoCmd.OpenQuery "CCreaHistorico" DoCmd.SetWarnings True MsgBox "Se ha creado el histórico del registro", vbInformation, "AVISO" End Sub ... Y ya está. Ahora, si quieres crear un histórico del trabajador del puesto número 7, por ejemplo, haces click sobre tu botón de comando y te aparecerá una pantallita donde te pedirá el identificador. Tú escribes ahí el 7 y ya tienes el histórico creado. Ahora ya podrás modificar los datos del puesto 7.