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

Résolu
Signaler
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
-
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
-
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

Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Statut
Membre
Dernière intervention
7 juin 2009
5
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Statut
Membre
Dernière intervention
26 juin 2006
3
Merci, Merci, Merci
j'ai perdu 5 heures sur 2 parenthèses

Merci encore