Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 5 su 5

Riconoscere utenti multipli con il comando Environ("USERNAME"

  1. #1
    paoloderigo non  in linea Scolaretto
    Buongiorno a tutti
    conosco la funzione Environ("USERNAME") per rilevare l'utente che accede ad un database Access.
    Vorrei sapere se possibile, e come, rilevare e memorizzare pi utenti se al database avviene un accesso multiplo.
    Grazie in anticipo

    Paolo

  2. #2
    La funzione Environ restituisce l'utente attualmente collegato al sistema (al PC).

    La gestione della sicurezza a livello utente di Access praticamente non esiste, tanto meno la gestione degli accessi.

    Se vuoi qualcosa di mediamente sofisticato devi passare a prodotti server (SQL Server, mysql ...).
    ℹ️ Leggi di pi su AntonioG ...

  3. #3
    paoloderigo non  in linea Scolaretto
    Grazie mille!
    Paolo

  4. #4
    mamat64 non  in linea Novello
    Salve,
    prova questo codice, non ricordo dove l'ho trovato, ma restituisce in una List Box (lstUsers) le colonne Computer, User, Connected, di tutti gli utenti connessi al database.

    Private Function UserConn()
    
    'The User List Schema information requires this magic number. For anyone
    'who may be interested, this number is called a GUID or Globally Unique
    'Identifier - sorry for digressing
    Const conUsers = "{947bb102-5d43-11d1-bdbf-00c04fb92675}"
     
    Dim cnn As ADODB.Connection, fld As ADODB.Field, strUser As String
    Dim rst As ADODB.Recordset, intUser As Integer, varValue As Variant
     
    Set cnn = CurrentProject.Connection
    Set rst = cnn.OpenSchema(Schema:=adSchemaProviderSpecific, SchemaID:=conUsers)
     
    'Set List Box Heading
    strUser = "Computer;User;Connected?"
     
    With rst    'fills Recordset (rst) with User List data
      Do Until .EOF
        intUser = intUser + 1
          For Each fld In .Fields
            varValue = fld.Value
              'Some of the return values are Null-Terminated Strings, if
              'so strip them off
              If InStr(varValue, vbNullChar) > 0 Then
                varValue = Left(varValue, InStr(varValue, vbNullChar) - 1)
              End If
              strUser = strUser & ";" & varValue
          Next
            .MoveNext
      Loop
    End With
     
    UserConnect = intUser        'Total # of Users
    
    strUser = Replace(strUser, ";;", ";") 
    
    'Set up List Box Parameters
    Me!lstUsers.ColumnCount = 3
    Me!lstUsers.ColumnWidths = "1400;720;720"
    Me!lstUsers.RowSourceType = "Value List"
    Me!lstUsers.ColumnHeads = True
      lstUsers.RowSource = strUser       'populate the List Box
     
    'Routine cleanup chores
    Set fld = Nothing
    Set rst = Nothing
    Set cnn = Nothing
    
    End Function
    
    Ultima modifica di AntonioG; 30-09-2020 11:33  Motivo: Usa i tag CODE per il codice

  5. #5
    Penso che questo codice ti fornirebbe una lista tutta uguale di Admin, del tutto inutile. Da controllare.
    ℹ️ Leggi di pi su AntonioG ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 4
    Ultimo Post: 01-05-2016, 13:10
  2. Problema criteri multipli tipo "testo" su DSUM
    Da RiccardoA nel forum Microsoft Access
    Risposte: 3
    Ultimo Post: 04-04-2012, 10:03
  3. Environ("username")
    Da Squalo10 nel forum Microsoft Word
    Risposte: 2
    Ultimo Post: 28-05-2010, 19:13
  4. [Windows XP Home] Account utenti "indipendenti"
    Da Recordset nel forum Microsoft Windows
    Risposte: 6
    Ultimo Post: 22-09-2007, 22:51