Access - seguimiento a la base de datos

 
Vista:
sin imagen de perfil

seguimiento a la base de datos

Publicado por gelord (4 intervenciones) el 18/07/2004 16:28:36
si alguno sabe como hacer el seguimiento de transacciones hechas (insertar, modificar borrar) por los usuarios a la base de datos, por favor enviarme un ejemplo

[email protected]
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

seguimiento a la base de datos

Publicado por Alejandro (4142 intervenciones) el 09/05/2023 00:50:55
Para realizar un seguimiento de las transacciones realizadas por los usuarios en una base de datos de Access, puedes utilizar la funcionalidad de "registro de cambios" o "auditoría" incorporada en Access. A continuación te proporciono un ejemplo básico de cómo implementar el seguimiento de transacciones:

1. Crea una tabla para almacenar los registros de cambios. Por ejemplo, puedes crear una tabla llamada "RegistroCambios" con los siguientes campos:
- ID (campo autonumérico para identificar cada registro de cambio)
- Usuario (texto, para almacenar el nombre del usuario que realizó la transacción)
- Tabla (texto, para almacenar el nombre de la tabla afectada)
- Acción (texto, para almacenar la acción realizada: insertar, modificar, borrar)
- FechaHora (fecha/hora, para registrar la fecha y hora de la transacción)

2. En los eventos BeforeInsert, BeforeUpdate y BeforeDelete de las tablas que deseas auditar, agrega el código necesario para registrar los cambios en la tabla "RegistroCambios". Por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Private Sub Form_BeforeInsert(Cancel As Integer)
    ' Obtener el nombre del usuario actual
    Dim usuario As String
    usuario = Environ("USERNAME")
 
    ' Registrar el cambio en la tabla "RegistroCambios"
    CurrentDb.Execute "INSERT INTO RegistroCambios (Usuario, Tabla, Acción, FechaHora) VALUES ('" & usuario & "', 'MiTabla', 'Insertar', Now())"
End Sub
 
Private Sub Form_BeforeUpdate(Cancel As Integer)
    ' Obtener el nombre del usuario actual
    Dim usuario As String
    usuario = Environ("USERNAME")
 
    ' Registrar el cambio en la tabla "RegistroCambios"
    CurrentDb.Execute "INSERT INTO RegistroCambios (Usuario, Tabla, Acción, FechaHora) VALUES ('" & usuario & "', 'MiTabla', 'Modificar', Now())"
End Sub
 
Private Sub Form_BeforeDelete(Cancel As Integer)
    ' Obtener el nombre del usuario actual
    Dim usuario As String
    usuario = Environ("USERNAME")
 
    ' Registrar el cambio en la tabla "RegistroCambios"
    CurrentDb.Execute "INSERT INTO RegistroCambios (Usuario, Tabla, Acción, FechaHora) VALUES ('" & usuario & "', 'MiTabla', 'Borrar', Now())"
End Sub

Recuerda reemplazar "MiTabla" con el nombre de la tabla que estás auditando.

Con este código, cada vez que un usuario realice una inserción, modificación o eliminación en la tabla auditada, se registrará un nuevo registro en la tabla "RegistroCambios" con la información relevante.

Este es solo un ejemplo básico y puedes adaptarlo según tus necesidades específicas. Además, ten en cuenta que la seguridad y el acceso a la base de datos son aspectos importantes a considerar al implementar la auditoría.
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