Pb de filtre sur recordset ADO - VB/VBA/VBS - Programmation
Marsh Posté le 24-04-2003 à 12:23:03
Cyber666 a écrit : Bonjour |
T'as essayé
((Type= 'TRESO1' or Type= 'TRESO2' or Type= 'TRESO4' and Ptf='1100326')
Marsh Posté le 24-04-2003 à 13:03:57
vttman2 a écrit : |
j'ai trouvfé la solution sur le site de micro$oft !
quand on utilise les deux opérandes "or" et "and" dans un même filtre, il faut que le "or" soit prioritaire....c'est nul VB putain !
Marsh Posté le 24-04-2003 à 13:11:59
c'est pas VB c'est SQL.
Marsh Posté le 28-04-2003 à 12:56:36
Ce que j'ai voulu dire, c'est que ce qui est assigné à la propriété Filter est exactement ce que tu donnerais comme clause WHERE dans une requête SQL. Donc la syntaxe à respecter pour ton filtre est SQL. Essaie donc une requête dans un parser SQL, qui combinerait la source de ton recordset + ton filtre pour voir si ça passe
Marsh Posté le 24-04-2003 à 11:42:29
Bonjour
voilà le filtre que je souhaite appliquer et qui plante :
(Type= 'TRESO1' or Type= 'TRESO2' or Type= 'TRESO4' and Ptf='1100326'
alors que si je mets ça (qui est le même mais sous une syntaxe différente), ça marche :
"(Type= 'TRESO1' and Ptf='1100326' or (Type= 'TRESO2' and Ptf='1100326'or (Type= 'TRESO4' and Ptf='1100326'".
Le problème est que je génère le filtre dynamiquement selon le choix de l'utilisateur et donc il m'est trop difficile de générer le filtre dans le deuxième format.
Qq'un peu me dire pourquoi la première syntaxe plante ?
le texte du plantage est :
arguments are of the wrong type, are out of acceptable range, or are in conflict with one another
merci