stampe
Messages postés7Date d'inscriptionjeudi 26 décembre 2002StatutMembreDernière intervention29 avril 2004
-
28 août 2003 à 22:45
Wriggles
Messages postés31Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention10 mars 2009
-
21 oct. 2003 à 19:49
Bonjour,
Je dois élaborer un système de recherches multicritères. J’ai donc une requête SQL ( qui fonctionne correctement ) ou j’ai essayé de mettre mes conditions en para mêtre ( méthode like ). Ca marche sans marcher…
Pour que j’obtiennes un résultat dans mon DBGrid, il faut que mes menus déroulants ( mes critères de recherches ) soient remplis. Je voudrais par exemple choisir comme critères « CD-R » et « 700 Mo » et obtenir seulement les cdroms de type CD-R ayant une capacité de 700 Mo… et non le contenu de la requête.
Avez-vous une idée où savez vous faire ce genre de manip ?
Wriggles
Messages postés31Date d'inscriptionlundi 27 janvier 2003StatutMembreDernière intervention10 mars 2009 21 oct. 2003 à 19:49
Si j'ai bien compris ton problème, tu as deux solutions :
* poser un filtre sur ta requête en fonction de tes critères :
Query.filtered:=false;
if critere1 <>'' then
Query.filter:=Query.filter + 'and capacite=7000';
.....
Query.filtered:=true;
De cette manière ton ensemble de données ne sera
composé que de la résultante de ton filtre.
* formaté ta requête :
dans la propriété string de ta requête, ajouter à la fin %s.
une fois que tes critères sont posés, u n'as plus qu'à
ajouter dans une variable tes critères :
' and capacite = 700 and cdroms=CD-R'.
puis tu formates ta requête :
Query.sql.text:=format(Query.sql.text,[mavariable]);
le %s que tu as ajouté sera transformé par ta variable.