Access - boton editar

 
Vista:

boton editar

Publicado por alejandro (49 intervenciones) el 02/11/2005 09:03:41
quiero crear un boton editar cuya funcion sea esa, editar los datos de una tabla.
me gustaria saber como puedo hacerlo y si hay manera de crear un historico de la tabla de modo que las modificaciones, guarde solo la parte modificada sobre el historico y no guarde todo. dadme ideas y posibles soluciones, muchisimas gracias. 1 saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Crear botón de edición y mantener un histórico de cambios

Publicado por Alejandro (4142 intervenciones) el 13/06/2023 18:18:16
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
 
    Set db = CurrentDb
    Set rs = db.OpenRecordset("HistoricoTabla")
 
    If Me.Dirty Then
        rs.AddNew
        rs!IDRegistro = Me!IDRegistro
        rs!CampoModificado = Me.ActiveControl.Name
        rs!ValorAnterior = Me.ActiveControl.OldValue
        rs!ValorNuevo = Me.ActiveControl.Value
        rs!FechaModificacion = Now()
        rs.Update
    End If
 
    rs.Close
    Set rs = Nothing
    Set db = Nothing
End Sub

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.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar