Utilizamos Cookies de terceros para generar estadísticas de audiencia y mostrar publicidad personalizada analizando tu navegación. Si sigues navegando estarás aceptando su uso. Más información X
PortadaForo AyudaTutoriales

Crear usuario y contraseña a través de un formulario en Access 2007

NOVELJAN
Todos sus contenidos
0 Seguidores
9 Envíos
918 Puntos
291 Posts
05/12/2014
Después de ir navegando mucho tiempo por la red un buen día me encontré con la solución de hacer un formulario que al poner un número de usuario y una contraseña nos diese acceso a la base de datos que habíamos creado. Esta vez incluyo imágenes para no cansar la vista con tanto número. Primero hacer tres tablas:
Primera tabla, creamos dos campos con los mismos datos como se ve en la imagen



Y guardamos la tabla con el nombre de Acceso.
segunda tabla, creamos los mismos campos y tamaño como en las imágenes de abajo




Guardamos la tabla con el nombre Usuarios
tercera tabla con los mismos campos y tamaños de las siguientes imágenes





Guardamos la tabla con el nombre Bitacora.
Segundo vamos a crear las relaciones entre las tablas creadas. Ahora vamos a "herramientas de base de datos" y pulsamos en RELACIONES; pulsamos en "mostrar tablas"
Seleccionamos las tres tablas y aceptamos. Ahora unimos de la tabla Usuarios el campo IdUsuario al campo IdUsuario de la tabla Bitacora verificamos los tres apartados y clicamos en Aceptar



Después unimos de la tabla Usuarios el campo IdAcceso al campo IdAcceso de la tabla Acceso verificamos solo el primer apartado y clicamos en Aceptar



Finalmente guardamos las relaciones hechas y escribimos los datos en las tablas creadas. Las tablas las podemos hacer "invisibles" para que la gente que utilice el programa no las vea seleccionándolas y con el botón derecho del mouse escogemos



Después hacer un clic con el botón derecho del mouse en la barra de objetos de Access y seleccionamos “Opciones de exploración” como en la imagen



En el apartado de “opciones de presentación “solo verificamos la casilla de la imagen de abajo



Y vuelven aparecer las tres tablas con un color transparente, aunque estén así igualmente podemos entrar para crear, eliminar y modificar datos.
Tercero creamos un formulario en vista diseño y lo guardamos clicando con el botón derecho del ratón en la pestaña del formulario y seleccionando “Guardar” con el nombre por ejemplo Verificacion. Ahora volvemos abrir este formulario en vista diseño clicamos en “agregar campos existentes” clicamos la tabla Bitacora y arrastramos el campo IdUsuario, en su etiqueta la seleccionamos y escribimos "Usuario" y clicamos en sus propiedades, en la pestaña "Todas" en Titulo ponga Usuario y en Nombre Usuario_Etiqueta.
Una vez cerrada la hoja de propiedades, arrastramos uno detrás de otro los campos Fecha_Ingreso y Hora_Ingreso dentro del formulario, eliminamos sus etiquetas de texto y con sus etiquetas de campo seleccionamos el campo Fecha_Ingreso y clicamos en "Hoja de propiedades" en la pestaña "Datos" en Valor predeterminado escribimos:=Fecha()
con lo que nos saldra la fecha actual y tanto en Activado como en Bloqueado decimos SI, cerramos Hoja de propiedades.
Ahora seleccionamos el campo Hora_Ingreso y clicamos en "Hoja de propiedades" en la pestaña "Datos" en Valor predeterminado escribimos:=HoraActual()
con lo que nos saldra la hora actual y tanto en Activado como en Bloqueado decimos SI, cerramos Hoja de propiedades.
Una vez entrado los datos cerramos la hoja de propiedades del campo seleccionado. De esta manera se sabe el usuario que ha entrado, en qué fecha y a qué hora en la base de datos, mirando la tabla Bitacora.
Ahora clicamos su campo de texto y en la pestaña "Todas" en Nombre escribir txtLogin, en Origen del control tiene que poner "IdUsuario" y cerramos propiedades.(cuando entremos en el formulario escogeremos en este campo el nombre que tengamos)
A continuación hacemos lo de la imagen de abajo



Y cerramos la hoja de propiedades, vamos a crear el campo Contraseña, clicando en "Cuadro de texto" y poniéndolo en el formulario.
En su etiqueta de texto escribimos "Contraseña" y una vez hecho esto seleccionamos su campo de texto, en la pestaña "Todas" en Nombre escribimos txtPass y en la pestaña "Datos" en Mascara de entrada clicamos y seleccionamos "Contraseña" , cerramos propiedades.(en este campo es donde escribiremos nuestra contraseña).Ahora volvemos a seleccionar el campo de texto de Usuario abrimos sus propiedades, en la pestaña "Eventos" en al cambiar clicamos en el botón de los puntitos y generamos un código de Visual Basic



El codigo es:
Private Sub txtLogin_Change()
escribimos:
On Error GoTo Err_txtLogin_Change
Me.txtPass.SetFocus
Exit_txtLogin_Change:
Exit Sub
Err_txtLogin_Change:
"en caso de error, no pasa nada
Resume Exit_txtLogin_Change
End Sub

Clicamos en el icono de guardar que está en la parte superior izquierda y después en Depuración clicamos en "Compilar (nombre de la base de datos)" eso se hace para estar seguros de no tener ningún fallo en el código que hemos escrito, finalmente cerramos Visual Basic, clicando la equis que hay a la derecha en la parte superior de la pantalla y cerramos propiedades.
Ahora vamos a crear el botón de Aceptar pulsando el comando botón y lo ponemos en el formulario saldrá un asistente lo cancelamos y en el botón escribimos Aceptar le damos a sus propiedades y en la pestaña "Todas" en nombre escribimos CmdAceptar, en la pestaña "Eventos" en Al hacer clic creamos un código en Visual Basic

Private Sub CmdAceptar_Click()
Dim auxContraseña As String
"Comprobamos que hay datos en las cajas de texto
If Nz(Me.txtLogin.Value, "") = "" Then
MsgBox "Escriba su numero de usuario para acceder", vbInformation, "ATENCIÓN"
Me.txtLogin.SetFocus
ElseIf Nz(Me.txtPass.Value, "") = "" Then
MsgBox "Introduzca la contraseña del usuario seleccionado", vbInformation, "ATENCIÓN"
Me.txtPass.SetFocus
Else
If Nz(DLookup("Contraseña", "Usuarios", "IdUsuario=" & Me![txtLogin]), "") "" Then
auxContraseña = DLookup("Contraseña", "Usuarios", "IdUsuario=" & Me![txtLogin])
End If
If auxContraseña Me.txtPass.Value Then
If NumIntentos > 1 Then
NumIntentos = NumIntentos - 1
MsgBox "La contraseña introducida es incorrecta" & vbCrLf & _
"Le quedan " & NumIntentos & " intentos" & vbCrLf & vbCrLf & _
"Por favor,introduzca otra", vbExclamation, "INTRODUCCIÓN INCORRECTA"
Me.txtPass.Value = ""
Me.txtPass.SetFocus
Else
MsgBox "Ha superado el numero de intentos", vbCritical, "ADIOS..."
DoCmd.Close acForm, Me.Name "y cerramos el de acceso
End If

Else
If DLookup("IdAcceso", "Usuarios", "IdUsuario=" & Me![txtLogin]) = 1 Then
"**entrada como Administrador
DoCmd.OpenForm "ADMINISTRADOR", , , "Aceptar" "Abrimos el formulario correspondiente
End If
If DLookup("IdAcceso", "Usuarios", "IdUsuario=" & Me![txtLogin]) = 2 Then
"**entrada como Usuario
DoCmd.OpenForm "PRINCIPAL", , , "Aceptar" "Abrimos el formulario correspondiente
End If
DoCmd.Close acForm, Me.Name "y cerramos el de acceso
End If
End If
End Sub
Guardamos y le damos a Compilar en la pestaña Depuración para ver que se ha hecho correctamente y cerramos visual Basic.
Ahora crearemos el botón Cancelar clicando el comando de botón, poniéndolo en el formulario y cancelando el asistente para así escribir "Cancelar" en el botón y le damos a propiedades en la pestaña "Todas" en nombre escribimos CmdCancelar en la pestaña "Eventos" en Al hacer clic generamos el código de visual Basic

Private Sub cmdCancelar_Click()
Escribimos:
Dim resp As Integer
resp = MsgBox("¿Seguro que desea cancelar?", _
vbQuestion + vbYesNo, "CONFIRMAR")
If resp = vbYes Then
DoCmd.Quit
End If
End Sub
y guardamos, compilamos y cerramos visual Basic y propiedades. Ahora sin tener nada seleccionado en el formulario clicamos la hoja de propiedades del formulario y en la pestaña "Eventos" en Al cargar genéranos un código visual Basic



Private Sub Form_Load()
Escribimos:
DoCmd.Restore
NumIntentos = 3
End Sub

Ahora guardamos, compilamos y cerramos visual Basic y las propiedades del formulario. Finalmente seleccionamos el botón Aceptar clicamos en la hoja de propiedades pestaña "Eventos", Al hacer clic en esta ventana situamos el cursor del ratón arriba del todo ahora en el cuadro combinado de la izquierda seleccionamos "(General)" automáticamente en el de la derecha sale "(Declaraciones)"

Option Compare Database
Escribimos:
Option Explicit
Dim NumIntentos As Integer

Como se ve en la imagen de abajo



Guardamos, compilamos y cerramos visual Basic.
Guardamos el formulario creado



ahora crearemos dos formularios que les llamaremos “ADMINISTRADOR” que será el formulario que se abrirá al entrar como administrador y “PRINCIPAL” que será el formulario que se abrirá al entrar como usuario, probamos si funciona.Espero que les funcione, saludos.

Opiniones:OPINIONES: 0
Autores: Esta sección es realizada sólo y exclusivamente por Usuarios de ConfigurarEquipos.com, el mérito corresponde a los usuarios que envían estos contenidos.
InicioSecciones
^ SubirAviso legal
Política Privacidad
Configurarequipos20 Abril 2024