1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Option Compare Database
Option Explicit
Private m_intCount As Integer
Private Sub cmdOK_Click()
Dim vntaPassword
Dim strPassword As String
Dim intTest As Integer
'On construit un tableau avec les MDP possible
vntaPassword = Array("MDP1", "TotoTitiTata", "NViz5uz&é35")
'On affecte la valeur du mot d epasse à la variable
strPassword = Nz(Me.txtPassword.Value, vbNullString)
'On compte le nombre tentatives
m_intCount = m_intCount + 1
'Si ça dépasse 3 (on commence à 0)
If m_intCount > 2 Then
MsgBox "Eh ben, eh ben, on a des trous de mémoire ?", 48, "Erreur"
DoCmd.Close acForm, Me.Name
End If
'On test selon la dimension la plus haute du tableau (ici 2 donc 3 valeurs)
For intTest = 0 To UBound(vntaPassword)
If StrComp(strPassword, vntaPassword(intTest), vbBinaryCompare) = 0 Then
'Si c'est bon (strcomp compare les chaîne en respectant la casse)
MsgBox "Sésame, ouvre toi...", , "C'est bon"
'On ferme ce formulaire
DoCmd.Close acForm, Me.Name
'On ouvre l'autre
DoCmd.OpenForm "frmNouveauClient", acNormal, , , acFormAdd, acDialog
'Et on sort de la boucle, inutile de comparer les autres possibilités
Exit For
End If
Next
End Sub |
Partager