IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

[AC 2010] Filtrer un formulaire avec le UserName de la session windows


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Points : 17
    Points
    17
    Par défaut [AC 2010] Filtrer un formulaire avec le UserName de la session windows
    Salut a tous,

    Je travail sur une base de donnee pour le boulot, et je souhaites personaliser les formulaires en utilisant le nom utilsiateur de la session windows (Environ("username").

    J'ai une table utilisateur avec les champs suivants :
    - ID (autonumber)
    - Initiales
    - Username

    Dans username est stocke le nom utilise par chaque utilsiateur pour se connecter a la session windows.

    Maintenant, j'ai un formulaire qui affiche une table continue ("tblCommentaires" (date - initiales - commentaire)) que je souhaites fltrer automatiquement en utilisant le username.

    Comment puis-je proceder?

    Merci pour votre support,

    David

  2. #2
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    David bonjour,

    Je penses que tu n'as pas tout dit dans ton message mais avançons quand même :

    Quant tu dis disposer d'une table utilisateur avec le UserName, s'agit t'il du même username que celui de la session Windows.
    Dans ce cas que se passe t-il si je change le nom de la session windows ?

    Ensuite tu souhaites filtrer une table continue et n'ouvrir si j'ai bien compris que les enregistrements correspondant à la session en cours, tu devras donc utiliser une condition lors de l'appel de ton formulaire, regardes comment utiliser la méthode grâce au lien ci-dessous :

    http://msdn.microsoft.com/fr-fr/libr...ffice.15).aspx

    Si maintenant tu souhaites filtrer ton formulaire en proposant de sélectionner l'utilisateur grâce à une zone de liste déroulante, tu peux appliquer un filtre dynamiquement sur ton formulaire, regardes donc l'utilisation de cette propriété :

    http://msdn.microsoft.com/en-us/libr...ffice.15).aspx

    JimBoLion

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Merci pour ta reponse.

    Pour le Username dans la table, en effet, il s'agit bien du Username windows, qui est en fait son matricule. Je pense que c'est la maniere la plus sur de securiser la base de donnee.

    Je souhaites que l'utilisateur ne puisse visualiser que les commentaires lui appartenant. D'autres ecran lui permettent d'acceder aux commentaires des autres utlisateurs, mais ce que j'essaie de faire, c'est personaliser la page d'acceuil de l'utilisateur en fonctin de ce qu'il a besoin.

    je viens de jeter un oeil au lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.Filter = "Country = 'USA'" 
    Me.FilterOn = True
    Dans mon cas, je ne pas l'appliquer tel quel car si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.Filter = "Initiales = environ(username)" 
    Me.FilterOn = True
    Username me contient pas les initiales de l'utilisateur. A mon sens, faut creer une requete, mais je n'ai pas reussi a la creer (ou peut etre dlookup dans VBA directement?)

    Merci encore pour ton aide!

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Jurassix,

    oui tu peux récupérer l'intiale grâce à un dlookup, à savoir dans ton cas :

    initiale = DLookup("[Initiales]", "matable", "[Username] = '" & environ(username) & "'")

    Dans le cas de l'utilisation du filtre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.Filter = "Initiales = '" & initiale  & "'" 
    Me.FilterOn = True
    Dans l'utilisation d'une condition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "monform", acNormal, , "[Initiales]='" & initiale & "'"
    Bien evidemment à adapter en fonction de tes champs, noms de tes objets et contrôles eventuels

    jimbolion

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Points : 17
    Points
    17
    Par défaut
    Merci pour ton aide, je m'en suis sortit. Voici le code si ca peut servir a d'autres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Form_Load()
    Dim userInitials As Variant
    Dim userName As String
     
    userName = Environ("username")
    userInitials = DLookup("[UserID]", "tbl-users", "[Matricule]='" & userName & "'")
     
    Me.Filter = "User=" & userInitials
     
    Me.FilterOn = True
     
    End Sub
    Encore merci pour ton support

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Filtrer un formulaire avec des boutons
    Par brindespoir dans le forum IHM
    Réponses: 4
    Dernier message: 30/07/2011, 07h00
  2. [AC-2007] Filtrer un formulaire avec une variable
    Par familledacp dans le forum VBA Access
    Réponses: 8
    Dernier message: 04/05/2009, 21h56
  3. Réponses: 7
    Dernier message: 20/11/2008, 14h22
  4. Réponses: 6
    Dernier message: 16/10/2006, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo