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 :

Login et mot de passe


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Avril 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 32
    Points : 21
    Points
    21
    Par défaut Login et mot de passe
    Bonsoir à tous,

    j'arrive au terme de ma DB. J'aimerai finaliser le projet avec une connexion avec login et mot de passe

    Je me suis basé sur ce lien qui à priori avez l'air d'être ce dont j'avais besoin..

    https://access.developpez.com/faq/?page=TAAdmin#login

    Cependant le message "identifiant et mot de passe incorrect" est permanant à chaque demande de connexion...

    Je ne vois pas ou peut bien être l'erreur.

    J'ai uniquement changé le nom de la table par rapport à l'exemple et mes champs de formulaires pour le login sont txt_user et txt_pass comme dans l'exemple...

    Je vous dépose ici mon code, vous verrez juste une différence egalement sur le quote dans le SELECT qui me posaient problème...

    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
     
    Private Sub Commande9_Click()
     
    Me.Requery
    Dim sql, User_id, User_groupe   As String
    Dim rs As DAO.Recordset
    Static i As Byte
    sql = "SELECT * FROM users WHERE TRIGRAMME = ' & Me.txt_user & ' AND PASWD =' & Me.txt_pass & ';"
    Set rs = CurrentDb.OpenRecordset(sql)
    If Not rs.EOF Then
      DoCmd.OpenForm "F_Intro", 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 pour le temps de votre réponse

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    Tu as tout simplement mal repris le code.

    Contrôle caractère par caractère ta requête tu verras qu'elle n'est pas pareille.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Avril 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    hello,

    je crois que tu parles de cette ligne de code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM users WHERE TRIGRAMME = ' & Me.txt_user & ' AND PASWD =' & Me.txt_pass & ';"
    si je mets pareil que dans l'exemple à savoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT * FROM T_USERS WHERE TRIGRAMME = \'" & Me.txt_user & "\' AND PASWD =\'"& Me.txt_pass & "\';"
    j'ai un message d'erreur de type:

    erreur d'execution 3075 - erreur de syntaxe opérateur absent.

    Autre information qui peut (doit) avoir une importance c'est cette premiere ligne dans la description de l'exemple : "Pour exécuter ce code, il faut activer la référence : Microsoft DAO 3.x Object Library."

    Quand j'essaye de l'installer , j'ai un message m'indiquant qu'il est déjà utilisé, or il n'est pas coché...
    peut-être une piste

    merci pour ta réponse rapide

  4. #4
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Avril 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Bon en bidouillant un peu et en inserant ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT * FROM users WHERE TRIGRAMME = '" & Me.txt_user & "' AND PASWD ='" & Me.txt_pass & "';"
    j'ai pu me connecter

    ouf...

    merci bcp...

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Depuis 2003 la DAO 3.6 n'est plus utilisée. Cette bibliothèque est remplacée à partir de 2007 par Microsoft Office xx.0 Access database engine Object.

    Donc c'est normal qu'il n'en veuille pas.

    Lorsque tu utilises l'opérateur de concaténation & il est très important voire obligatoire de bien respecter les espaces avant et après. En effet "&" sert d'identification de type Long lorsqu'il est en suffixe.

    Exemple

    équivalent à

    et d'identification d'une valeur hexadécimale lorsqu'il est en préfixe.

    Espérant t'avoir éclairé sur le problème que tu rencontrais.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  6. #6
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Avril 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Merci beaucoup pour ton aide...
    une dernière question dans ce code (qui fonctionne à présent)

    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
    Private Sub Commande9_Click()
     
    Me.Requery
    Dim sql, User_prenom, User_nom   As String
    Dim rs As DAO.Recordset
    Static i As Byte
    sql = "SELECT * FROM users WHERE TRIGRAMME = '" & Me.txt_user & "' AND PASWD ='" & Me.txt_pass & "';"
    Set rs = CurrentDb.OpenRecordset(sql)
    If Not rs.EOF Then
      DoCmd.OpenForm "F_Intro", acNormal, , , , acWindowNormal
      DoCmd.Close acForm, "F_Connexion"
      User_prenom = rs("PRENOM").Value
      User_nom = rs("NOM").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
    Comment faire pour afficher les variables déclarées sur e formulaire F_Intro ouvert après la connexion

    j'ai essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
        Texte170.Value = User_prenom
     
    End Sub
    Ces variables ne sont disponible que sur le formulaire dans lesquelles elles sont déclarées?


  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    1) tu dois surement travailler sans "Option Explicit" dans l'en-tête de tes modules. (pas bien ! )
    2) il te faut déclarer les 2 variables dans l'en-tête d'un module standard.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  8. #8
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Avril 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Citation Envoyé par loufab Voir le message
    2) il te faut déclarer les 2 variables dans l'en-tête d'un module standard.

    Cordialement,
    Coucou Loufab,

    ce n'est âs ce qui estfait là?

    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 Commande9_Click()
    Me.Requery
    Dim sql, User_id, User_groupe   As String
    Dim rs As DAO.Recordset
    Static i As Byte
    sql = "SELECT * FROM users WHERE TRIGRAMME = '" & Me.txt_user & "' AND PASWD ='" & Me.txt_pass & "';"
    Set rs = CurrentDb.OpenRecordset(sql)
    If Not rs.EOF Then
      DoCmd.OpenForm "F_Intro", 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

  9. #9
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Non.

    Là tu valorises (assigner une valeur) 2 variables dans une procédure.

    Ce qui n'a rien à voir avec :

    déclarer les 2 variables dans l'en-tête d'un module standard.
    Donc ce n'est ni l'action ni le lieu.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  10. #10
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Avril 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 32
    Points : 21
    Points
    21
    Par défaut
    Loufab,

    dans un module1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    Option Compare Database
    Option Explicit
     
     
    Public var_user As Integer
     
     
    Public Sub Form_F_Intro()
    var_user = User_id
    End Sub

  11. #11
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Comme ceci, en effet.

    Là ta variable est visible dans toute l'application.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  12. #12
    Membre à l'essai
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Avril 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien Help Desk
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2014
    Messages : 32
    Points : 21
    Points
    21
    Par défaut


    Mais comment l'afficher sur un formulaire...


  13. #13
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    dans ton premier post tu utilises bien la syntaxe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    contrôle.value = user...
    Utilise le Me devant, ainsi tu bénéficie de l'autocomplétion ainsi tu ne cherches pas le nom du contrôle et tu ne risques pas de te tromper.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.controle.value = user...
    PAr contre l'évènement que tu as utilisé ne me semble pas très opportun. Utilise plutôt le Sur Ouverture (form_open). Tu auras de meilleurs résultat.

    Chaque évènement a ses propres "capacités" qu'il faut connaitre (ou chercher) avant utilisation. Attention aux faux amis.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

Discussions similaires

  1. oubli de login et mot de passe ?
    Par donny dans le forum Oracle
    Réponses: 4
    Dernier message: 10/04/2006, 13h25
  2. Réponses: 3
    Dernier message: 23/02/2006, 11h19
  3. Réponses: 3
    Dernier message: 25/11/2005, 13h06
  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, 18h09
  5. Fenêtre avec login et mot de passe
    Par keawee dans le forum ASP
    Réponses: 5
    Dernier message: 29/08/2005, 14h30

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