Pb de filtre sur recordset ADO

Pb de filtre sur recordset ADO - VB/VBA/VBS - Programmation

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

Reply

Marsh Posté le 24-04-2003 à 11:42:29   

Reply

Marsh Posté le 24-04-2003 à 12:23:03    

Cyber666 a écrit :

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


 
 :??:  
T'as essayé
 
((Type= 'TRESO1' or Type= 'TRESO2' or Type= 'TRESO4';) and Ptf='1100326')

Reply

Marsh Posté le 24-04-2003 à 13:03:57    

vttman2 a écrit :


 
 :??:  
T'as essayé
 
((Type= 'TRESO1' or Type= 'TRESO2' or Type= 'TRESO4';) and Ptf='1100326')
 


 
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 !

Reply

Marsh Posté le 24-04-2003 à 13:11:59    

:non: c'est pas VB c'est SQL.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 28-04-2003 à 12:42:26    

C quoi donc la bonne syntaxe alors ???
 
merci

Reply

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 ;)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed