Requête SQL ORDER BY... syntaxe

Requête SQL ORDER BY... syntaxe - SQL/NoSQL - Programmation

Marsh Posté le 06-12-2008 à 02:22:40    

Bonjour,
 
j'ai une petite base de données nommée AisDATA faite avec Access 97. Je veux donner au "user" la possibilité de faire un multi-tri (2 tris), utilisant 4 critères chacun, ie. 4 choix de colonnes, en plus du choix ASC ou DESC sur chacun des tris. Mon problème principal, c'est que j'ai 2 choix de tri numériques, et 2 textes.
 
J'utilise 2 comboBox pour les choix : cboPrim et cboSecond
Dans chaque comboBox, j'ai la liste des 4 choix, disons chx1num, chx2num, chx3txt et chx4txt
A côté de chaque cboBox, j'ai 2 option buttons pour choisir soit ASC , soit DESC
 
Je nomme triPrim le choix du user pour son 1er tri, et sensTriPrim son 1e choix pour ASC ou DESC
Je nomme triSecond le choix du user pour son 2e tri, et sensTriSecond son 2e choix pour ASC ou DESC.
 
Ma question :  comment j'écris ça ????
 
J'ai tout essayé. Et toujours Erreur çi, erreur ça.
En fait, je voudrais trouver une phrase qui tienne la route pour tous les cas. Est-ce possible? (Je pense que non à cause des txt et des num.)
 
J'essaie
 
sql = ="SELECT* from  AisDATA  ORDER BY Position" '" & triPrim & "' &   sensTriPrim  " ' & '" & triSecond & "' & '" & sensTriSecond & "'"
 
Erreur !
 
Est-ce que je peux désigner ASC et/ou DESC par une string comme strSens$ ? Ou dois-je impérativement les écrire comme tels ?
 
Merci pour l'aide
 
Jacquelin Hardy
programmeur amateur VB6

Reply

Marsh Posté le 06-12-2008 à 02:22:40   

Reply

Marsh Posté le 07-12-2008 à 08:42:47    

Où as-tu vu qu'il y avait des & entre les champs à trier ?
Je ne sais pas si c'est du Access, mais ça n'est pas du SQL standard.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 08-12-2008 à 15:11:58    

el muchacho a écrit :

Où as-tu vu qu'il y avait des & entre les champs à trier ?
Je ne sais pas si c'est du Access, mais ça n'est pas du SQL standard.


 
ici : http://www.vbfrance.com/codes/UTIL [...] _5672.aspx
 
On y disait entr'autres:
 
 
<<Faire intervenir une zone de texte dans l'instruction SQL
 
    Cas n°1 : le texte saisi est un nombre
 
    SQL = "SELECT * FROM MaTable WHERE Salaire > " & MaZoneTexte.text
 
    Cas n°2 : le texte est une valeur texte
 
    SQL = "SELECT * FROM MaTable WHERE Nom='" & MaZoneTexte.text & "'"
 
    La valeur passée dans la chaine devient celle de la zone de texte. Suivant ce que vos utilisateurs entrent>>
 
Je veux bien te croire quand tu dis qu'il ne faut pas utiliser "&" mais j'ai tjrs mon problème, irrésolu. Peut-être que mon message initial est trop long pour être intéressant !.
 
 
Jacquelin H.

Reply

Marsh Posté le 09-12-2008 à 10:21:39    

el muchacho, si je dis pas de bêtise, le & sert d'opérateur de concaténation de chaînes de caractères en VBA.
Faut faire :
"SELECT* from AisDATA ORDER BY Position, triPrim, sensTriPrim, triSecond, sensTriSecond"
 
Je suppose que les noms dans le order by sont des noms de colonnes de la table AisData et non des variables VBA.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

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