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

Access Discussion :

Gestion d'utilisateurs et mots de passe


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 56
    Points : 48
    Points
    48
    Par défaut Gestion d'utilisateurs et mots de passe
    Bonjour,

    J'ai un formulaire avec deux controles : nom et mot de passe.
    J'aimerais effectuer une vérification de ces noms et mdp qui sont situés dans une table appellée "ids". Seulement je travaille en code VBA et je bloque un peu...

    Voici mon code :
    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
     
    Private Sub Commande6_Click()
     
     
    Dim conn As ADODB.Connection
    Set conn = CurrentProject.Connection
     
    nom = Me.User
    mdp = Me.Pass
    Dim ssql As String
     
    ssql = "select pass from ids where id = '" & nom & "';"
    conn.Execute ssql
    If ssql = mdp Then
    DoCmd.OpenForm "Admin"
    Else
    MsgBox ("Mauvais mdp")
    End If
    conn.Close
    Set conn = Nothing
     
    End Sub
    Si l'utilisateur existe et que le mot de passe est bon, cela ouvre un formulaire (Admin).

    La table des utilisateurs est 'ids" et comporte deux champs : id et pass

    Quelqu'un aurait il une idee ?

  2. #2
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    User et Pass sont des zones de texte ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    oui oui ce sont les deux zones de textes qui sont sur mon formulaire où je demande l'id et le pass... [User] = le nom de la personne et [Pass] = son mot de passe...

  4. #4
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Peux tu préciser ton problème, s'il te plait.

    Vu comme cela ton code semble correct

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    en fait quand je teste la valeur de ssql, ca me renvoie toute la chaine de caractères "Select...." . Je voudrais savoir comment faire pour que l'utilisateur présent dans la table 'ids' puisse accéder au formulaire, et s'il n'est pas dans la table, ou que le mot de passe est erronné, il ne puisse pas y accéder.

    Avec mon code, une erreur est renvoyée puisque ssql est toute la chaine de caractères "Select....", et non pas le paramètre du mot de passe. En fait j'aimerais savoir comment utiliser le RESULTAT de la requete SQL passée sous le nom de ssql (que j'execute par la suite....)

    J'espere avoir été un peu plus clair... Merci d'avance !

  6. #6
    Provisoirement toléré
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 291
    Points : 188
    Points
    188
    Par défaut
    j'ai la solution si tu peux attendre à demain je t'enverrai ça j'ai le code en vb
    Le problème n'est pas l'ordinateur mais l'utilisateur

  7. #7
    Provisoirement toléré
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 291
    Points : 188
    Points
    188
    Par défaut
    ça te permettra d'avoir une idée de comment faire cette gestion
    Le problème n'est pas l'ordinateur mais l'utilisateur

  8. #8
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    salut
    Essai ça:
    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
    Private Sub Commande6_Click() 
    Dim pwd As String 
    nom = Me.User 
    mdp = Me.Pass 
    If IsNull(DLookup("pass","ids","id = " & Nom)) Then
      msgbox "La correspondance " & Nom & "  " & mdp & "n'est pas valide",vbexclamation,"Accès refusé"
    exit sub
    End
    pwd = DLookup("pass","ids","id = " & Nom)
    If pwd = mdp Then 
    DoCmd.OpenForm "Admin" 
    Else 
    MsgBox "Mauvais mdp"
    End If 
     
    End Sub
    @+

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    merci , c'est gentil... Si quelqu'un a une idée en attendant je suis prenneur, sinon je serais patient jusqu'a demain
    Merci encore !

  10. #10
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Il te faut déclarer un recordset.

    ce recordset récupère la valeur de pass qui est ramenée par ta requête.

    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
    Dim rstPublishers As ADODB.Recordset
        Dim strCnn As String
     
        ' Open recordset with data from Publishers table.
        strCnn = "Provider=sqloledb;" & _
            "Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; "
        Set rstPublishers = New ADODB.Recordset
        rstPublishers.CursorType = adOpenStatic
        rstPublishers.Open "SELECT * FROM publishers " & _
            "WHERE Country = 'USA'", strCnn, , , adCmdText
     
        ' Print current data in recordset.
        rstPublishers.MoveFirst
        Do While Not rstPublishers.EOF
            Debug.Print rstPublishers!pub_name & ", " & _
                rstPublishers!country
            rstPublishers.MoveNext
        Loop
     
        rstPublishers.Close
     
    End Sub
    Etudies cet exemple de l'aide Access.

  11. #11
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    As tu essayé ma solution? elle ne passe pas?
    @+

  12. #12
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Citation Envoyé par keita
    As tu essayé ma solution? elle ne passe pas?
    @+
    je l'avais pas vu.

    c'est plus simple, sans aucun doute.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    ben ca marche pas... j'ai une erreur au niveau de la formule DLOOKUP, il me dit 'L'objet ne contient pas d'automatisation 'nom'' ... ?

  14. #14
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Pardon
    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
    Private Sub Commande6_Click() 
    Dim pwd As String, nom as string,mdp as string
    nom = Me.User 
    mdp = Me.Pass 
    If IsNull(DLookup("pass","ids","id = " & Nom)) Then 
      msgbox "La correspondance " & Nom & "  " & mdp & "n'est pas valide",vbexclamation,"Accès refusé" 
    exit sub 
    End 
    pwd = DLookup("pass","ids","id = " & Nom) 
    If pwd = mdp Then 
    DoCmd.OpenForm "Admin" 
    Else 
    MsgBox "Mauvais mdp" 
    End If 
     
    End Sub
    j'avais omis les declarations de nom et mdp
    @+

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    toujours pareil en fait... si je met rien, il me dit "mauvaise utilisation de Null" et si je met qqch (un utilisateur que j'ai rentré dans ma base qui s'appelle Henri) J'obtien :

    L'objet n'obtient pas d'objet d'automatisation 'henri'

    ... Je vois pas ce qui gêne...

  16. #16
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    Essai ça:
    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
    Private Sub Commande6_Click() 
    Dim pwd As variant, nom as string, mdp as string 
    nom = Me!User 
    mdp = Me!Pass 
    pwd = DLookup("pass","ids","id = " & Nom)
    If IsNull(pwd) Then 
      msgbox "La correspondance " & Nom & "  " & mdp & "n'est pas valide",vbexclamation,"Accès refusé" 
    exit sub 
    End 
    pwd = DLookup("pass","ids","id = " & Nom) 
    If pwd = mdp Then 
    DoCmd.OpenForm "Admin" 
    Else 
    MsgBox "Mauvais mdp" 
    End If 
     
    End Sub

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    toujours pareil... meme erreur que précédemment... pourtant ca me semble bien c'est ca que je comprends pas...

  18. #18
    Membre éprouvé
    Avatar de keita
    Homme Profil pro
    Inscrit en
    Novembre 2002
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations forums :
    Inscription : Novembre 2002
    Messages : 881
    Points : 1 121
    Points
    1 121
    Par défaut
    c'est ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pwd = DLookup("pass","ids","id = " & " ' " & Nom " ' ")
    les quotes et double quotes

    Edit1
    ou comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pwd = DLookup("pass","ids","id = " &  "'" & me!User & "'")
    @+

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 56
    Points : 48
    Points
    48
    Par défaut
    ca marche très bien !!!!! merci !!!!
    il faut juste enlever les espaces dans " ' " sinon ca marche pas !

    MERCIIIIII bcp bcp !!

  20. #20
    Provisoirement toléré
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 291
    Points : 188
    Points
    188
    Par défaut
    ah bah tu ne vas plus avoir besoin de moi lol! contente pour toi
    Le problème n'est pas l'ordinateur mais l'utilisateur

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

Discussions similaires

  1. Gestion utilisateurs avec mot de passe crypté
    Par dorian53 dans le forum ALM
    Réponses: 3
    Dernier message: 18/07/2012, 18h28
  2. Réponses: 1
    Dernier message: 21/12/2008, 00h08
  3. recuperer liste utilisateurs et mot de passe
    Par pascale86 dans le forum Administration
    Réponses: 57
    Dernier message: 21/01/2008, 15h06
  4. gestion des utilisateurs par mot de passe
    Par ln0331 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/01/2008, 02h26
  5. [PostgresSQL]Pb accés des utilisateurs sans mot de passe
    Par woodwai dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 22/05/2003, 16h06

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