[Access] Validazione Password caratteri maiuscoli/minuscoli

Anonimo
2009-12-05T08:17:41+00:00

Ciao a tutti, posso chiedere il vostro aiuto per implementare la validazione della password con differenza caratteri maiuscoli e minuscoli?

allogo precedente codice. Grazie

If IsNumeric(Mid(strC, nI, 1)) Then

        blnN = True

 ElseIf ((Mid(strC, nI, 1) >= "A" And Mid(strC, nI, 1) <= "Z") Or _

    (Mid(strC, nI, 1) >= "a" And Mid(strC, nI, 1) <= "z")) Then

        blnC = True

 Else

        blnX = True

 End If

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2009-12-10T10:05:55+00:00

Ciao Luca

devi modificarlo come hai già fatto nel di post di "sabato 5 dicembre 2009 15.40" presente in questo thread.

Ovvero usando la funzione StrComp

If StrComp(Me.passwordverify, password, vbBinaryCompare) <> 0 Then

... ecc. ecc.

End if

Ciao

Giorgio Rancati

La risposta è stata utile?

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2009-12-08T08:16:26+00:00

Buongiorno a tutti, se dovesse servire a qualcuno ho risolto in questo modo

Private Sub Comando30_Click()

Set DB = CurrentDb

Set rs = Recordset

If Len(Nz(Me.password, "")) = 0 Then

MsgBox "Inserisci la Password.", , "Password"

Me.password.SetFocus

Else

If Len(Nz(Me.passwordverify, "")) = 0 Then

MsgBox "Inserisci la password di verifica.", , "Password di Verifica "

Me.passwordverify.SetFocus

Else

If Me.passwordverify <> password Then

MsgBox "Attenzione,la password di verifica è stata inserita in modo errato.", , "Password di Verifica"

Me.passwordverify = Null

Me.password = Null

Me.password.SetFocus

Else

If Me.passwordverify = Me.password Then

        If DLookup("[password]", "controllo") = Me.password Then

MsgBox ("Attenzione!!! Record gia Presente nella tabella "), vbInformation ' controlla se il record è gia presente nella tabella

Me.passwordverify = Null

Me.password = Null

Me.password.SetFocus

     Else

     Me.refresh

CurrentDb.Execute "Update tbl_utenti SET password ='" & passwordverify & "' WHERE utente= '" & Me!utente & "'"

   MsgBox ("Password inserita nella tabella "), vbInformation

'Me.passwordverify = Null

'Me.password = Null

'Me.password.SetFocus

End If

End If

End If

End If

End If

End Sub

La risposta è stata utile?

0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2009-12-05T17:33:52+00:00

    Ciao Luca,

    ovviamente non puoi cancellare un record che è ancora in fase di modifica e quindi non è ancora stato scritto.

    Prova così:

    Private Sub password_BeforeUpdate(Cancel As Integer) Dim retValue As Integer Dim password As String Dim Confronto As String password = Me.password Confronto = DLookup("Password", "Tbl_utenti", "Utente = """ & Forms!mascher4!utente & """") If StrComp(password, Confronto, vbBinaryCompare) <> 0 Then Me.Password.Undo Cancel = True

    Dim strTtl As String strTtl = "PASSWORD" strMsg = "ATTENZIONE VERIFICA L'ESATTEZZA DEI DATI INSERITI, VUOI RIPROVARE?" retValue = MsgBox(strMsg, vbCritical + vbYesNo, strTtl) Select Case retValue Case vbNo DoCmd.Quit End Select

    End If End Sub

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2009-12-05T15:40:02+00:00

    Ciao giorgio grazie ho utilizzato i tuoi consigli e sono riuscito ad implementare nel seguente modo la maschera cambio password che svolge egregiamente il suo compito di controllo .

    Private Sub newpasswordverify_BeforeUpdate(Cancel As Integer)

       Dim password As String

       Dim Confronto As String

       password = Me.newpasswordverify

       Confronto = Me.NewPassword

      If StrComp(password, Confronto, vbBinaryCompare) <> 0 Then

    MsgBox "Attenzione, password non valida. Stai attento/a ai caratteri maiuscoli e minuscoli", vbCritical, "ATTENZIONE"

    Cancel = True

    End If

     If Not validatePassword(Me.NewPassword) Then

           Cancel = True

     End If

    End Sub

    inoltre devo implementare la maschera di login della stessa funzione che dovrebbe fare la verifica tra la password inserita nella di login (mascher4) ed il campo password della Tbl_utenti che in linea di massima mi pare che funzioni.

    L'unico problema, che per ora mi pare di riscontrare, è che in caso di "VUOI RIPROVARE" "SI" non mi cancella il contenuto dei campi della maschera di login, mi puoi aiutare?

    ho prceduto nel seguente modo

    Private Sub password_BeforeUpdate(Cancel As Integer)

       Dim retValue As Integer

       Dim password As String

       Dim Confronto As String

     password = Me.password

     Confronto = DLookup("Password", "Tbl_utenti", "Utente = """ & Forms!mascher4!utente & """")

    If StrComp(password, Confronto, vbBinaryCompare) <> 0 Then

    Dim strTtl As String

    strTtl = "PASSWORD"

    strMsg = "ATTENZIONE VERIFICA L'ESATTEZZA DEI DATI INSERITI, VUOI RIPROVARE?"

    retValue = MsgBox(strMsg, vbCritical + vbYesNo, strTtl)

    Select Case retValue

    Case vbYes

    DoCmd.RunCommand acCmdDeleteRecord

    Cancel = True

    Case vbNo

    DoCmd.Quit

    End Select

    End If

    End Sub

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2009-12-05T09:17:09+00:00

    Ciao Luca,

    Il linguaggio VBA ha già di suo la funzione StrComp per eseguire confronti binari.

    Qui un piccolo esempio del suo utilizzo, per maggiori informazioni trovi tutto nel manuale VBA di Access.

    Sub ControllaPassword()

    Dim Password As String Dim Confronto As String

    Password = "Pippo" Confronto = "pippo"

    If StrComp(Password, Confronto, vbBinaryCompare) <> 0 Then MsgBox "Password errata" End If

    End Sub

    Ciao

    Giorgio Rancati

    La risposta è stata utile?

    0 commenti Nessun commento