Usi la funzione getWinUser di cui sopra, o fai come dice Flash (che è poi la stessa cosa).
credo di aver capito..oggi ci provo...solo una cosa.... il modulo che tu hai postato
- Codice: Seleziona tutto
Option Compare Database
Option Explicit
Private g_Utente As String
Public Sub setUser(p_val As String)
g_Utente = p_val
End Sub
Public Function getUser() As String
getUser = g_Utente
End Function
Public Function getWinUser() As String
getWinUser = Environ("USERNAME")
End Function
Non hai bisogno di un ID, nè di una tabella utenti: basta che nelle tabelle da filtrare metti Username (cioè un campo alfanumerico) e, nelle query, lo confronti con getWinUser.
il mio dubbio era...questo campo deve essere compilato dall'amministrazione che assegna i corsi...con il Nome del docente supponiamo (pensavo ad una casella combinata)....che assegna un id_docente al corso X....cosi poi io lo confronto con la tabella Utenti dove a sua volta c'è il nome insegnate e il login di windows...e pensavo servisse una tabella con i seguenti campi:
id_insegnate / nome insegnate / user windows
tutto questo per non portarmi il login di windows per tutto il DB...
ma fare getWinUser diventa nome insegnate che diventa id_insegnate...anche per evitare omonimie...
sto sbagliando nel ragionamento? o è fattibile anche se contorto?
Ma allora come pensi di gestire gli accessi alle form che dicevi sopra? Cambiano le persone ma gli utenti Windows sono sempre gli stessi?
Sono sempre io a gestire il server...e se aggiungo un nuovo user al dominio...l'amministrazione inserisce il nuovo docente nella tabella user...quindi dovrebbe funzionare tutto con il nuovo docente..o sbaglio?
le uniche che rimangono costanti sono le form amministrazione, dove precludo l'accesso usando il codice che mi hai dato tu... se l'ho capito bene...con un else per l'administrator...
sono folle?
- Codice: Seleziona tutto
Private Sub Form_Open(Cancel As Integer)
Dim strUser As String
strUser = getWinUser()
If strUser = "pippo" Or strUser = "pluto" Then
MsgBox "Non hai i permessi per aprire questa maschera."
Cancel = True
End If
End Sub