Estrarre nome utente del computer

di il
9 risposte

Estrarre nome utente del computer

Salve

mi rifaccio a questo vecchio post di alcuni anni fa e vi espongo la mia necessità:

ho un  db access posizionato su una cartella del NAS a cui il personale accede con le credenziali attestate sul NAS, il db non ha la gestione utenti, chiunque lo può usare…

medesimo personale per raggiungere il NAS deve prima accedere ai computer con credenziali personali essendo i computer in una ADN nazionale (le credenziali non sono le stesse del NAS, solo lo username è lo stesso)

la mia necessità sarebbe quella di “registrare” nel db il nome utente del dipendente che si logga al computer e da questo poi al db nel quale farà inserimenti e modifiche

è fattibile la cosa ??

ho seguito quanto indicato ma non ne sono venuto a capo di nulla, qualcuno può essere così gentile da darmi una mano ???

grazie e buona giornata

Valter 

9 Risposte

  • Re: Estrarre nome utente del computer

    Cosa avresti provato a fare di tuo…?
    Diciamo che tutte queste cose per essere seguite richiedono qualche minima base… partendo da ZERO non è semplice nemmeno comprendersi sui termini tecnici… quindi dacci qualche indicazione anche per capire il livello.

  • Re: Estrarre nome utente del computer

    Beh…avresti anche ragione….!! l'ho fatta troppo semplice

    nella tabella ho il campo “UtenteCreatore”, nella maschera collegata  messo una casella di testo collegata al citato campo, ma solo per vedere cosa scrive…poi la toglierò, lo considero un dato nascosto che rimane in tabella

    nelle proprietà della maschera ho messo una routine evento alla voce “su modifica dati” scrivendo questo codice: UtenteCreatore.Value = Environ("Username")

    questo è quello su cui avevo ragionato, ovvero che quando il dipendente andasse a modificare i dati visualizzati dalla maschera si avviasse la routine…

    ma sicuramente ho sbagliato…o magari c'è una via più semplice

    avevo anche provato a mettere nel “Valore predefinito” del campo  =CurrentUser() ma mi restituisce sempre:  Admin

    ho trovato anche questo post, relativo ad un modulo, che ho creato ma non ben capito in che modo lo devo richiamare nella maschera

    (tra l'altro mi da un errore quando lo salvo, dice che deve essere aggiornato in 64bit) 

  • Re: Estrarre nome utente del computer

    Intanto si discrimina chi crea il Record da chi lo modifica o chi lo modifica cancella chi lo ha creato…?

    Si usa il codice e non le macro, quindi su Evento BeforeUpdate di Maschera non del controllo:

    Option Compare Database
    Option Explicit
    
    
    Private Sub Form_BeforeUpdate(Cancel As Integer)
    	me!UtenteCreatore.Value=Environ("Username")
    End Sub

    Aggiungo che sul DefaultValue del Controllo [UtenteCreatore]

    Nella mascheina delle proprietà del controllo nella TAB [DATI] alla proprietà [Valore predefinito] inserisci =Environ("Username")

    Se provi così cosa succede…?

  • Re: Estrarre nome utente del computer

    12/03/2024 - valtere ha scritto:


    Environ("Username")

    CurrentUser() 

    Environ restituisce l'utente Windows loggato, CurrentUser quello Access (che nel tuo caso può essere solo Admin in quanto non hai la gestione degli utenti Access).

  • Re: Estrarre nome utente del computer

    12/03/2024 - @Alex ha scritto:


    Intanto si discrimina chi crea il Record da chi lo modifica o chi lo modifica cancella chi lo ha creato…?

    Si usa il codice e non le macro, quindi su Evento BeforeUpdate di Maschera non del controllo:

    Option Compare Database
    Option Explicit
    
    
    Private Sub Form_BeforeUpdate(Cancel As Integer)
    	me!UtenteCreatore.Value=Environ("Username")
    End Sub

    Aggiungo che sul DefaultValue del Controllo [UtenteCreatore]

    Nella mascheina delle proprietà del controllo nella TAB [DATI] alla proprietà [Valore predefinito] inserisci =Environ("Username")

    Se provi così cosa succede…?

    non discrimino da chi crea e da chi modifica (e cancella)..penso diventi troppo complesso.

    ho inserito in “beforeupdate” della maschera il codice, ma al momento di riaprire la maschera ho un avviso “L'impostazione delle proprietà CollegaCampiMaster ha generato l'errore seguente: rilevato nome non univoco: form_BeforeUpdate”, riaprendo l'evento in effetti ho 2 volte la riga “Private Sub Form_BeforeUpdate(Cancel As Integer)” .  probabilmente la riga Private Sub Form_BeforeUpdate(Cancel As Integer)” è già presente all'interno del form 

    l'ho rimossa , salvato evento e maschera ma non vedo estratto il nome utente

    intanto grazie…volo a prendere il treno…stasera nuove ricerche in rete

  • Re: Estrarre nome utente del computer

    Se avete una buona gestione del login dei vari PC allora va bene USERNAME

    Ma se gli utenti si chiamano tutti Utente e la psw è conosciuta davtutti che te ne fai di questa info? 

  • Re: Estrarre nome utente del computer

    12/03/2024 - oregon ha scritto:

    Ma se gli utenti si chiamano tutti Utente e la psw è conosciuta davtutti che te ne fai di questa info? 

    In effetti, se questa fosse la situazione, tanto varrebbe non sprecare spazio di memorizzazione …

  • Re: Estrarre nome utente del computer

    12/03/2024 - oregon ha scritto:


    Se avete una buona gestione del login dei vari PC allora va bene USERNAME

    Ma se gli utenti si chiamano tutti Utente e la psw è conosciuta davtutti che te ne fai di questa info? 

    ciao

    il login al computer è personale ed univoco, gestito appunto dal dominio nazionale

  • Re: Estrarre nome utente del computer

    Ok ma per essere sicuri che al PC si presenti l'utente finale, prova ad usare 

    Print Environ("USERNAME")

    nella finestra immediata di Access e controlla

Devi accedere o registrarti per scrivere nel forum
9 risposte