Moderatori: Anthony47, Flash30005
Temo di non aver capito nulla. Cosa vuoi fare esattamente?Francesco53 ha scritto:al primo utente sostituisce la password con quella dell'ultimo inserimento. Io ho aggiunto (ho cercato di aggiungere) la possibilità che se l'utente è diverso, apriva una maschera diversa.
Ahimè temo di no. Perché non provi a spiegare semplicemente quello che vorresti fare (indipendentemente da quello che hai già tentato di realizzare)?Francesco53 ha scritto:Spero di essere riuscito a focalizzare le mie difficoltà.
Eh?In base a questo valore, l'utente vedrà tramite la query QArchivio solo i suoi dati.
Devi tener presente due cose. Non tutti hanno sempre a disposizione un PC con Access (ad esempio io uso Linux e solo saltuariamente ho accesso a PC Windows). Inoltre, cosa ben più importante, tra sei mesi o un anno l'url da te postato molto probabilmente non sarà più valido; di conseguenza, l'utilità di questa discussione sarebbe pari a zero per altri utenti con un problema simile.Francesco53 ha scritto:pensavo che scaricando il file e vedendo come composto, si poteva capire ciò che chiedevo.
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
SELECT * FROM Tabella WHERE NomeUtente=getWinUser();
SELECT * FROM Tabella WHERE IDUtente=getUser();
setUser (Me.Utente.Value)
Ci sono ovviamente diversi modi per farlo. Ad esempio puoi provare con qualcosa di questo genere nell'evento Open di ciascuna maschera:sarox85 ha scritto:come imposto i permessi sulle maschere?
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
Eh?sarox85 ha scritto:ho letto il modulo...ma il codice relativo da inserire nella form?
cboEmployee = getWinUser()
If IsNull(Me.cboEmployee) Or Me.cboEmployee = "" Then
MsgBox "You must enter a User Name.", vbOKOnly, "Required Data"
Me.cboEmployee.SetFocus
Exit Sub
End If
Non direi. Ovviamente se i dati delle tabelle devono essere filtrati per utente avrai bisogno di un campo in ciascuna tabella che ti consenta di farlo. Quindi userai quel campo nella WHERE delle tue query.sarox85 ha scritto:se faccio assegnare un id_insegnateper ogni corso e li filtro in query? Troppo contorto?
Ma se usi l'utente Windows che te ne fai di una form di login? Ci pensa Windows a riconoscere l'utente, no?sarox85 ha scritto:come dico in VB di confrontare l'utente di windows con la casella di testo "username" che si trova nella mi form di login?
Non direi. Ovviamente se i dati delle tabelle devono essere filtrati per utente avrai bisogno di un campo in ciascuna tabella che ti consenta di farlo. Quindi userai quel campo nella WHERE delle tue query.
Ma se usi l'utente Windows che te ne fai di una form di login? Ci pensa Windows a riconoscere l'utente, no?
utente = UCase(Environ("userName"))
Mi sfugge come una form di login personalizzata possa risolvere questo problema.sarox85 ha scritto:l'utente potrebbe andare in bagno senza bloccare il pc o togliere la card, lasciando i dati a portata di tutti
La backdoor è collegarsi a Windows come Administrator.sarox85 ha scritto:mi vorrei lasciare una backdoor per me in caso di mal funzionamenti futuri della rete
Ok, ma se proprio devi farlo (e a quel punto avrai il problema di nascondere la tabella temo) allora tanto vale che lasci perdere l'utente di Windows.sarox85 ha scritto:con una form posso sempre inserire una tabella utenti nascosta nel quale mettere tutti gli utenti che hanno accesso
Usi la funzione getWinUser di cui sopra, o fai come dice Flash (che è poi la stessa cosa).sarox85 ha scritto:come dico all'avvio del DB di guardare l'utente di win?
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.sarox85 ha scritto:devo sempre confrontare il nomeutente con una tabella USER così da prendere l'ID_user e filtrare il resto del DB o no?
...WHERE (Tabella.Username=getWinUser OR gatWinUser='Administrator')...
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 in continuo cambiamento qui le persone
Torna a Applicazioni Office Windows
Access 2003: creare maschera per inserire dati su più tabell Autore: gamma_ray |
Forum: Applicazioni Office Windows Risposte: 1 |
Access 2003: funzione per contare dati Autore: gamma_ray |
Forum: Applicazioni Office Windows Risposte: 1 |
Access 2003: contatore maschera sballato Autore: gamma_ray |
Forum: Applicazioni Office Windows Risposte: 1 |
Condizioni IIF nelle Query di Access Autore: GelriccaSud |
Forum: Applicazioni Office Windows Risposte: 2 |
Visitano il forum: Nessuno e 6 ospiti