Identification en fonction des valeurs saisies

Résolu
Loic_7447 Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -  
Loic_7447 Messages postés 49 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 !
A voir également:

5 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
peux-tu partager ton code?
1
Loic_7447 Messages postés 49 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
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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
Loic_7447 Messages postés 49 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
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
"je n'arrive pas à le faire fonctionner": que se passe-t-il?

quel est le type du champ Accessibilité?
bizarre ce
Is =
.
0
Loic_7447 Messages postés 49 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
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
as-tu affiché la valeur de
rs!Accessibilité
?
0
Loic_7447 Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Non, comment je peux faire ?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Loic_7447 Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
tu peux ajouter après la ligne 17:
msgbox cstr(rs!Accessibilité) + "|"+ nomform
0
Loic_7447 Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 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
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > Loic_7447 Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
 
même si tu as 2 comme accessibilité pour les deux enregistrements de la table?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Loic_7447 Messages postés 49 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