jueves, 19 de mayo de 2011

CODIGO ACCESS PARA APLICACION CON USUARIO Y PASSWORD V.2

CODIGO ACCESS PARA USO DE RESTRICCION CON USUARIO Y PASSWORD

·         ACCESS
·         PROBLEMA:
Se requiere restringir el acceso a los diferentes formularios, creando niveles de acceso y restricciones de usuario y password. Si el password y el usuario es correcto abrirá el formulario de nombre CONFIGURACION.
·         SOLUCION:
ü  Crear una Tabla de nombre USUARIO, con dos campos de nombre usuario y password.
ü  Crear un formulario de nombre CONFIGURACION
ü  Crear un formulario de nombre FORMULARIO 1, con un botón y dos cuadros de texto. Colocar dentro del botón propiedades al hacer click el siguiente código:
Dim ALGO As String
Dim DB As Database
Dim SQLINE As String
Dim RESULT As Object

‘LOS CUADROS DE TEXTO  QUE SE CREARON PUEDEN VARIAR DE NUMERO O NOMBRE VERIFICAR EN CASO DE DAR ERROR
                        ‘EN ESTE CASO LOS CUADROS DE TEXTO SE LLAMAN TEXTO16 Y TEXTO18
If Texto16 = "" Or Texto18 = "" Then
       ‘ SI LOS CUADROS DE TEXTO ESTAN VACIOS
                        ALGO = MsgBox ("COLOQUE PASSWORD Y USUARIO ", 16, "OMISION")
Else
        ‘ SI LOS CUADROS DE TEXTO ESTAN LLENOS
                                    
SQLline = "SELECT * FROM USUARIO WHERE Usuario = '" & Me.Texto16 & "' and PASSWORD = '" & Me.Texto18 & "';"
Set DB = CurrentDb()
Set RESULT = DB.OpenRecordset(SQLline)
   
                        If RESULT.EOF And RESULT.BOF Then
       
                                        ALGO = MsgBox ("El nombre de usuario o contraseña son incorrectos", 16, "Discrepancia")
   
                       Else
                                       USUARIO = Texto16                                          
‘ACA CIERRA EL FORMULARIO 1
DoCmd.Close
                                       ‘ ACA SE ABRE EL FORMULARIO CONFIGURACION
                                       DoCmd.OpenForm ("CONFIGURACION")
        
                                        End If
   
                       RESULT.Close
                       DB.Close
                       Set RESULT = Nothing
                        Set DB = Nothing
End If

miércoles, 18 de mayo de 2011

CODIGO ACCESS PARA APLICACION CON USUARIO Y PASSWORD V.1

Código para colocar en un formulario usuario y password

  • Access 
·         Problema: Queremos crear un formulario Entrada que valide el usuario y su password, si es correcto que nos abra otro formulario Inicio y en éste un cuadro de texto en el que nos salga el nombre del usuario 

·         Solución: Crear una Tabla Usuarios con los campos Usuario, Password y Nombre, en el campo contraseña en propiedades, mascara de entrada, tipo password. (Se aplica la máscara cuando no queremos que se vea lo que escribimos)

ü  Primero tendremos que crear una variable pública que llamaremos vNombre para poder pasar el nombre de un formulario a otro vamos a la pestaña módulos y abrimos uno nuevo, aquí declaramos la variable:
Public vNombre as string
Al declararla como pública la podremos utilizar en cualquier momento y lugar de la aplicación
Guardamos el módulo con el nombre que queramos (por ej. Modulo1)
ü  Creamos un formulario1 independiente (no ponemos nada en origen del registro) que llamaremos Inicio
ü  Luego crearemos un formulario 2, con dos cuadros de texto:
txtUsuario   
txtPassword (en txtPasword ---> Máscara de entrada ---> Password)
Un botón Entrar con el código siguiente:

Private Sub Entrar_Click()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("Select Usuario, Password, Nombre from Usuarios where Usuario='" & Form!txtUsuario.Value & "' and Password='" & Form!txtPassword.Value & "'")
If Not rs.EOF Then
vNombre = rs!Nombre
DoCmd.OpenForm "Inicio", acNormal
Else
MsgBox "Usuario o password no válidos"
End If
End Sub

ü  En el formulario Inicio, creamos  un cuadro de texto txtNombre, en la  propiedades del formulario, en la acción:
Al Cargar ---> Procedimiento de Evento ---> El código siguiente

Private Sub Form_Load()
Form!txtNombre.Value = vNombre
End Sub

NOTA: Fijarse en los nombres de los text, es posible que al nombrar textusuario, textpassword y textnombre. De error por lo que tendrá que cambiar el nombre por texto0, texto1 según sea el caso.