Identification en fonction des valeurs saisies

Résolu/Fermé
Loic_7447
Messages postés
49
Date d'inscription
jeudi 11 juillet 2019
Statut
Membre
Dernière intervention
17 novembre 2020
- 9 nov. 2020 à 16:05
Loic_7447
Messages postés
49
Date d'inscription
jeudi 11 juillet 2019
Statut
Membre
Dernière intervention
17 novembre 2020
- 17 nov. 2020 à 07:17
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

yg_be
Messages postés
20053
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2022
1 197
10 nov. 2020 à 08:32
bonjour,
peux-tu partager ton code?
1
Loic_7447
Messages postés
49
Date d'inscription
jeudi 11 juillet 2019
Statut
Membre
Dernière intervention
17 novembre 2020

10 nov. 2020 à 10:49
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
20053
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2022
1 197
10 nov. 2020 à 12:18
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
jeudi 11 juillet 2019
Statut
Membre
Dernière intervention
17 novembre 2020

16 nov. 2020 à 11:29
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
20053
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2022
1 197
16 nov. 2020 à 13:18
"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
jeudi 11 juillet 2019
Statut
Membre
Dernière intervention
17 novembre 2020

16 nov. 2020 à 14:12
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
20053
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2022
1 197
16 nov. 2020 à 14:20
as-tu affiché la valeur de
rs!Accessibilité
?
0
Loic_7447
Messages postés
49
Date d'inscription
jeudi 11 juillet 2019
Statut
Membre
Dernière intervention
17 novembre 2020
> yg_be
Messages postés
20053
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2022

16 nov. 2020 à 15:49
Non, comment je peux faire ?
0
yg_be
Messages postés
20053
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2022
1 197 > Loic_7447
Messages postés
49
Date d'inscription
jeudi 11 juillet 2019
Statut
Membre
Dernière intervention
17 novembre 2020

16 nov. 2020 à 15:51
tu peux ajouter après la ligne 17:
msgbox cstr(rs!Accessibilité) + "|"+ nomform
0
Loic_7447
Messages postés
49
Date d'inscription
jeudi 11 juillet 2019
Statut
Membre
Dernière intervention
17 novembre 2020
> yg_be
Messages postés
20053
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2022

16 nov. 2020 à 16:10
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
20053
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 août 2022
1 197 > Loic_7447
Messages postés
49
Date d'inscription
jeudi 11 juillet 2019
Statut
Membre
Dernière intervention
17 novembre 2020

16 nov. 2020 à 16:28
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
jeudi 11 juillet 2019
Statut
Membre
Dernière intervention
17 novembre 2020

17 nov. 2020 à 07:17
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