Sie sind auf Seite 1von 4

Ya estamos en la entrega #2 del modulo "Acceso al Sistema" de nuestro laboratorio

practico, "Crear un punto de venta con access 2010" , para llevar a cabo esta
segunda vdeo practica, se hace necesario haber terminado el modulo "usuarios del
sistema" que vimos en la entrega pasada.
En esta entrega #2 se comprende de 2 elementos (un formulario de acceso y un modulo
de visual basic para aplicaciones conocido como VBA)...

ACCESO AL SISTEMA

La estructura del formulario de acceso es sumamente simple, contendra 2 cajas de texto y


2 botones (uno para solicitar la entrada al sistema y otro para abandonar el sistema) que a
continuacion les indicare cual sera su configuracion.

NOMBRE DE LOS CONTROLES:


El textbox para el Nombre de Usuario se debe nombrar: TxtNOMBRE_USUARIO
El textbox para la clave de usuario se debe nombrar: TxtCLAVE_USUARIO
El evento del boton CANCELAR:
Solo contiene una macro incrustrada con el evento "SalirdeAccess"

Descarga esta Entrega Aqui


(importa estos objetos a tu base de datos como se explica en este Video )
Este es el codigo del Boton Aceptar

Private Sub CmdAceptar_Click()


On Error GoTo err:
'variable local para nombre y clave de usuario
Dim NOMUSU As String
Dim CVEUSU As String
'Asignar el valor de los controles a las variables locales
NOMUSU = UCase(Nz(Me.TxtNombre_Usuario.Value, ""))
CVEUSU = UCase(Nz(Me.TxtCLAVE_USUARIO.Value, ""))
If IsEmpty(NOMUSU) Or IsEmpty(CVEUSU) Then
MsgBox "Datos Incompletos...", vbOKOnly + vbCritical,
"Imposible Ingresar!!"
Else
'Buscar Usuario con los datos ingresados
If ExisteUsuario(NOMUSU, CVEUSU) = True Then
MsgBox "Bienvenido al Sistema", vbOKOnly +
vbInformation, "Acceso Exitoso"
DoCmd.Close 'Cerrar ventana de Acceso
'Codigo para entrar al sistema,, esten pendiente
con las PROXIMAS ENTREGAS!!
DoCmd.OpenForm "VENTAS", acNormal
Else
NumIntento = NumIntento + 1
If NumIntento <= 2 Then
MsgBox "Usuario o Clave incorrecta",
vbCritical + vbOKOnly, "Acceso Denegado"
Me.TxtNombre_Usuario.Value = ""
Me.TxtCLAVE_USUARIO.Value = ""
Me.TxtNombre_Usuario.SetFocus
Else

MsgBox "Demasiados Intentos, el Sistema se


cerrara!", vbCritical + vbOKOnly, "Fallas de Acceso"
DoCmd.Quit
End If
End If
End If
Exit Sub
err:
MsgBox err.Description
End Sub
Esta es la Funcion de ExisteUsuario

Public Function ExisteUsuario(strNomUsuario As String,


strCveUsuario As String) As Boolean
On Error GoTo us_err
Dim Rst As DAO.Recordset
Dim sql As String
sql = "SELECT * FROM [USUARIOS] US WHERE US.[NOMBRE_USUARIO]='" &
strNomUsuario & "' AND US.[CLAVE_USUARIO]='" & strCveUsuario & "'"
Set Rst = CurrentDb.OpenRecordset(sql)
If Rst.BOF And Rst.EOF Then
ExisteUsuario = False
Else
ExisteUsuario = True
'Se Inicializar las variables de Sesion
xNOMBRE_USUARIO = Rst!NOMBRE_USUARIO
xCLAVE_USUARIO = Rst!CLAVE_USUARIO
xNOMBRE = Rst!NOMBRE
xAPELLIDO_PATERNO = Rst!APELLIDO_PATERNO
xAPELLIDO_MATERNO = Rst!APELLIDO_MATERNO
xVENTAS = Rst!VENTAS
xADMINISTRAR = Rst!ADMINISTRAR
xREPORTES = Rst!REPORTES
xCATALOGOS = Rst!CATALOGOS
xCONSULTAS = Rst!CONSULTAS

xCANCELAR_VENTA = Rst!CANCELAR_VENTA
End If
Rst.Close
Set Rst = Nothing
Exit Function
us_err:
MsgBox err.Description
End Function
Estas son las variable Publicas del Sistema

Option Compare Database


Option Explicit
'VARIABLES DE SESION
'SE NOMBRARAN IGUAL TAL COMO EN EL DISEO DE LAS TABLAS, PERO CON
EL PREFIJO "x"
'PARA IDENTIFICARLAS COMO VARIABLES DE SESION
'----------- DATOS DE USUARIO----------Public xNOMBRE_USUARIO As String
Public xCLAVE_USUARIO As String
Public xNOMBRE As String
Public xAPELLIDO_MATERNO As String
Public xAPELLIDO_PATERNO As String
Public xVENTAS As Boolean
Public xADMINISTRAR As Boolean
Public xREPORTES As Boolean
Public xCATALOGOS As Boolean
Public xCONSULTAS As Boolean
Public xCANCELAR_VENTA As Boolean
'--------------------------------------Public NumIntento As Byte

Das könnte Ihnen auch gefallen