Newsgroup: it.comp.appl.access
Titolo: una semplice maschera di login, non so dove sia l'errore

ciao a tutti. mi chiedevo se mi potevate aiutare. io devo creare una maschera di login semplicissima. ho visto la faq "semplice maschera di login" (sezione general) sul sito comune ma access 2016 non mi fa aprire il file... allora ho provato a cercare qui ma c'è qualcosa che mi sfugge... vediamo:
ho creato una tabella UTENTI con i seguenti campi:
Id_utente
nome_utente
acronimo
 
poi ho creato una maschera con due controlli: una casella combinata (di seguito Casellacombinata2) che mostra nome_utente 
una casella di testo (chiamata di seguito "testo5") che serve per scrivere acronimo (che è poi la password...)
ora se sul click di un pulsante (comando4) io metto la seguente istruzione non va... io vorrei confrontare se acronimo (associato a nome utente della casella combinata) corrisponde a quanto scritto nel Testo5 (che faccio scrivere all'utente) ...
ve la copio...
 
Private Sub Comando4_Click()
If IsNull(Me.Testo5) Then
MsgBox "non hai compilato la password", , "Inserimento necessario"
Me.Testo5.SetFocus
 
Dim varPWD
 
varPWD = DLookup("[acronimo]", "Utenti", "[nome_utente]=" & Chr(34) & Me.CasellaCombinata2.Column(1) & Chr(34))
'la colonna 1 mostra i nomi, la colonna 0 è l'id...
MsgBox varPWD 'NON ME LA MOSTRA......
 
If Me.Testo5 = varPWD Then 'DoCmd.OpenForm "inizio"
ElseIf IsNull(varPWD) Then
MsgBox "Nome Utente o Password Errato o mancante !", vbCritical, "Login - Errore"
Me.Testo5.SetFocus
Else
Exit Sub
End If
End If
 
end sub
 
BOh, c'è qualcosa che non quadra...
il passo successivo sarebbe poi implementare la gestione dei tempi di accesso e relativa permanenza nel database, dopo inserimento della password (Acronimo), ma se mi apre la maschera INIZIO, poi vedo come fare... per il momento non capisco cosa ci sia che non va 
uso access 2016 ultimissima versione
un grazie a tutti coloro che vorranno darmi dritte!!
Luca.


Non vedo anomalie particolari nel recupero della PWD... salvo che non la trova..., e questo è l'unico motivo per cui non la Mostra...!
 
Suggerisco una verifica diretta con una Query da QBE dopo aver fatto un Debug.print della stringa WHERE:
 
Debug.print "[nome_utente]=" & Chr(34) & Me.CasellaCombinata2.Column(1) & Chr(34)
 
Copi quanto emerge nella Finestra Immediata(CTRL+G) e lo incolli nel predicato SQL in QBE:
SELECT * FROM Utenti WHERE [----> INCOLLA <----]
 
Verifica come mai non trova nulla.
 
Ora ti pongo un quesito...
Invece di farti sparare in chiaro la PWD al Client... non conviene che crei un CRITERIO DOPPIO User AND Pwd sulla DlookUp...?
 
Questione di sicurezza secondo me... 
 
@Alex


Prova in questo modo, dovrebbe funzionare.
 
Private Sub Comando4_Click()
Dim varPWD AS String
 
If IsNull(Me.Testo5) Then
	MsgBox "non hai compilato la password", , "Inserimento necessario"
	Me.Testo5.SetFocus
endif
 
 
varPWD = DLookup("[acronimo]", "Utenti", "[nome_utente]= '" & 
Me.CasellaCombinata2.Column(1) & "'"
'la colonna 1 mostra i nomi, la colonna 0 è l'id...
'MsgBox varPWD "NON ME LA MOSTRA......"
 
If Me.Testo5 = varPWD Then
	DoCmd.OpenForm "inizio"
ElseIf IsNull(varPWD) or varPWD <> me.testo5 Then
	MsgBox "Nome Utente o Password Errato o mancante !", vbCritical, "Login 
- Errore"
	Me.Testo5.SetFocus
End If
end sub
 
Io comunque, utilizzerei un sistema di criptazione e decriptazione della 
tabella utenti per non lasciarla in chiaro dopo di che, metterei un 
contatore di errori in modo tale che al terzo tentativo errato di 
inserimento password, chiude il programma e magari ti invia un'email di 
alert che qualcuno ha tentato di accedere al programma.
 
Ciao.
Stefano
 
---
Questa email Ã¨ stata esaminata alla ricerca di virus da AVG.
http://www.avg.com
 
 


grazie a tutti e due!! mitici!!
per la questione del contatore sui tentativi, come si fa?