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

cs_Eric25 175 Messages postés mardi 19 octobre 2004Date d'inscription 26 juin 2006 Dernière intervention - 1 févr. 2005 à 18:54 - Dernière réponse : cs_Eric25 175 Messages postés mardi 19 octobre 2004Date d'inscription 26 juin 2006 Dernière intervention
- 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
mrdep1978 402 Messages postés jeudi 25 novembre 2004Date d'inscription 7 juin 2009 Dernière intervention - 1 févr. 2005 à 19:28
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

cs_Eric25 175 Messages postés mardi 19 octobre 2004Date d'inscription 26 juin 2006 Dernière intervention - 1 févr. 2005 à 19:43
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.