Para crear un botón de edición en Access y permitir la modificación de los datos de una tabla, así como mantener un histórico de los cambios realizados, puedes seguir los siguientes pasos:
1. Abre el formulario en el que deseas agregar el botón de edición.
2. Ve al modo de diseño del formulario.
3. En la pestaña "Diseño", haz clic en el botón "Botón" para agregar un nuevo botón al formulario.
4. En la ventana emergente "Asistente para botones", selecciona la opción "Editar registro existente" y haz clic en "Siguiente".
5. Selecciona la tabla relacionada con los datos que deseas editar y haz clic en "Siguiente".
6. En la siguiente pantalla, selecciona los campos que deseas permitir que se editen y haz clic en "Siguiente".
7. Personaliza la apariencia y el texto del botón según tus preferencias y haz clic en "Siguiente".
8. En la última pantalla, proporciona un nombre para el botón y haz clic en "Finalizar".
Ahora, cuando hagas clic en el botón de edición, se abrirá un formulario que te permitirá modificar los datos de la tabla seleccionada.
Para mantener un histórico de los cambios realizados, puedes seguir estos pasos adicionales:
1. Crea una nueva tabla en tu base de datos llamada "HistoricoTabla" (o un nombre que prefieras) con campos como "IDRegistro" (clave principal), "CampoModificado", "ValorAnterior", "ValorNuevo" y "FechaModificacion".
2. En el evento "Antes de actualizar" del formulario de edición, puedes agregar el siguiente código VBA para guardar los cambios en la tabla de historial:
Este código guarda en la tabla "HistoricoTabla" el campo modificado, el valor anterior, el nuevo valor y la fecha de modificación cada vez que se realice un cambio en algún campo del formulario de edición.
Recuerda reemplazar "HistoricoTabla" con el nombre real de la tabla de historial y "IDRegistro" con el nombre del campo que identifica de manera única cada registro en la tabla principal.
Con esta solución, tendrás un botón de edición que permite modificar los datos de una tabla, mientras que el código VBA guardará los cambios realizados en un histórico específico, guardando solo la parte modificada y no todo el registro.
Espero que esta solución te sea útil para tus necesidades.