Botón Click, abrir formulario con CONTRASEÑA.

Después de navegar TODA LA TARDE, por la página de TodoExpertos, y realizar decenas de pruebas...
Necesito 1 botón, que al hacer clic, me pida una contraseña, si es OK, me abre el formulario "INFOVAN", si NO es OK, pues que diga, Clave incorrecta.
Creo el botón, en sus propiedasdes, EVENTOS / AL hacer clic, genero el siguiente código:
Option Compare Database
Private Sub Comando52_Click()
Dim MyPass As String
Dim TuPass As String
MyPass = "clavesecreta"
TuPass = InputBox("Clave de Acceso", "Introduce la clave", "")
If TuPass <> MyPass Then
MsgBox "Clave incorrecta"
Cancel = -1
End If
End Sub
Lo que me faltaría es decirle que FORMULARIO tiene que abrir, en mi caso "INFOVAN", pero no se el código que tengo que introducir, ni en que linea agregarla.. Ni si tengo que poner Then... ¿o algo por el estilo NO?
Docmd. Openform "INFOVAN"
Else:
End If
¿Podrías echarme un cable? ¿Cómo sería el código correcto para que funcione?

4 respuestas

Respuesta
1
Primero seria ver que si tu declaración de mypass y tupas son cuadros de texto o que son, y si tienes una base de datos a donde guardas el nombre de tus usuarios o si el nombre de usuario lo escribirás en el código como lo de "clave secreta" por que si lo escribes dentro del mismo código yo aria algo así.
private sub command52_load ()
dim s as string
if mypass.text <> tupass.text  o  la clave que tu asignes  then
s = msgbox ("clave incorrecta" , vbcritical, "error")
else
infovan.show
end if
end sub
Ya que el código que tu usas esta complicado claro solo si me dices porque la necesidad de hacer tantas variable y el que te doy es más simple bueno falta que me indiques lo de tupas mypass que son
Buenas Mani10!
Nuevo pregunta... ya que se que tu dominas VB... estoy intentando aventurarme...
Después de navegar TODA LA TARDE, por la página de TodoExpertos, y realizar decenas de pruebas...
Necesito 1 botón, que al hacer clic, me pida una contraseña, si es OK, me abre el formulario "INFOVAN", si NO es OK, pues que diga, Clave incorrecta.
Creo el botón, en sus propiedasdes, EVENTOS / AL hacer clic, genero el siguiente código:
Option Compare Database
Private Sub Comando52_Click()
Dim MyPass As String
Dim TuPass As String
MyPass = "clavesecreta"
TuPass = InputBox("Clave de Acceso", "Introduce la clave", "")
If TuPass <> MyPass Then
MsgBox "Clave incorrecta"
Cancel = -1
End If
End Sub
Lo que me faltaría es decirle que FORMULARIO tiene que abrir, en mi caso "INFOVAN", pero no se el código que tengo que introducir, ni en que linea agregarla.. ni si tengo que poner Then... ¿o algo por el estilo NO?
Docmd.Openform "INFOVAN"
Else:
End If
¿Podrías echarme un cable? ¿Cómo sería en código correcto para que funcione?
Muchísimas gracias de antemano por tu interés y ayuda.
Saludos,
HOla Mani!
Gracias por tu rápida ayuda, Tu código funciona OK! Gracias,
Como te comentaba ayer estuve por todoexpertos navegando y fue un código que encontré, el cual funcionaba correctamente, ya que le clicas al botón, y te sale un cuadro de mensaje pidiéndote la contraseña.
El único problema es que, no te abre el FORMULARIO, le falta algo en el código... que le diga.. si es = a "clavesecreta" abrir el formulario "INFOVAN" y si es FALSO, que continué con el código, y devuelva la ventada de error.
El Mypass Tupas.. tampoco entiendo bien de donde procede...
Te invito, a que pegues el código que te envíe, en un generador de eventos, y veas el comportamiento tu mismo, veras que sale todo correcto, excepto, que si la clave es correcta, NO abre el formulario.
Tu código funciona, ¿pero sabes como podría solucionarlo para poder hacerlo de ese modo? Que se te habrá el "inputbox", ¿cuadro de pregunta de contraseña?
Así mismo, aprovecho la pregunta abierta, cuando escriba en el cuadro de CONTRASEÑA del inputbox, como hacer para que aparezca como ****... ¿creo qué es mucho pedir no?
Si es posible, te lo agradecería muchísimo, en caso contrario, dímelo, cierro la pregunta y tirare con el código que ya me has facilitado, ya que funciona también. ( lo otro es ya perfeccionar...)
Gracias de nuevo y saludos,
Gracias a tu ayuda, he conseguido realizar lo que necesitaba.
NO ES REALMENTE LO QUE QUERÍA, pero es al 100% funcional como necesitaba.
Finalmente he generado una macro para cerrar el formulario de solicitud de contraseña, + cerrar el formulario "privado", y al cerrarlos a la vez, automáticamente se limpian los datos.
Muchísimas gracias de verdad!
Saludos,
Dim MyPass As String
Dim TuPass As String
MyPass = "clavesecreta"
TuPass = INPUTBOX("Clave de Acceso", "Introduce la clave", "")
If TuPass <> MyPass Then
MsgBox "Clave incorrecta"
Else
INFOVAN.Show
Cancel = -1
End If
End Sub
Nada más es agregar una linea a tu código para que te muestre el formulario infovan y la verdad yo se que no se puede mostrar **** el inputbox lo que podrías hacer seria un formulario con la apariencia de un inputbox o si logras encontrar la forma que te devuelva *** avisame cualquier duda coméntamela con gusto te sigo ayudando y lo de tupas es una variable para almacenar lo del inputbox y lo de mypass es una variable a donde estas guardando tu clave pero si cerrar el código y algún día se te olvida la clave o quieres cambiarla que ¿harás?. Si ya te funciono no se te olvide cerrar la pregunta y calificar
Respuesta
1
Adjunto lo que podría ser el código de un botón que comprueba el valor de un campo llamado password, con un valor concreto.
Tienes los condicionales If ... Then ... y la apertura de Formulario
Private Sub Administrador_Click()
On Error GoTo Err_Administrador_Click
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "MenuPermitido"
    If (password = "CONTRASEÑASECRETA") Then
          DoCmd.OpenForm stDocName, , , stLinkCriteria
    End If
Exit_Administrador_Click:
    Exit Sub
Err_Administrador_Click:
    MsgBox "Acceso Denegado. Su usuario no dispone de los permisos necesarios"
    Resume Exit_Administrador_Click
End Sub
Hola Qweke,
En primer lugar muchísimas gracias por tu rapidísima ayuda,
Tu código funciona estupendamente, muchísimas gracias.
Solo una cuestión, como lo puedo hacer, para que al salir del formulario, el campo que he creado password, se borre... es decir que se quede de nuevo en blanco, ¿para cuándo alguien entre en el formulario tenga que escribir de nuevo la contraseña?
Gracias de nuevo
Saludos,
Puedes crear un evento en el formulario, para que al abrir o recibir el enfoque el formulario, asigne valor vacío a ese campo.
password = "" ó password = "Introduzca la contraseña"
QUE VELOCIDAD, Muchísimas Gracias,
QUE MALO QUE SOY... NO te puedes NI imaginar... lo que significa la ayuda que me estas dando...
Tengo el siguiente código:
Option Compare Database
Private Sub Comando14_Click()
On Error GoTo Err_Comando14_Click
    Dim stDocName As String
    Dim stLinkCriteria As String
    stDocName = "INFOVAN"
    If (Usuario = "1234") Then
          DoCmd.OpenForm stDocName, , , stLinkCriteria
    End If
Exit_Comando14_Click:
    Exit Sub
Err_Comando14_Click:
    MsgBox "Acceso Denegado. Su usuario no dispone de los permisos necesarios"
    Resume Exit_Comando14_Click
End Sub
Private Sub Usuario_GotFocus()
(usuario = "" ó usuario = "Introduzca la contraseña")
End Sub
Me aparece en ROJO:
(usuario = "" ó usuario = "Introduzca la contraseña")
El resto me funciona correcto, el problema es el que te comentaba anteriormente, cuando vuelvo al formulario de contraseña (para mi usuario), me sigue apareciendo la información en el cuadro de texto USUARIO... no se borra... el evento lo estoy haciendo en el cuadro de texto... pero no funciona... ¿qué puedo hacer mal?
GRACIAS, mil gracias, estoy planteándome estudiar VB, tiene un gran potencial... y creo que es necesario para manejarse con access... si no estas medio muerto...
Gracias a tu ayuda, he conseguido realizar lo que necesitaba.
Finalmente he generado una macro para cerrar el formulario de solicitud de contraseña, + cerrar el formulario "privado", y al cerrarlos a la vez, automáticamente se limpian los datos.
Muchísimas gracias de verdad!
Saludos,
Respuesta
1
La verdad es que no trabajo nada con Visual. De todas maneras, buscaré por mi cuenta haber si encuentro alguna "cosa" al respecto.
Siento no poder ser de más ayuda (de momento).
Hola Tiet2!
Ok, NO te preocupes, hay un par de expertos que dominan en VB, y creo que con las pautas que me están dando, llegare a buen puerto.
No quiero hacerte perder el tiempo con algo en lo que no trabajas, aunque agradezco tu detalle ENORMEMENTE!
Como te digo, MUCHÍSIMAS GRACIAS POR TU INTERÉS,
Saludos!
Respuesta

¿Podrías decirme si resolviste la parte que te aparece en rojo?

(usuario = "" ó usuario = "Introduzca la contraseña")

Yo también necesito ayuda con esta parte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas