Syntaxe incorrecte d'une requête toute simple...

Résolu
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 - 1 févr. 2005 à 18:54
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 - 1 févr. 2005 à 19:43
Je viens de passer une partie de la journée à faire fonctionner la fonction suivante sans succès , c'est une fonction toute simple qui intervient lors de l'identification de l'utilisateur pour voir si son login et son mot de passe son corrects :

Public Function VerifMotUti(NomUti As String, MotUti As String, DroitUti1 As String, DroitUti2 As String) As Boolean
If Rs_Uti.State = adStateOpen Then
Rs_Uti.Close
End If
'Je recherche si il y a bien une entrée ds la table utilisateur avec le nom et le mot de passe correspondant
Rs_Uti.Open "select * from [UTILISATEUR] where Nom_Uti = '" & NomUti & "' and MotPasse_Uti='" & MotUti & "' and Droit_Uti='" & DroitUti1 & "' or Droit_Uti='" & DroitUti2 & "'", Cn, adOpenDynamic, adLockOptimistic
If Rs_Uti.EOF Then
VerifMotUti = False
Else
VerifMotUti = True
End If
Rs_Uti.Close
End Function

Quelque soit les données passées en paramètre, le Recordset n'est pas vide et la fonction retourne vrai.

Je pense que ma syntaxe est fausse. Ayant déclarer NomUti, MotUti... en string, ma syntaxe est-elle correcte au niveau de la requête?

Merci d'avance

2 réponses

mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
1 févr. 2005 à 19:28
C'est peut-être un problème de priorité entre le OR et le AND. Tu devrais mettre des parenthèses
"select * from [UTILISATEUR] where Nom_Uti = '" & NomUti & "' and MotPasse_Uti='" & MotUti & "' and (Droit_Uti='" & DroitUti1 & "' or Droit_Uti='" & DroitUti2 & "')",
3
cs_Eric25 Messages postés 175 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 26 juin 2006 3
1 févr. 2005 à 19:43
Merci, Merci, Merci
j'ai perdu 5 heures sur 2 parenthèses

Merci encore
0
Rejoignez-nous