Access - Tabla que registra y guarda uso y acceso de los usuarios en access

 
Vista:
sin imagen de perfil

Tabla que registra y guarda uso y acceso de los usuarios en access

Publicado por julio cesar (1 intervención) el 10/09/2016 00:52:55
Disculpen por favor, pero quisiera me puedan ayudar con lo siguiente:

Tengo una aplicación donde me gustaría que exista una tabla donde se guarde todos los usos o accesos y modificaciones que los diferentes usuario hacen, por ejemplo, son tres usuario; Us1, Us2, Us3
el Us1 entro hoy y creo nuevo registro de compra, el la tabla donde se guardan los suceso se tendría que registrar de modo automático y oculto de la siguiente forma:

1
2
3
4
5
6
7
fecha              hora        usuario                 detalle_uso
08/09/2016  07:45       us1                        ingreso a sistema
08/09/2016  07:46       us1                        ingreso a form compras
08/09/2016  07:46       us1                        nuevo resgistro compra ID:45
08/09/2016  07:50       us1                        guardo resitro compra ID: 45
08/09/2016  07:51       us1                        Salio de form compra
08/09/2016  07:51       us1                        salido del sisitema

Más o menos ese esquema y así con los demás usuario, que modifican eliminar o generan reportes en el sistema. Es posible crear un histórico de esta forma.
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 Santos
Val: 22
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Tabla que registra y guarda uso y acceso de los usuarios en access

Publicado por Santos (8 intervenciones) el 19/09/2016 20:05:50
Hola Julio;
Hace ya un tiempo, yo diseñe algo parecido para una aplicación en access. Lo solucioné creando una tabla que llamé por ejemplo "tblActivity" con los campos: Fecha, IdUser, IdLogo, HoraActividad, Actividad, Docum.
Esta se llenaba con los registros desde el inicio de sesión de los usuarios, toda la actividad dentro de la aplicación, hasta el cierre de sesión del usuario. Capturaba el usuario en su inicio guardando los datos de NombreUsuario y Login en dos variables públicas y/o globales que denominé VNomb y VLogo. Tu puedes modificar los nombres si quieres.
Todo se realizaba a través de un procedimiento ó función pública con un par de parámetros, uno de ellos opcional, que llenaban la tabla según los datos pasados por los parámetros. Uno de los parámetros identifica el tipo de Actividad, y el opcional según la actividad toma el numero del documento involucrado en la actividad, ya sea nuevo ingreso, modificación y/o eliminación del documento.

Te paso el código de la función y un ejemplo del botón guardar en un formulario de modificación:

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
'***********************************************************************************
'* Funcion que registra un evento en una tabla de las actuaciones de un usuario.
'* Escribiendo en dicha tabla una descripcion del evento segun el formulario y/o 
'* objeto que utilice.
'* uso: EventoUsuarioActual(NumeroEvento,NumeroDocumento)
'* SANDOMED 09/12/2013 18:30
'***********************************************************************************
Public Function EventoUsuarioActual(NroEvento As Integer, Optional NroDocum As String)
On Error GoTo Error_Evento
 
Dim SQL As String, _
    Rst As Recordset
 
'Valor de la Consulta SQL y apertura del registro y manejo de los datos
SQL = "SELECT * FROM tblActivity "
Set Rst = CurrentDb.OpenRecordset(SQL, dbOpenDynaset)
 
'Agrego los datos a la tabla segun el parametro a actividad
Rst.AddNew
    Rst!Fecha = Format(Now, "Short Date")           'Fecha actual del evento
    Rst!IdUser = VNomb                              'Nombre del usuario activo segun el valor de la variable VNomb
    Rst!IdLogo = VLogo                              'Login de inicio de sesión segun valor variable VLogo
    Rst!HoraActividad = Format(Now, "Medium Time")  'Hora actual de la actividad
 
	'Valor cadena de segun el parametro NroEvento
	If NroEvento = 1 Then
            Rst!Actividad = "Inicio sesión"
    ElseIf NroEvento = 2 Then
            Rst!Actividad = "Cierre sesión"
    ElseIf NroEvento = 3 Then
            Rst!Actividad = "Cambio de Contraseña Acceso Usuario Actual"
    ElseIf NroEvento = 4 Then
            Rst!Actividad = "Usuario y/o Contraseña Incorrectos"
    ElseIf NroEvento = 5 Then
            Rst!Actividad = "Ingreso Certificación Presupuestaria"
    ElseIf NroEvento = 6 Then
            Rst!Actividad = "Modificación Certificación Presupuestaria"
    ElseIf NroEvento = 7 Then
            Rst!Actividad = "Anulación Certificación Presupuestaria"
    ElseIf NroEvento = 8 Then
            Rst!Actividad = "Ingreso Pagado Presupuestario"
    ElseIf NroEvento = 9 Then
            Rst!Actividad = "Modificación Pagado Presupuestario"
    ElseIf NroEvento = 10 Then
            Rst!Actividad = "Anulación Pagado Presupuestario"
    End If
 
	'Valor del Documento involucrado en el evento segun el Nro de Evento.
    If NroEvento <= 4 Then             'Si es menor o igual a 4 no hay documento involucrado
        Rst!Docum = ""
    ElseIf NroEvento >= 5 Then     'Mayor o igual a 5 si hay documento involucrado
        Rst!Docum = NroDocum
    End If
'Guardo el registro ingresado y cierro la consulta
Rst.Update
Rst.Close
Set Rst = Nothing
 
Evento_Salir:
   On Error GoTo 0
   Exit Function
Error_Evento:
    MsgBox "Error " & Err.Number & "En procedimiento EventoUsuarioActual del Módulo mdlGeneral" & vbCrLf & _
            Err.Description, vbCritical, "SDMSoft"
    GoTo Evento_Salir
End Function
 
 
 
'* En el modulo Codigo Fomulario para guardar y/o Modificar Datos
Public Sub GuardarDatos()
On Error GoTo Err_Error
 
    'Tu Codigo para Guardar y/o Modificar Datos
 
	'Evento 6:Modificación Certificación Presupuestaria
    EventoUsuarioActual 6, Me.CampoNumeroDocumento
    MsgBox "Datos Modificados Satisfactoriamente", vbInformation + vbOKOnly, "Actualizar Datos"
 
Exit_Error:
    Exit Sub
Err_Error:
    MsgBox "Error Nro. " & Err.Number & vbCrLf & _
            Err.Description, vbCritical + vbOKOnly, "Error GuardarDatos"
    Resume Exit_Error
End Sub



Para los demas eventos usarias la función con un solo parámetro por ejemplo:

Para inicio de sesión, al colocar la contraseña correcta:
EventoUsuarioActual 1

Cuando la contraseña y/o Login sean incorrectos:
EventoUsuarioActual 4

Deje a tu elección la modificación del presente codigo.
"QUE TU IMACIÓN VUELE".... Suerte y espero te sirva.
Puedes preguntarme a mi correo.
Shalom Beracha...
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
sin imagen de perfil

Tabla que registra y guarda uso y acceso de los usuarios en access

Publicado por julio cesar (5 intervenciones) el 06/10/2016 00:45:56
gracias amigo por tu respuesta, si que son muchas lineas de programacion, eres un genio.

lo voy a estudiar y poner en practica, sera que tu tengras ese ejemplo guardadito en tu baul de tesoros de access, me gustaria me lo puedas compartir, para hecharle una mirada y asi me sea mas practico realizarlo solo.

gracias.

Julio Cesar P.

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