Access - activar o desactivar boton de comando despues de digitar ususario y contraseña

   
Vista:

activar o desactivar boton de comando despues de digitar ususario y contraseña

Publicado por Nestor nestor.bautista@gmail.com (7 intervenciones) el 09/03/2012 16:40:55
Hola a todos muchachos...

encontre en Internet un codigo que me da la opcion de entrar a mi aplicacion por medio de un formulario y una tabla en access 2003 pidiendome ususario y contraseña, el usuario lo puedo seleccionar con un cuadro combinado y todo funciona perfecto. lo que quiero es que si se entra como administrador entonces en el siguiente formulario que me abra que seria el menu principal me quede activo un boton de comando que me abra la tabla en donde estan los usuarios y las contraseñas para poderlas cambiar y en caso contrario que si se entra como ususario invitado me desactive el boton de comando de cambiar la contraseña ypor el contrario me active otro boton de comando de cambiar la contraseña pero en este caso me pida el uuario y clave anterior y me de la opcion de escribir la nueva contraseña.

Espero me hayan entendido.

Gracias por la ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

activar o desactivar boton de comando despues de digitar ususario y contraseña

Publicado por Nestor Aleicer (7 intervenciones) el 12/03/2012 13:59:08
Gracias por leer mi problemita, pero ya lo solucione.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

activar o desactivar boton de comando despues de digitar ususario y contraseña

Publicado por xve (114 intervenciones) el 12/03/2012 14:13:31
Hola Nestor, como lo solucionastes?? nos puedes informar??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

activar o desactivar boton de comando despues de digitar ususario y contraseña

Publicado por Nestor Aleicer (7 intervenciones) el 12/03/2012 15:33:51
Utilice un código fuente que encontre en la web, no se si se pueda colocar la dirección web aqui?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

activar o desactivar boton de comando despues de digitar ususario y contraseña

Publicado por Nestor Aleicer (7 intervenciones) el 12/03/2012 15:40:50
o colocar el código fuente todo explicado paso a paso.?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

activar o desactivar boton de comando despues de digitar ususario y contraseña

Publicado por Nestor Aleicer (7 intervenciones) el 12/03/2012 17:05:05
para

crear un formulario con contraseña (ver aquí), que utiliza el método de creación de un Recordset, para este ejemplo vamos a utilizar otro método para comprobar que el usuario y la contraseña introducidos son correctos. Así tendréis más variedad de opciones para adaptar a vuestras aplicaciones.

Además, tenemos un ejemplo, que es contraseña con InputBox. Lo que vamos a
explicar aquí podría considerarse una “variación sobre el tema”, sin necesidad de requerir contraseña cada vez.

Por otra parte, se encuentra en la sección formularios porque vamos a utilizar un
formulario como chivato para poder limitar las acciones del usuario. Lo que vamos

a explicar aquí se puede hacer, evidentemente, de o ras maneras, pero

a mí,

personalmente, me gusta mucho tener ese “topo” espía en mi BD que me lo “canta”
todo ☺.


Si tuviera que hacer una introducción al ejemplo utilizan

o mi fantástica creatividad

literaria (je, je…) diría lo siguiente: nuestra

D tiene fo mularios que los usuarios

pueden emplear sin problemas, pero hay algunos formularios cuyo acceso requiere

que el usuario sea fulanito o menganito. Va

os a ver cómo dejar acceder a esos

formularios “restringidos” en función de quién sea el usuario que esté utilizando la
BD.


Los puntos 1 al 8 son comunes a l

s explicados en el ejemplo abrir formulario con

contraseña, antes citado. Los vuelvo a repetir para aquellos que no hayan seguido

dicho ejemplo. A partir d

l punto 9

í que cambia un poco la cosa.


Vamos allá:


1.-

Creamos una tabla,

a la que

llamaremos TPass.

Esta tabla

contendrá

dos

ca pos: NomUser y P

ss. El campo NomUser lo definimos como texto

y le

est

blecemos

a longitud

en 10 caracteres (optativo, pero es mejor delimitar la

lon

itud para

no tener

un campo

inútil de

255 caracteres). El

campo Pass lo

est

blecemos

ambién como texto, de longitud 10 caracteres (la misma explicación

que antes). Le asignamos una máscara de entrada tipo “contraseña”. Introducimos
al enos un usuario y una contraseña.

2.- Hacemos click con el botón derecho del ratón 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 es ará oculta a la vista de “fisgones”.

3.- Para ver la tabla hacemos click con el botón derecho del ratón sobre cualquier

espacio en blanco del

panel de

exploración y nos

vamos a

“Opciones de

exploración”. Le marcamos el check “Mostrar objetos ocultos”. Ahora nos aparecerá



1 La BD desarrollada según este ejemplo la podéis encontrar aquí.





4.-

Creamos un formulario en blanco. Lo guardamos

como FPass. Le

añadimos 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
o Seleccionamos la tabla TPass
o Añadimos sólo el campo NomUser
o Valor a mostrar: Usuario:
o Sacamos las propiedades del cuadro combinado y le establecemos lo siguiente:
 Pestaña Datos:
• Limitar a la lista: SÍ
• Permitir ediciones de lista: NO
 Pestaña Otras:


• Cuadro de texto

Nombre: le escribimos cboUser

o En su etiqueta escribimos Contraseña:

o Sacamos sus propiedades y le e
 Pestaña Datos

tablecem

s lo siguiente:

• Máscar

de entrada: contraseña

 Pestaña Otras:

• Nombr

: le escribimos txtPass

• Botón de comando: será el

ue nos pe mitirá aceptar los datos. Lo creamos

en el formulario

(cancela

os el asistente si

nos sale), sacamos

sus

propiedades y en la pestaña Otros->Nombre lo llamamos cmdAceptar

• Botón 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 pestaña Otr

s->Nombre lo llamamos cmdCancelar



5.-

Vamos a

configur

r el formulario para que tenga unas

determinadas

car

cterísticas. Para ello

acamos las propiedades del formulario y:



Pesta
o o
o

Formato:
ítulo: le ponemos de título PASSWORD
entrado automático: SÍ
stilo de los bordes: Diálogo

o Selectores de registro: NO
o Botones de desplazamiento: NO
o Barras de desplazamiento: Ninguna
o Cuadro de control: NO
• Pestaña Otras:
o Emergente: SÍ
o Modal: SÍ

6.- Vamos a aplicar código para que la cosa funcione. El proceso es idéntico para

todos los controles. Sacamos sus

propiedades, vamos a la pestaña Eventos,

seleccionamos

el evento

al que queremos asignar código, nos

situamos

en el




aparece, le decimos que
editor de VB

queremos generar

código. Nos aparecerá el


Todo el código debe ir entre las dos líneas que aparecen por defecto: Private Sub…
y End Sub


7.-

Cuadro combinado cboUser->Evento “Después de actualizar”,

le asignamos el

siguiente código:

Private Sub cboUser_AfterUpdate()
Me.txtPass.SetFocus
End Sub


8.-

Botón de

comando

cmdCancelar->Evento “Al hacer click”, le asignamos el

siguiente código:

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.- Vamos a dejar por ahora el formulario FPass. Vamos a crear un formulario en

blanco y lo guardamos con el no
FAutorizado2.

bre de FAutorizado1

y creamos otro llamado



10.

Abrimos la tabla

ass y creamos dos

usuarios.

En la BD

de ejemplo ya

tenemos uno, que es neckkito (pass: neckkito), y he añadido otro que es Usuario2,

con

pass 123.

neckkito

endrá acceso sólo a

FAutorizado1; Usuario2 tendrá

sólo

ac so a FAutorizado2.


11 Creamos

otro formulario en blanco y lo

llamaremos FMenu.

Insertamos dos

bo nes de cm AbreFA2.

omando.

Uno, de

nombre

cmdAbreFA1, y otro, de nombre



12 Al botón

cmdAbreFA1 le asignamos el siguiente código al evento “Al

hacer

click”:

---

Private Sub cmdAbreFA1_Click() Dim vUser As Variant
vUser = Forms!FChivato.txtUser.Value


If vUser = "neckkito" Then
DoCmd.OpenForm "FAutorizado1" Else



End If
End Sub

---


Lo que hace

este código es simplemente

mirar qué

valor tiene asignado el

formulario FChivato (hablaremos de él más adelante) y compararlo con el nombre

de la persona advertencia.

autorizada. Si coinciden deja

paso, si

no lanza

un mensaje de


13.- De igual manera, al botón cmdAbreFA2 le asignamos el siguiente código:

--- Private Sub cmdAbreFA2_Click()
Dim vUser As Variant
vUser = Forms!FChivato.txtUser.Value


If vUser = "usuario2" Then
DoCmd.OpenForm "FAutorizado2" Else

MsgBox "No está autorizado
"AVISO" End If End Sub

ara acced

r a este formulario", vbInformation,


---


14.-

Creamos

un nuevo

formulario

en blanco

que guardamos con el nombre de

FChivato. En él insertamos un cuadro de texto y le ponemos de

nombre txtUser

(Propiedades->Pestaña

tras->Nombre). Este

formulario será nuestro “topo” que

nos dará la información, de manera totalmente oculta, sobre qué usuario es el que
ma ipula la BD. Desde el panel de exploración sacamos sus propiedades de vista y lo arcamos como oculto.


15
le a

---

Ahora sí
ignamos

olvemos a nuestro formulario FPass. Al botón de comando ACEPTAR
l siguiente código al evento “Al hacer click”:


Private Sub cmdAceptar_Click()
Dim vUser As Variant
Dim vPass, vTPass As Variant vUser = Me.cboUser.Value vPass = Me.txtPass.Value


If IsNull(vUser) Then
MsgBox "No ha seleccionado ningún usuario", vbInformation, "AVISO" Me.cboUser.SetFocus
Exit Sub



If IsNull(vPass) Then



"AVISO"

MsgBox

"No ha introducido ninguna contraseña",

vbInformation,

Me.txtPass.SetFocus
Exit Sub
End If


vTPass = DLookup("[Pass]", "TPass", "[NomUser] = '" & vUser & "'")


If vTPass = vPass Then
DoCmd.OpenForm "FChivato", , , , , acHidden
Forms!FChivato.txtUser.Value = vUser
DoCmd.OpenForm "FMenu"
DoCmd.Close acForm, Me.Name
Else
MsgBox "La contraseña introducida no es correcta", vbInformation, "AVISO" Me.txtPass.Value = Null
Me.txtPass.SetFocus
End If
End Sub

---

Vamos a ver qué hace el código:


En primer lugar definimos las variables (líneas de las

DIM) y les

asignamos los

valores correspondientes a lo que el usuario ha escrito en “usuario” y “contraseña”.

Los dos bloques IF…END IF siguientes comprueban que ni el combo ni el cuadro de

texto hayan quedado en

lanco, lanzando un mensaje de advertencia si así ocurre.


vTPass = DLookup("[Pass]", "TPass", "[NomUser] = '" & vUser & "'")




Pa buscar

el nombre de usuario es coincidente con su contraseña hemos

utili

ado esta

ez el método DLookUp, asigna

do el valor devuelto por el mismo a

la v

riable vTPass.


Lo que viene a decir la anterior línea de código, en abstracto, es lo siguiente:

Busca y devuelve el valor del campo [Pass] de la tabla “TPass” cuando el campo
[NomUser] coincida con el valor de la variable vUser, que es el valor seleccionado

en el combo con el nombre de usuario. Ese variable vTPass.

valor devuelto será

guardado

en la


If vTPass = vPass Then
DoCmd.OpenForm "FChivato", , , , , acHidden Forms!FChivato.txtUser.Value = vUser DoCmd.OpenForm "FMenu"



MsgBox "La contraseña introducida no es correcta", vbInformation,
"AVISO"



Lo que dice este bloque de código, también en abstracto, es lo siguiente:

Si vTPass coincide con vPass entonces

Abre el formulario FChivato, pero en modo oculto

En el cuadro de texto txtUser de FChivato guardas el nombre del usuario que
accede a la BD
Abre el formulario FMenu

Cierra el formulario FPass

Si no coinciden las constraseñas entonces

Lanza un mensaje de aviso

---


Ahora, en todo momento, FChiv

o estará

espiando”,

y nadie

lo sabrá (salvo

nosotros, claro), y además txtUser nos “chiv

rá” el nombre de usuario cuando lo

necesitemos. En este ejemplo nos formularios FAutorizado1 y FAutoriz

sirve para do2.

comprobar si se tiene acceso

a los


Evidentemente lo anterior sería ext apolable a cualquier acción que se realizara en
nuestra aplicación, únicamente comprobando, al principio de cada código, quién es el usuario activo.





Y e

¡Su

o es todo. Espero qu

rte!

lo anterior os sea útil para vuestras BD’s.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

activar o desactivar boton de comando despues de digitar ususario y contraseña

Publicado por damajaa (1 intervención) el 01/12/2012 11:16:53
Hola.

Segui estas instrucciones y no me funciona.
Cuando pruebo el formulario de Password, simplemente nada pasa. es decir no me permite escribir la contraseña.
O no se si por ser neofita en el asunto ,simplemente no debo escribirla. Pero igual si doy aceptar o cancelar, tampoco ocurre nada.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar