Ciao a tutti.
Sicuramente è una stupidaggine, ma non la riesco a vedere
Per evitare che qualcuno entri in un mio DB (che fino ad oggi utilizzavo solo io) avevo fatto una cosa del genere (basata su una tabella tblOperatori che contiene i dati di tutti noi più alcuni campi SI/NO)
If DLookup("Amministratore", "tblOperatori", "IDOperatore=" & Me.cbxOperatore.Column(0)) = False) Then
MsgBox ("L'utente selezionato non è autorizzato all'accesso")
Exit Sub
End If
Cioè, molto banalmente, quando viene selezionato da una combo uno degli operatori, siccome io sono l'unico con il valore Amministratore flaggato, se non sono io non consente di andare avanti.
Adesso ho dovuto aggiungere la possibilità di un secondo accesso, e quindi in quella tabella ho inserito un nuovo campo SI/NO, flaggato per l'altra persona che può accedere (ma solo in consultazione, in quanto soprattutto le funzioni di inserimento dati sono interdette se non è flaggato il campo Amministratore); di conseguenza ho modificato le righe di sopra in:
If (DLookup("Amministratore", "tblOperatori", "IDOperatore=" & Me.cbxOperatore.Column(0)) = False) Or (DLookup("RespQualita", "tblOperatori", "IDOperatore=" & Me.cbxOperatore.Column(0)) = False) Then
MsgBox ("L'utente selezionato non è autorizzato all'accesso")
Exit Sub
End If
Io la interpetro con: "se Amministratore non è flaggato O RespQualita non è flaggato allora fai questo"
Quindi, se almeno una delle 2 condizioni è vera dovrebbe uscire dall'IF e andare avanti, invece adesso non fa entrare nè me nè l'altro
Se usassi un AND invece di OR significa che entrambe le considizioni devono essere valide, ma i 2 soggetti non possono avere entrambe le condizioni vere
Sicuramente, come detto, è una stupidaggine che non riesco a vedere, ma per ora in LOOP ci sono io...
Grazie
Andrea