You are on page 1of 4

CMO CREAR NUESTRO FORMULARIO DE CONTRASEAS1

Pasos que debemos seguir:


1.- Creamos una tabla, a la que llamaremos TPass. Esta
tabla contendr dos campos: NomUser y Pass. El campo
NomUser lo definimos como texto y le establecemos la
longitud en 10 caracteres (optativo, pero es mejor delimitar
la longitud para no tener un campo intil de 255
caracteres). El campo Pass lo establecemos tambin como
texto, de longitud 10 caracteres (la misma explicacin que
antes). Le asignamos una mscara de entrada tipo
contrasea. Introducimos al menos un usuario y una
contrasea.
2.- Hacemos click con el botn derecho del ratn sobre la tabla que acabamos de crear, nos
vamos a propiedades de la tabla y en la ventana que nos sale le marcamos el check Oculto.
La tabla ahora estar oculta a la vista de fisgones.
3.- Para ver la tabla hacemos click con el botn derecho del ratn sobre cualquier espacio en
blanco del panel de exploracin y nos vamos a Opciones de exploracin. Le marcamos el
check Mostrar objetos ocultos. Ahora nos aparecer nuestra tabla con el nombre atenuado.
No olvidis desmarcar esta opcin para volver a hacer desaparecer la tabla.
4.- Creamos un formulario en blanco. Lo guardamos como FPass. Le aadimos los siguientes
elementos, a la vez que los configuramos como sigue:
Cuadro combinado
o

Le decimos al asistente que busque los valores en una tabla

Seleccionamos la tabla TPass

Aadimos slo el campo NomUser

Valor a mostrar: Usuario:

Sacamos las propiedades del cuadro combinado y le establecemos lo siguiente:


Pestaa Datos:

Limitar a la lista: S

Permitir ediciones de lista: NO

Pestaa Otras:

Nombre: le escribimos cboUser

Cuadro de texto
o

En su etiqueta escribimos Contrasea:

Sacamos sus propiedades y le establecemos lo siguiente:


Pestaa Datos:

Podis bajaros la BD creada segn este ejemplo aqu. Usuario y pass iniciales: neckkito

Vistame en http://siliconproject.com.ar/neckkito/

Mscara de entrada: contrasea

Pestaa Otras:
Nombre: le escribimos txtPass
Botn de comando: ser el que nos permitir aceptar los
datos. Lo creamos en el formulario (cancelamos el asistente
si nos sale), sacamos sus propiedades y en la pestaa Otros
Nombre lo llamamos cmdAceptar
Botn de comando: ser el que nos permitir cancelar. Lo
creamos en el formulario (cancelamos el asistente si nos
sale), sacamos sus propiedades y en la pestaa Otros
Nombre lo llamamos cmdCancelar
5.- Vamos a configurar el formulario para que tenga unas determinadas caractersticas. Para
ello sacamos las propiedades del formulario y:
Pestaa Formato:
o

Ttulo: le ponemos de ttulo PASSWORD

Centrado automtico: S

Estilo de los bordes: Dilogo

Selectores de registro: NO

Botones de desplazamiento: NO

Barras de desplazamiento: Ninguna

Cuadro de control: NO

Pestaa Otras:
o

Emergente: S

Modal: S

6.- Vamos a aplicar cdigo para que la cosa funcione. El proceso es idntico para todos los
controles. Sacamos sus propiedades, vamos a la pestaa Eventos, seleccionamos el evento al
que queremos asignar cdigo, nos situamos en el espacio en blanco que hay a su derecha. Nos
saldr un pequeo botn con puntos suspensivos. Hacemos click sobre l y, en la ventana que
nos aparece, le decimos que queremos generar cdigo. Nos aparecer el editor de VB
Todo el cdigo debe ir entre las dos lneas que aparecen por defecto: Private Sub y End Sub
7.- Cuadro combinado cboUser Evento Despus de actualizar, le asignamos el siguiente
cdigo:

Private Sub cboUser_AfterUpdate()


Me.txtPass.SetFocus
End Sub

8.- Botn de comando cmdCancelar Evento Al hacer click, le asignamos el siguiente cdigo:

Vistame en http://siliconproject.com.ar/neckkito/

Private Sub cmdCancelar_Click()


Dim resp As Integer
resp = MsgBox("Seguro que desea cancelar?", _
vbQuestion + vbYesNo, "CONFIRMAR")
If resp = vbYes Then
DoCmd.Quit
End If
End Sub

9.- Antes de programar el botn cmdAceptar vamos a crear


un formulario en blanco. No hacemos nada con l.
Simplemente lo guardamos como FMenu.

10.- Al botn cmdAceptar le asignamos, al evento Al hacer click, el siguiente cdigo2:

Private Sub cmdAceptar_Click()


Dim vUser As Variant
Dim vPass As Variant
vUser = Me.cboUser.Value
vPass = Me.txtPass.Value
If IsNull(vUser) Then
MsgBox "No ha seleccionado ningn usuario", vbInformation, "AVISO"
Me.cboUser.SetFocus
Exit Sub
End If
IfIsNull(vPass) Then
MsgBox "No ha introducido ninguna contrasea", vbInformation, "AVISO"
Me.txtPass.SetFocus
Exit Sub
End If
Dim rst As Recordset
Set rst = CurrentDb.OpenRecordset("TPass", dbOpenSnapshot)
If rst.RecordCount = 0 Then
MsgBox "No existen usuarios", vbInformation, "AVISO"
GoTo Salida
End If
rst.MoveFirst
Do Until rst.EOF
Dim tUser, tPass As String
tUser = rst.Fields(0).Value
tPass = rst.Fields(1).Value
2

Si el cdigo no funciona debemos comprobar que tenemos la biblioteca DAO registrada. Para ello abrimos el editor de VB (Alt+F11)
y nos vamos al men Herramientas Referencias Buscamos la referencia Microsoft DAO 3.6 Object Library y la agregamos.

Vistame en http://siliconproject.com.ar/neckkito/

If tUser = vUser Then


If tPass = vPass Then
DoCmd.CloseacForm, Me.Name
DoCmd.OpenForm "FMenu"
Else
MsgBox "La contrasea introducida no es correcta", _
vbInformation, "INCORRECTO"
Me.txtPass.SetFocus
Me.txtPass.Value = Null
GoToSalida
End If
End If
rst.MoveNext
Loop
Salida:
rst.Close
Set rst = Nothing
End Sub

Y eso es todo. Ahora slo debemos cambiar, en la lnea que pone DoCmd.OpenForm "FMenu",
FMenu por el nombre del formulario que queremos que se abra.
Un saludo, y...
suerte!

Vistame en http://siliconproject.com.ar/neckkito/

You might also like