Syntaxe incorrecte d'une requête toute simple... [Résolu]

Messages postés
175
Date d'inscription
mardi 19 octobre 2004
Dernière intervention
26 juin 2006
- - Dernière réponse : cs_Eric25
Messages postés
175
Date d'inscription
mardi 19 octobre 2004
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
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Dernière intervention
7 juin 2009
3
Merci
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 & "')",

Merci mrdep1978 3

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

Codes Sources a aidé 105 internautes ce mois-ci

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

Merci encore

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.