Control de Usuarios

Espero que alguien me pueda ayudar con esto tan simple.
Sucede que tengo un Sistema de Ventas en Access 2000..
Al entrar, quiero que verifique su entrada con su nombre de usuario y su contraseña, las cuales deberán de verificarse en una tabla ya creada.. Y a partir de ahí, que todo lo que realice quede registrado con su nombre de usuario..
¿Cómo puedo verificar la contraseña contra la tabla de usuarios?.. No sé como si no es con un combobox.
Y mejor aún, ¿cómo le puedo hacer para que todo lo que haga quede registrado con su nombre de usuario?..

1 respuesta

Respuesta
1
Para la entrada, utiliza por ejemplo dos cajas de texto, una para que el usuario introduzca su nombre de usuario y otra caja de texto para que introduzca su contraseña.
La caja de texto contraseña irá con mascara de entrada tipo contraseña, se pone en las propiedades de la caja de texto.
Estas cajas de texto son libres, no son campos ninguno.
Pondremos también dos botones uno para salir y otro para aceptar, en el código del botón aceptar pondremos el código que gestionara la entrada si es correcto, con un código similar a este:
Se supone que hay una tabla llamada usuarios que tiene dos campos usuario y password, en el código donde pone texto1 y texto2 debes cambiarlo por el nombre de tus cajas de texto, cuando se introducen los datos correctamente abriremos otro formulario, en el ejemplo "Clientes", tenemos que declarar también una variable global var_usuario, en un módulo por ejemplo, para saber en cualquier momento y sitio del programa qué usuario está activo:
'codigo:
Dim db As Database
Dim Result As Object
Dim SQLline As String
SQLline = "SELECT * FROM Usuarios WHERE Usuario = '" & Me.texto1 & "' and Password = '" & Me.texto3 & "';"
'ok
Set db = CurrentDb()
Set Result = db.Openrecordset(SQLline)
'la siguiente línea if comprueba si está vacía la consulta
'si está vacía se deniega el acceso
'si no, se abre el formulario.
If Result.EOF And Result.BOF Then
MsgBox "Acceso Denegado"
Else
'almacenamos el nombre del usuario en la variable
'global var_usuario, que está definida en el módulo.
var_usuario = Me.texto1
DoCmd.OpenForm "Clientes"
End If
'siempre es recomendable cerrar
Result.Close
db.Close
'y vaciar
Set Result = Nothing
Set db = Nothing
Sobre lo de guardar todo lo que hace, depende: tienes que pensar qué es todo lo que quieres registrar, por ejemplo, si tienes un formulario de clientes, y quieres guardar quién crea uno o quién elimina otro, debes poner en la tabla clientes un campo para el usuario y le daremos el valor que tenga la variable global y otro campo si te interesa para la acción que ha realizado añadir, borrar, etc.
O también puedes predefinirte una tabla por separado de procesos, con un campo para el usuario, otro para la fecha, y otro para el proceso predefinido, por ejemplo cuando se crea un cliente nuevo, añades por código un registro a esa tabla
.addnew
.("usuario") = var_usuario
.("fecha") = date()
.("accion") = "BORRAR - CLIENTE"
.update
'CUANDO DA DE ALTA UN CLIENTE
.addnew
.("usuario") = var_usuario
.("fecha") = date()
.("accion") = "AÑADIR - CLIENTE"
.update
En la tabla tendrías
Usuario Fecha Acción
Álex 01-01-01 BORRAR - CLIENTE
Sonia 05-01-01 AÑADIR - CLIENTE
Cuál de los dos métodos a utilizar es cosa que has de pensarte.
Espero haberte esclarecido bastante tus dudas.
Un saludo.
Ohmygood
http://laleyenda.iespana.es/

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas