Access form login

di il
2 risposte

Access form login

Salve a tutti.
Innanzitutto saluto e ringrazio tutti gli esperti che mi hanno sempre risolto tutto.
espongo la situazione:
- maschera di login con una casella di testo non associata che raccoglie il codice di accesso per accedere al database con una routine nell'evento "dopo aggiornamento" (per attivare con il tasto invio...)
per correttezza riporto il codice:

Private Sub entercode_AfterUpdate()
Me.entercode.InputMask = "PASSWORD"
If Me.entercode.Value = "XXXXXXXX" Then
DoCmd.OpenForm "Home", acNormal
DoCmd.Close acForm, "Login"
Else
MsgBox "ATTENZIONE! CODICE ERRATO!", vbCritical, "Immettere codice di accesso valido"
Me.entercode = Null
Me.entercode.SetFocus
End If
End Sub

vorrei realizzare:
a) 3 tentativi disponibili per accedere
b) che dopo i 3 tentativi si chiudesse access con un msgbox di avviso.
spero come sempre di essere stato chiaro nell'esposizione e ringrazio tutti anticipatamente.

dimenticavo...si può con una casella di testo o con msgbox dopo il primo tentativo fallito visualizzare un messaggio con il numero di tentativi rimasti?

2 Risposte

  • Re: Access form login

    Innanzitutto, come da regolamento, prima di inviare, clicca sul tasto in basso "Editor completo & Anteprima", quindi seleziona il codice, quindi clicca sul tasto in alto </> per farlo apparire con i tipici caratteri monotype più familiari ai programmatori.

    Per ottenere quello che hai richiesto, devi dimensionare una variabile di tipo Byte, quindi fai rientrare il tuo codice entro un ciclo For I=1 To 3...Next I, quindi condizionare di conseguenza.
  • Re: Access form login

    Che senso ha impostare la proprietà InputMask su AfterUpdate...? NESSUNO.
    Devi dichiarare una variabile Byte a livello di Testata di maschera, che incrementi ogni volta che sbagli.
    Nel codice di verifica prima di tutto controlli il valore della variabile... se>3 ESCI avvisando il superamento dei tentativi.

    Non fare il ciclo For come suggerito non solo non serve ma con l'evento che hai usato avresti conflitti, il ciclo infatti non consente di uscire di conseguenza non si potrebbe rigenerare l'evento...
Devi accedere o registrarti per scrivere nel forum
2 risposte