Identification en fonction des valeurs saisies

Résolu
Loic_7447 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -  
Loic_7447 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

J'ai un formulaire d'identification "fIdentification" avec deux champs "ID" et "MDP", ainsi qu'un bouton.
En rentrant un identifiant et un mot de passe, puis en cliquant sur le bouton, un code vient vérifier dans une table "tIdentification" (avec trois champs "Nom", "Prénom" et "Accessibilité") si ils correspondent à une ligne.
Si ils sont corrects, le formulaire "#Menu_principal" s'ouvre.

J'aimerai compléter cette identification en ouvrant des formulaires différents en fonction de la valeur d' "Accessibilité".

Je suppose qu'il faut créer un autre code, mais je ne sais pas quoi mettre.

Merci d'avance pour votre aide !

5 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    peux-tu partager ton code?
    1
  2. Loic_7447 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention  
     
    Private Sub Commande5_Click()
    
    Me.Requery
    Dim sql As String 'User_groupe
    Dim rs As DAO.Recordset
    
    sql = "SELECT * FROM tIdentification WHERE Nom = " & """" & Me.Id & """" & " AND Prenom =" & """" & Me.MDP & """" & "
    Set rs = CurrentDb.OpenRecordset(sql)
    If Not rs.EOF Then
      DoCmd.OpenForm "#Menu_principal"
    
    Else
     MsgBox " Identifiant ou mot de passe incorrect ", vbInformation, "Connexion"
      'i = i + 1
    End If
    
    End Sub
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      un exemple:
      Dim nomform As String
      Select Case rs!accessibilite
          Case "a":
              nomform = "formulaire a"
          Case "b":
              nomform = "formulaire b"
          Case Else:
              nomform = "#Menu_principal"
      End Select
      DoCmd.OpenForm nomform
      0
  3. Loic_7447 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention  
     
    Voici mon nouveau code avec ce que tu m'as conseillé :

    Private Sub Commande5_Click()
    
    Me.Requery
    Dim sql As String
    Dim rs As DAO.Recordset
    Dim nomform As String
    
    sql = "SELECT * FROM tIdentification WHERE Nom = " & """" & Me.Id & """" & " AND Prenom =" & """" & Me.MDP & """" & ";"
    Set rs = CurrentDb.OpenRecordset(sql)
    
    If Not rs.EOF Then
        Select Case rs!Accessibilité
            Case Is = 2:
                nomform = "#Menu_principal2"
            Case Else:
                nomform = "#Menu_principal"
        End Select
        DoCmd.OpenForm nomform
    Else
     MsgBox " Identifiant ou mot de passe incorrect ", vbInformation, "Connexion"
    End If
    
    End Sub


    Malheureusement, je n'arrive pas à le faire fonctionner, ni à voir mon erreur.
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      "je n'arrive pas à le faire fonctionner": que se passe-t-il?

      quel est le type du champ Accessibilité?
      bizarre ce
      Is =
      .
      0
  4. Loic_7447 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention  
     
    Dans l'état actuel, il ouvre le formulaire "#Menu_principal" peut importe ce que l'on tape.
    Le champ Accessibilité est de type numérique.
    J'ai essayé avec plusieurs syntaxe :
    case 2
    ,
    case is = 2
    ... en m'aidant du support microsoft, mais j'arrivais toujours au même résultat.
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      as-tu affiché la valeur de
      rs!Accessibilité
      ?
      0
    2. Loic_7447 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Non, comment je peux faire ?
      0
    3. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Loic_7447 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention  
       
      tu peux ajouter après la ligne 17:
      msgbox cstr(rs!Accessibilité) + "|"+ nomform
      0
    4. Loic_7447 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Pour mon test, j'ai rentré deux lignes différents dans ma table, avec deux valeurs dans "accessibilité" différente, et peu importe ce que je rentre, ça m'affiche : 1; #Menu_principal".
      Comment je peux permettre à
      select case
      de différencier les valeurs dans le champs "accessibilité" ?
      0
    5. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Loic_7447 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention  
       
      même si tu as 2 comme accessibilité pour les deux enregistrements de la table?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Loic_7447 Messages postés 32 Date d'inscription   Statut Membre Dernière intervention  
     
    MISE A JOUR : le problème venait de ma table "tIdentification".
    Les deux identifiants étaient le même mot mais un en minuscule et l'autre et majuscules. Access ne faisait pas la différence entre les deux.

    Mon problème est donc résolut, merci pour ton aide !
    0