Newsgroup: it.comp.appl.access
Titolo: Capire gruppo di appartenenza

Ho un problema che avevo provato ad affrontare qualche anno fa, ma poi ho
rinunciato.
Ora mi si ripropone e spero di riuscire a risolvero grazie al vostro aiuto.
Dato l'utente vorrei riuscire tramite codice a capire il gruppo a cui
appartiene es. pippo - "gruppo tecnico".
Spesso in apertura di una maschera devo disabilitare o renedre invisibile
alcuni pulsanti a seconda dell'utente:
gNameUser = CurrentUser()
If gNameUser = "pippo" Or gNameUser = "pluto" Then
  Me.Ins_Agente.Enabled = False
  Me.Ins_Nazione.Enabled = False
End If
Ma ora lo devo fare per interi gruppi di lavoro.
Avete suggerimenti ?
Sul sito comune c'è qualcosa a riguardo ?
grazie
--
ciao MarcoS
www.marcosanti.it
---------------------------------------------------
Non smetteremo di esplorare
E alla fine di tutto il nostro andare
Ritorneremo al punto di partenza
Per conoscerlo per la prima volta
T.S.Eliot
---------------------------------------------------

 appartiene es. pippo - "gruppo tecnico".
[...]
    Consulta la Guida in linea di Microsoft Access a proposito di:
        Class Groups
            Membro di DAO e ADOX
        Class Group
            Membro di DAO e ADOX
        Class Users
            Membro di DAO e ADOX
        Class User
            Membro di DAO e ADOX
    (Facci sapere se ed eventualmente come hai risolto. Grazie.)
--
Ciao :o)
Maurizio
--------
?SPQR(C)
 X
--------

     (Facci sapere se ed eventualmente come hai risolto. Grazie.)
Tu non hai mai provato a fare questo ?

 Tu non hai mai provato a fare questo ?
    Aspe' che mo' ci provo...
Option Base 0
Option Compare Database
Option Explicit
Public Function ListsDaoGroupsUsers( _
) As Boolean
  On Error GoTo ErrorHandler
  Dim oDaoWorkspace As DAO.Workspace
  Dim oDaoGroup     As DAO.Group
  Dim oDaoUser      As DAO.User
  Set oDaoWorkspace = Access.Application.DBEngine.Workspaces(0)
  For Each oDaoGroup In oDaoWorkspace.Groups
    Debug.Print oDaoGroup.Name
    For Each oDaoUser In oDaoGroup.Users
      Debug.Print oDaoUser.Name
    Next
  Next
  Debug.Print
  ListsDaoGroupsUsers = True
ExitProcedure:
  On Error Resume Next
  Set oDaoUser = Nothing
  Set oDaoGroup = Nothing
  Set oDaoWorkspace = Nothing
  Exit Function
ErrorHandler:
  ListsDaoGroupsUsers = False
  With Err
    MsgBox .Description, vbCritical, "ERR#" & CStr(.Number)
  End With
  Resume ExitProcedure
End Function


     Aspe' che mo' ci provo...
Provata, funziona :-))
E' un ottimo punto di partenza per quello che interessa a me.
grazie 1000


 E' un ottimo punto di partenza per quello che interessa a me.
    E quello voleva essere... Ricordati anche di tenere sempre sempre
sempre sotto gli occhi, per ogni library di automazione, la pagina della
guida dove c'e' lo schema a blocchi degli oggetti esposti. Nel caso
specifico la pagina intitolata:
        Modello DAO per le aree di lavoro di Microsoft Jet


 ---------------------------------------------------
ciao Marco,
Ho visitato il tuo sito. Senza parole, credo che sarebbe molto interessante
conoscerti.
Chissà quante cose ha da dire. Oppure chissà quante cose ha da dire il tuo
edicolante di fiducia. ;-P
ciao MAssimiliano
--------------------------------
Inviato via 
http://usenet.libero.it

 edicolante di fiducia. ;-P
LOL, grazie !

         Modello DAO per le aree di lavoro di Microsoft Jet
ok, grazie ancora

 ha scritto
Alla fine ho risolto cosě:
Dim ws As DAO.Workspace, vGrpOk As Boolean
Dim grp As DAO.Group
Set ws = DBEngine.Workspaces(0)
For Each grp In ws.Users(CurrentUser).Groups
  If grp.Name = "commerciali" Or grp.Name = "Admins" Then
    vGrpOk = True
    Exit For
  Else
    vGrpOk = False
  End If
Next grp
If vGrpOk = False Then
  Me.Ins_Agente.Enabled = False
  Me.Ins_Nazione.Enabled = False
End If
grazie per l'aiuto :-)
