Access - INPUTBOX COMO CONTRASEÑA

 
Vista:
sin imagen de perfil
Val: 95
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

INPUTBOX COMO CONTRASEÑA

Publicado por roberto (81 intervenciones) el 12/12/2016 16:03:36
Hola !

Tengo el siguiente problema, pido una clave de usuario para validar una casilla pero quiero cambiar el inputbox como contraseña. Ojala puedan ayudarme con algún método.

La programación es la siguiente:

Private Sub CP_AfterUpdate()

Dim sPass As String

sPass = InputBox(DLookup("[Usuario]", "[USUARIOS]", "[ID]= 1") & ": indique su contraseña para validar ")

If sPass <> DLookup("[Contraseña]", "[USUARIOS]", "[ID]= 1") Then
If Me.CP = 0 Then
Me.CP = -1
Else
Me.CP = 0
End If
MsgBox "Contraseña incorrecta", vbInformation, "Error"
End If
End Sub
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
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

INPUTBOX COMO CONTRASEÑA

Publicado por Jesús Manuel (375 intervenciones) el 13/12/2016 08:15:41
Creo que con InputBox no puedes mostrar * mientras ingresas texto, pero hay ejemplos de como dar un rodeo:

http://www.recursosvisualbasic.com.ar/htm/listado-api/137-inputbox-password.htm

http://stackoverflow.com/questions/18834874/using-password-charchter-in-inputbox


Por lo que he visto, lo más simple sería crear un formulario nuevo, con un cuadro de texto con la máscara de entrada tipo contraseña (Propiedades/Datos/Máscara de entrada/ los 3 puntitos y elegimos contraseña) como emergente y modal, para que simule ser un inputbox. Con un botón Aceptar que envíe al formulario anterior el dato introducido y salir y otro Cancelar solo para salir
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
sin imagen de perfil
Val: 95
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

INPUTBOX COMO CONTRASEÑA

Publicado por roberto (81 intervenciones) el 13/12/2016 15:56:04
Jesús Manuel, una vez más se agradece. Intente adaptar el ejemplo que me señalabas pero no me funcionó :/ . Ahora la opción que me diste de crear un formulario emergente esta de lujo pero recién estoy comenzando con la programación, me será dificil adaptar el código que ya tenia a el nuevo formulario emergente.

Si puedes guiarme un poquito más se agradece, yo por mi parte seguiré adaptando el código al form emergente.

SALUDOS
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
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

INPUTBOX COMO CONTRASEÑA

Publicado por Jesús Manuel (375 intervenciones) el 14/12/2016 09:23:14
Haz una copia de tu base de datos para evitar problemas/errores y trabaja sobre la copia

Creo que los pasos serían:

1) En el evento CP_AfterUpdate abrimos el formulario nuevo, formPass1 con DoCmd.Openform. El otro código no lo usaríamos aquí.

2) formPass1 tiene: txtPass1, cuadro de texto, btnAcpetar y btnCancelar, botones.

3) Una vez introducida la contraseña, con btnAceptar tendríamos una adaptación del código anterior. No recuerdo el nombre de tu formulario anterior, en donde tienes el check al que hace referencia el código, por lo que lo llamare formProductos

1
2
3
4
5
6
7
8
9
If txtPass1 <> DLookup("[Contraseña]", "[USUARIOS]", "[ID]= 1") Then
If Forms![formProductos]![CP].Value= 0 Then
Forms![formProductos]![CP].Value = -1
Else
Forms![formProductos]![CP].Value = 0
End If
MsgBox "Contraseña incorrecta", vbInformation, "Error"
End if
DoCmd.Close acForm, "formPass1"


* Para pasar un dato de un formulario a otro, necesitas que los 2 formularios esten abiertos y haces referencia al segundo con Forms![NombreFormulario]![NombreCampo].Propiedad

** Puedes comprobar si un formulario esta abierto/cargado con CurrentProject.AllForms("NombreFormulario").IsLoaded


4) btnCancelar tendría que cambiar el estado del checbox, al no haberse hecho la comprobación de contraseña y cerrar formPass1

1
2
3
4
5
6
7
If Forms![formProductos]![CP].Value= 0 Then
Forms![formProductos]![CP].Value = -1
Else
Forms![formProductos]![CP].Value = 0
End If
 
DoCmd.Close acForm, "formPass1"




No he comprobado el código, por lo que puede que haya cometido alguna errata al escribir, vete 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
sin imagen de perfil
Val: 95
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

INPUTBOX COMO CONTRASEÑA

Publicado por roberto (81 intervenciones) el 14/12/2016 12:14:13
Genial Jesús Manuel, código adaptado y funcionando a la perfección. Estoy motivado a aprender más de este lenguaje de programación de apoco se me hace más familiar. Se agradece el tiempo que te das en analizar y dar soluciones a personas que están dando sus primeros inicios y primeros dolores de cabeza :/ cuando fallá un código.

Quería molestarte con lo último Jesús:

1
2
3
4
5
Private Sub Comando45_Click()
Dim MiRutaa As String
MiRutaa = "\\192.168.1.5\Datos\Datos de maestro\Boning reports2000\" & Me.carpeta & "\" & Me.standpack & ".pdf"
FollowHyperlink MiRutaa
End Sub

ese código me lleva a una carpeta que contiene el archivo de los códigos a validar, si el archivo está me muestra el pdf pero si el archivo no está me muestra "error 490 ARCHIVO ESPECIFICADO NO ENCONTRADO". En vez de ese error quiero que si no está el archivo pdf que diga "ARCHIVO NO GENERADO". Gracias desde ante mano Jesú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
sin imagen de perfil
Val: 756
Plata
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

INPUTBOX COMO CONTRASEÑA

Publicado por Jesús Manuel (375 intervenciones) el 14/12/2016 14:48:03
Creo que eso puedes arreglarlo con un control de errores de vba

http://www.excel-avanzado.com/23629/control-de-errores-en-vba.html

https://msdn.microsoft.com/es-es/library/ka13cy19(v=vs.90).aspx


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Comando45_Click()
Dim MiRutaa As String
On error goto Err_SinArchivo
MiRutaa = "\\192.168.1.5\Datos\Datos de maestro\Boning reports2000\" & Me.carpeta & "\" & Me.standpack & ".pdf"
FollowHyperlink MiRutaa
Exit Sub
 
Err_SinArchvio:
IF err_number=490 then
msgbox "Archivo no generado"
else ' Esta línea y la siguiente no tienes porque ponerla, pero te indicara los números de error y descripción diferentes al que comentastes
MsgBox Err.Number & " " & Err.Description
end if
Resume next
End Sub
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