Mostrando resultados del 1 al 4 de 4

Tema: Crear formulario de acceso en access

  1. #1

    Predeterminado Crear formulario de acceso en access

    Hola buen dia a todos.

    Quisiera crear un formulario dentro de mi archivo para que al intentar abrir
    me pida una contraseña. si colocan la contraseña mal que se salga y sino abra la base de datos.

    Se que por la opcion de herramientas se puede colocar clave, pero si hago esto entonces tendria que modificar todos los codigos de los tantos formularios que tiene mi programa seria algo muy desagradable. y se que haci me ahorraria todo eso. pero he buscado informacion y aun no doy.

  2. Predeterminado Re: Crear formulario de acceso en access

    hola:
    a un proyecto nuevo agregá un mdiform y un módulo
    en el módulo pegá este código:

    Código:
    Option Explicit
    Public LoginSucceeded As Boolean
    Public cnn As ADODB.Connection
    
    Public Sub Main()
        Set cnn = New ADODB.Connection
        cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ejemplo.mdb;Persist Security Info=False"
        cnn.Open
        
        MDIForm1.WindowState = vbMaximized
        MDIForm1.Show
        
        frmLogin.Show vbModal
        
        If Not LoginSucceeded Then
            cnn.Close
            Set cnn = Nothing
            End
        End If
        
        'Form1.Show
        
    End Sub
    en el mdi este:

    Código:
    Option Explicit
    
    Private Sub MDIForm_Unload(Cancel As Integer)
        If Not cnn Is Nothing Then
            cnn.Close
            Set cnn = Nothing
        End If
    End Sub
    luego en desde el menú Proyecto->Agregar Formulario, eleg* la opción:
    Cuadro de diálogo inicio de sesión

    cambiá todo el código generado automáticamente por este:

    Código:
    Option Explicit
    
    Private Sub cmdCancel_Click()
        'establecer la variable global a false
        'para indicar un inicio de sesión fallido
        LoginSucceeded = False
        Unload Me
    End Sub
    
    Private Sub cmdOK_Click()
        Dim rs As ADODB.Recordset
        Dim cmd As New Command
        Dim strSQL As String
        
        strSQL = "SELECT NULL FROM Usuarios WHERE UserName = ? AND Password = ?"
        
        cmd.ActiveConnection = cnn
        cmd.CommandType = adCmdText
        cmd.CommandText = strSQL
        cmd.Parameters.Append cmd.CreateParameter("UserName", adVarChar, adParamInput, 50, Me.txtUserName.Text)
        cmd.Parameters.Append cmd.CreateParameter("Password", adVarChar, adParamInput, 50, Me.txtPassword.Text)
        
        Set rs = cmd.Execute
        
        LoginSucceeded = Not rs.EOF
        
        rs.Close
        Set rs = Nothing
        If LoginSucceeded Then
            Unload Me
        Else
            MsgBox "Los datos de inicio no son válidos. Vuelva a intentarlo", , "Inicio de sesión"
        End If
        
    End Sub
    en la base debe existir una tabla de nombre "Usuarios" con los campos

    IdUsuario - numerico entero largo (PK)
    UserName - Texto x 50 (U1)
    Password - Texto x 50 (U1)

  3. #3

    Predeterminado Re: Crear formulario de acceso en access

    Creo que no me explique bien. no es en visual basic es en ACCESS
    dentro de acces un formulario para que no deje entrar a visualizar las tablas de access a menos que ingrese una clave que este contenida en una tabla llamada usuario o sino una ya establecida para que no sea tanto problema

  4. Predeterminado Re: Crear formulario de acceso en access

    con access viene una base de ejemplo que se llama Neptuno si no recuerdo mal, tiene lo que necesitás

Normas de Publicación

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
  • BB code is habilitado
  • Las caritas están habilitado
  • Código [IMG] está habilitado
  • [VIDEO] code is habilitado
  • Código HTML está deshabilitado