Gambas France BETA


Pas de compte ? Incription

DataCombo Display order by

1
AuteurMessages
roudaille#1 Posté le 29/3/2012 à 12:13:21
Bonjour,

est-il possible de trier les enregistrements d'un champs via la fenêtre de propriété d'un DataCombo ?
Merci pour toute aide
Prokopy#2 Posté le 29/3/2012 à 13:57:19
Kinder PinguiSalut roudaille,
de mémoire il me semble que tu peux mettre ta clause order by dans la propriété filter.
Je pourrai te reconfirmer ça ce soir.
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
gambix#3 Posté le 29/3/2012 à 15:53:28
Faire simple !oui c'est ça
Moins de texte dans une signature c'est agrandir son espace.
roudaille#4 Posté le 29/3/2012 à 16:24:53
je ne trouve pas la syntaxe exacte de la clause. J'ai paramétré les propriétés Table, Field, Display de ma DataCombo. Je souhaite trier Display donc dans Filter je mets "ORDER BY nom_de_mon_champ" mais à l'exécution du projet : [-1] Query failed: SQL error or missing database. DataCombo.Reload.87".

L'aide stipule simplement que Filter est le synonyme de la clause WHERE.
Prokopy#5 Posté le 29/3/2012 à 17:10:16
Kinder PinguiEn fait quand le contrôle fait sa requête en interne il fait "Select champs from table where" puis ajoute la propriété filter.

Donc si tu veux mettre une clause order by tu dois spécifier ton filtre avant :

filter = "monchamp = 'cequejecherche' Order By champdetri"

Si tu ne veux pas mettre de filtre Where alors mets simplement 1 :

filter = "1 Order By champdetri"
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
roudaille#6 Posté le 31/3/2012 à 15:06:36
merci Prokopy pour ton aide. Je viens d'essayer plusieurs fois mais sans succès.
En mode debug, j'ai bien la propriété Filter suivante : "\"1 order by champdetri"\" mais le tri ne s'effectue pas. (si je ne mets pas de "" la requête échoue)
La même requête SQL avec le gestionnaire de DB de gambas fonctionne pourtant.

Le contrôle DataCombo fait-il un SELECT sur la propriété Field ou un SELECT * de la propriété Table ?
Prokopy#7 Posté le 31/3/2012 à 17:01:46
Kinder PinguiQuand tu dis que la requête échoue, quelle est l'erreur précisément ?
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
roudaille#8 Posté le 31/3/2012 à 17:24:39
"This application has raised an unexpected error and must abort. [-1] Query failed: SQL error or missing database. DataCombo.Reload.87"

Sachant que la propriété Field correspond avec une autre table, le problème vient certainement de là
roudaille#9 Posté le 3/4/2012 à 18:16:47
Prokopi,
à priori, lorsque je mets "1 order by champdetri", seulement "1" est interprété. Cela revient à SELECT * FROM table where 1;
La clause order by n'est pas évaluée. Lorsque je mets "1 bla bla bla" dans la propriété Filter, idem, "bla bla bla" n'est pas évalué...

J'ai essayé pas mal de combinaisons avec des '' et "" mais rien n'y fait.
roudaille#10 Posté le 4/4/2012 à 13:10:20
Bonjour,

je joints un screenshot des propriétés de ma DataCombo avec le champ Filter renseigné ainsi : "1 order by champdetri".
Est-ce normal l'ajout des \" ? Si je ne les mets pas, j'ai une erreur à l'exécution.
Merci pour toute aide.

1