Requisitos
- Visual Studio 2010
- Microsoft Access 2007/2010
Creación del Proyecto Creamos un proyecto llamado PVenta2012 a través de Visual Studio 2010:
Organizamos nuestro proyecto:
Agregaremos tres carpetas y eliminaremos el formulario predeterminado (Form1.vb) pues no lo necesitamos. Además, a las carpetas les agregamos dos formularios y un módulo respectivamente, como se muestra en la imagen. Formulario de Inicio de Sesión (frmLogin.vb) Agregamos dos directivas:
Imports System.Data Imports System.Data.OleDbAgregamos las siguientes variables:
Dim Intentos As Integer = 0 Public Shared UserLogin As String Public Shared Nombre As String Public Shared Apellidos As String Public Shared Ventas As Boolean Public Shared Reportes As Boolean Public Shared Administrar As Boolean Public Shared Catalogos As Boolean Public Shared Acceso As BooleanPonemos el siguiente código en modMain.vb:
Module modMain Public CnnStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=C:\Users\ddi-gcastillo\" & _ "Documents\tyrodeveloper\PVenta2012\PVenta2012.accdb;" & _ "Persist Security Info=False;" Sub Main() Dim _frmLogin As New frmLogin _frmLogin.StartPosition = FormStartPosition.CenterScreen Application.Run(_frmLogin) If (frmLogin.Acceso = True) Then Dim _mdiMain As New mdiMain _mdiMain.StartPosition = FormStartPosition.CenterScreen _mdiMain.WindowState = FormWindowState.Maximized Application.Run(_mdiMain) Else Application.Exit() End If End Sub End ModuleRegresamos a frmLogin.vb, escribimos la siguiente función:
Protected Function Login() As Boolean Dim cnn As New OleDbConnection(CnnStr) Try cnn.Open() Dim cmd As New OleDbCommand cmd.Connection = cnn cmd.CommandText = "SELECT * FROM USERS " & _ " WHERE USER_LOGIN=@user_login " & _ " AND USER_PASSWORD=@user_password" cmd.Parameters.Add("@user_login", OleDbType.VarChar, _ 50).Value = txtUserLogin.Text cmd.Parameters.Add("@user_password", OleDbType.VarChar, _ 255).Value = txtUserPassword.Text Dim dr As OleDbDataReader = cmd.ExecuteReader If dr.Read Then UserLogin = dr("USER_LOGIN").ToString() Nombre = dr("NOMBRE").ToString() Apellidos = dr("APELLIDOS").ToString() Ventas = CBool(dr("VENTAS")) Reportes = CBool(dr("REPORTES")) Administrar = CBool(dr("ADMINISTRAR")) Catalogos = CBool(dr("CATALOGOS")) Else Intentos += 1 Throw (New Exception( _ "Nombre de Usuario o contraseña incorrectos")) End If dr.Close() Return True Catch ex As Exception Throw (ex) Finally cnn.Close() End Try End FunctionLuego ponemos el código del botón “Aceptar”:
Private Sub btnOk_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btnOk.Click Try If (Intentos >= 3) Then Acceso = False MessageBox.Show("Numero de Intentos Excedidos", _ "Información del Sistema", _ MessageBoxButtons.OK, _ MessageBoxIcon.Error) Me.Close() Else Acceso = Login() If (Acceso) Then Me.Close() End If End If Catch ex As Exception MessageBox.Show(ex.Message, "Información del Sistema", _ MessageBoxButtons.OK, MessageBoxIcon.Error) End Try End SubA continuación configuramos el proyecto, nos vamos a las propiedades y establecemos el objeto inicial:




esta muy interesante tu programa estoy siguiendolo espero tu nueva actualizacion para reportes gracias
ResponderEliminarNo pusiste como luce el form del login ni que elementos debe de llevar a excepción del botón, uhm... muy buena guía por cierto pero sólo ese detalle.
ResponderEliminarupsssn espero y me sirva si no ya vali
ResponderEliminarHola buenas tardes.
ResponderEliminarExcelente tu trabajo. Justo es lo que andaba buscando. Ahora me falta entenderlo para realmente considerar que he aprendido.
Gracias por ser tan generoso (a)
Esta muy bueno eso se puede utilizar como para guardar tan bien a la base de datos en access.
ResponderEliminarEXCELENTE PERO M DA UN ERROR EN Public Shared
ResponderEliminarHola! Quisiera saber los tipos de los campos de la base de datos
ResponderEliminarHola! Quisiera saber los tipos de los campos de la base de datos
ResponderEliminar