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

VBA Access Discussion :

Gestion utilisateurs avec login et mot de passe [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    janvier 2012
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : janvier 2012
    Messages : 54
    Points : 51
    Points
    51
    Par défaut Gestion utilisateurs avec login et mot de passe
    Bonjour

    Pour me permettre de faire une gestion des utilisateurs, j'ai crée un formulaire contenant 2 champs (Login, Password) et un bouton "Authentification"
    Dans l'événement sur clic du bouton j'ai inséré le code ci-après:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Private Sub Commande11_Click()
    Dim dbs As Database
    Dim rs As Recordset
    Dim strSql As String
    Set dbs = CurrentDb
    strSql = "SELECT * FROM Utilisateurs Where Nom='" & Replace(Me.Login, "'", "''") & "'"
    Set rs = dbs.OpenRecordset(strSql)
     
    sUser = ""
    sProfil = ""
    sService = ""
     
    If Not (rs.EOF And rs.BOF) Then
      If StrComp(Me.Password, rs.Fields("Connexion"), vbBinaryCompare) > 0 Then
        MsgBox "Utilisateur ou mot de passe incorrect", vbCritical
      Else
        sUser = rs.Fields("Nom")
        sProfil = rs.Fields("Profil")
        sService = rs.Fields("Service") & ""
     
        DoCmd.Close
        Select Case sProfil
        Case "R", "G"
          DoCmd.Openform "Utilisateur"
        Case Else
          DoCmd.Openform "Administrateur"
        End Select
      End If
    Else
      MsgBox "Utilisateur ou mot de passe incorrect", vbCritical
    End If
    End Sub
    Lorsque j'introduis le Login et Password, ça marche nickel
    Par contre, lorsque j'introduis uniquement le Login et que j'appuie sur le bouton ça rentre alors que ça doit pas rentrer

    Je crois qu'il y quelque chose qui manque au code VBA, que j'en connais rien du tout puisque ce code ci-dessus m'a été préparé par un informaticien de passage

    Merci beaucoup pour votre aide

  2. #2
    Membre habitué Avatar de texas2607
    Homme Profil pro
    Inscrit en
    juillet 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : juillet 2006
    Messages : 343
    Points : 159
    Points
    159
    Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.

  3. #3
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    janvier 2012
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : janvier 2012
    Messages : 54
    Points : 51
    Points
    51
    Par défaut Gestion utilisateurs avec login et mot de passe
    Bonjour Fred

    Merci pour votre réponse
    J'ai suivi le modèle de la FAQ, mais ça me retourne le message d'erreur suivant :
    Erreur d'exécution '3075':
    Erreur de syntaxe (opérateur absent) dans l'expression "TRIGRAMME=\'ADMIN\' AND PASWD=\'admin\'"
    Je ne sais comment procéder, je suis novice en VBA

    Merci bcp

  4. #4
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    janvier 2012
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : janvier 2012
    Messages : 54
    Points : 51
    Points
    51
    Par défaut Gestion utilisateurs avec login et mot de passe
    C'est OK Monsieur Fred

    J'ai enlevé les Slash (\) et ça a marché nickel

    Merci beaucoup pour votre collaboration

    Cordialement

  5. #5
    Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    janvier 2012
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Santé

    Informations forums :
    Inscription : janvier 2012
    Messages : 54
    Points : 51
    Points
    51
    Par défaut Gestion utilisateurs avec login et mot de passe
    Désolé Monsieur Fred de vous importuner encore une fois
    Le modèle que vous m'avez proposé dans la FAQ ne concerne qu'un seul formulaire
    Dans mon cas, j'ai 3 formulaires correspondant à 3 profils . J'aimerai bien que suivant le profil qui se connectera, c'est le formulaire correspondant qui s'ouvre

    Voici le code pour vous faciliter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Private Sub connexion_Click()
    Me.Requery
    Dim sql, User_id, User_groupe   As String
    Dim rs As DAO.Recordset
    Static i As Byte
    sql = "SELECT * FROM T_USERS WHERE TRIGRAMME = \'" & Me.txt_user & "\' AND PASWD =\'"& Me.txt_pass & "\';"
    Set rs = CurrentDb.OpenRecordset(sql)
    If Not rs.EOF Then
      DoCmd.OpenForm "F_Autre_Formulaire", acNormal, , , , acWindowNormal
      DoCmd.close acForm, "F_CONNEXION"
      User_id = rs("TRIGRAMME").value
      User_groupe = rs("GROUPE").value
    Else
      MsgBox "(Identifiant, Mot de Passe) incorrect ", vbInformation, "Connexion"
      i = i + 1
    End If
    If i = 3 Then 
    Msgbox "Vous avez dépassé le nombre de tentatives autorisées", vbCritical
    DoCmd.Quit
    End If
    End Sub
    Merci encore une fois pour votre collaboration

  6. #6
    Membre habitué Avatar de texas2607
    Homme Profil pro
    Inscrit en
    juillet 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : juillet 2006
    Messages : 343
    Points : 159
    Points
    159
    Par défaut
    Salut,
    Pourquoi 3 formulaires différents ?

    Vous pouvez ouvrir un formulaire basé par exemple sur le nom d'utilisateur.
    Ex avec Nathalie en log. Une fois l'identification correcte vous pouvez ouvrir un formulaire Frm_Nathalie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenForm "Frm_" & Me.txt_user, acNormal, , , , acWindowNormal
    la seule chose c'est que cela impliquera de créer des formulaires à chaque fois que vous rajouterez des utilisateurs.

    Le plus simple est peut être d'ouvrir un seul et même formulaire et en fonction des utilisateurs d'appliquer des filtres à l'ouverture afin de bloquer des options sur le formulaire.

    Cordialement,
    Fred
    Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.

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

Discussions similaires

  1. Lecture Registre Distant avec login et mot de passe
    Par foimpou dans le forum Langage
    Réponses: 1
    Dernier message: 16/04/2007, 12h56
  2. Réponses: 9
    Dernier message: 10/01/2007, 12h18
  3. Réponses: 3
    Dernier message: 25/11/2005, 14h06
  4. [VB]Gestion d'un login et mot de passe sous VB
    Par b_steph_2 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 10/10/2005, 19h09
  5. Fenêtre avec login et mot de passe
    Par keawee dans le forum ASP
    Réponses: 5
    Dernier message: 29/08/2005, 15h30

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