• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

vasco16

[AJuda] Password numa inputbox

6 mensagens neste tópico

Boas pessoal, alguem me poderia ajudar a meter um formato de password em uma inputbox de acess?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não sei se deva meter aqui a minha dúvida mas..

Olá,

Crias um novo módulo e colocas lá este código:

Option Explicit

' Declaração de API's
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function KillTimer& Lib "user32" (ByVal hwnd&, ByVal nIDEvent&)
Public Declare Function SetTimer& Lib "user32" (ByVal hwnd&, ByVal nIDEvent&, ByVal uElapse&, ByVal lpTimerFunc&)

' Constantes
Public Const NV_INPUTBOX As Long = &H5000&
Private Const EM_SETPASSWORDCHAR = &HCC


Public Sub TimerProc(ByVal hwnd&, ByVal uMsg&, ByVal idEvent&, ByVal dwTime&)

   Dim inputHwnd As Long

   inputHwnd = FindWindowEx(FindWindow("#32770", App.Title), 0, "Edit", "")
   Call SendMessage(inputHwnd, EM_SETPASSWORDCHAR, Asc("*"), 0)
   KillTimer hwnd, idEvent

End Sub

Depois no teu programa:

Option Explicit

Private r As Integer

Private Sub Form_Load()
Dim r As Integer
Dim userName As String
    
    SetTimer hwnd, NV_INPUTBOX, 10, AddressOf TimerProc

    ' IMPORTANTE: Não inserir o titulo na inputbox só o texto
    userName = InputBox("Inserir a password de acesso ao programa!")
    If userName = "Mtronica" Then
        r = MsgBox("Deseja Mesmo Abrir o Gestor de Stock!", vbYesNo + vbCritical, "login")
        If r = vbNo Then
            End
        ElseIf r = vbYes Then
            MsgBox ("Então Vamos Continuar!")
        End If
    Else
        MsgBox ("Password Incorrecta!")
        End
    End If
End Sub

a minha inputbox nao é no form mas sim atraves de uma caixa de listagem que vai abrir essa mesmo inputbox e o que me está a acontecer é, faço o que disses-te para fazer mas depois dá erro no private sub  e nesta linha "..NV_INPUTBOX"

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens de explicar o que é uma caixa de listagem e mostrares o que já tens feito.

Uma imagem do problema também pode ajudar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

vê se consegues entender..

Private Sub funcionario_Change()

Dim x As String

Dim y As String

 

x = DLookup("password", "funcionario", "nome='" & funcionario.Text & "'")

y = InputBox("Introduza a sua Password")

If (x = y) Then

MsgBox ("Password Aceite")

On Error GoTo Err_registar_dados_Click

'novo registo

    DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70

'validacao dos campos

    If IsNull(data) = True Then

    MsgBox "Introduza uma data válida!"

   

    ElseIf IsNull(turno) = True Then

    MsgBox "Introduza o turno!"

   

    ElseIf IsNull(produto) = True Then

    MsgBox "Introduza um produto válido!"

   

    ElseIf IsNull(funcionario) = True Then

    MsgBox "Introduza o nome do funcionário!"

    End If

   

 

Exit_registar_dados_Click:

    Exit Sub

Err_registar_dados_Click:

    MsgBox Err.Description

    Resume Exit_registar_dados_Click

Else

MsgBox ("Password Errada")

End If

End Sub

Private Sub saida_responsavel_Change()

'Password

Dim x, y As String

x = DLookup("password", "funcionario", "nome='" & saida_responsavel.Text & "'")

y = InputBox("Introduza a sua Password")

If (x = y) Then

    MsgBox ("Password Aceite")

End If

End Sub

59634857.th.png

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

No teu código não tens nada do que te mostrei, mas é muito mais simples criares um pequeno form, com uma texbox e defines a inputmask com password.

É simples e não dá problemas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora