OVH Cloud OVH Cloud

[WD8] trie dans combo ?

5 réponses
Avatar
sg
Bonjour,

je suis en train de reprendre le code d'un collégue qui rempli une combo
dont le champ déroulé est une table de deux colonnes.

La premiére (invisible) contient l'ID du fabriquant et la seconde son nom.

Cette combo n'est pas liée à une rubrique et est remplie par programmation
au gréé de l'execution du code à l'aide de la fonction
TableAjouteLigne(nomCombo,ValCol1,ValCol2).

Je voudrai trié cette combo sur la deuziéme colonne.
Mais alors que les autres fonctions (TabledetruitTout,tableAjoute...)
l'appel à al fonction TableTrie me renvoie le message d'erreur:
"Vous avez appelé la fonction TableTrie.
cmbIDFabrikant n'est pas un champ Table."
alors qu'il me le propose lorsque je tape tabletrie.

Une idée ?
Pour l'insatnt je serais tenté de faire un vrai champ table invisible, le
trié, puis remplir la combo. Le probléme est que je dois modifier le
processeflow de ma fenêtre, mais bon, il y a pire....

Merci de m'avoir lu et bon code.

--
sg

5 réponses

Avatar
Yves.83
Si dans la commande TableTrie() le nom de la table peut être sans guillemet
il n'en va de même pour le nom des colonnes à trier, est-ce que la ligne
de code respecte cette syntaxe ?
Yves


"sg" a écrit dans le message de news:

Bonjour,

je suis en train de reprendre le code d'un collégue qui rempli une combo
dont le champ déroulé est une table de deux colonnes.

La premiére (invisible) contient l'ID du fabriquant et la seconde son nom.

Cette combo n'est pas liée à une rubrique et est remplie par


programmation
au gréé de l'execution du code à l'aide de la fonction
TableAjouteLigne(nomCombo,ValCol1,ValCol2).

Je voudrai trié cette combo sur la deuziéme colonne.
Mais alors que les autres fonctions (TabledetruitTout,tableAjoute...)
l'appel à al fonction TableTrie me renvoie le message d'erreur:
"Vous avez appelé la fonction TableTrie.
cmbIDFabrikant n'est pas un champ Table."
alors qu'il me le propose lorsque je tape tabletrie.

Une idée ?
Pour l'insatnt je serais tenté de faire un vrai champ table invisible, le
trié, puis remplir la combo. Le probléme est que je dois modifier le
processeflow de ma fenêtre, mais bon, il y a pire....

Merci de m'avoir lu et bon code.

--
sg









Avatar
sg
Bonjour Yves.

oui la syntaxe préconisée par l'aide en ligne est respectée.
J'ai par aillieurs fait d'autres essais avec d'autres syntaxes.
Sans succés.

Merci de ta réponse.

--
sg

"Yves.83" <(S.p_a.m) schreef in bericht
news:418f6cd7$0$15936$
Si dans la commande TableTrie() le nom de la table peut être sans


guillemet
il n'en va de même pour le nom des colonnes à trier, est-ce que la ligne
de code respecte cette syntaxe ?
Yves


"sg" a écrit dans le message de news:

> Bonjour,
>
> je suis en train de reprendre le code d'un collégue qui rempli une combo
> dont le champ déroulé est une table de deux colonnes.
>
> La premiére (invisible) contient l'ID du fabriquant et la seconde son


nom.
>
> Cette combo n'est pas liée à une rubrique et est remplie par
programmation
> au gréé de l'execution du code à l'aide de la fonction
> TableAjouteLigne(nomCombo,ValCol1,ValCol2).
>
> Je voudrai trié cette combo sur la deuziéme colonne.
> Mais alors que les autres fonctions (TabledetruitTout,tableAjoute...)
> l'appel à al fonction TableTrie me renvoie le message d'erreur:
> "Vous avez appelé la fonction TableTrie.
> cmbIDFabrikant n'est pas un champ Table."
> alors qu'il me le propose lorsque je tape tabletrie.
>
> Une idée ?
> Pour l'insatnt je serais tenté de faire un vrai champ table invisible,


le
> trié, puis remplir la combo. Le probléme est que je dois modifier le
> processeflow de ma fenêtre, mais bon, il y a pire....
>
> Merci de m'avoir lu et bon code.
>
> --
> sg
>
>
>
>
>
>
>




Avatar
sg
Re bonjour,

une recherche sur le news de pcsoft laisse paenser que cela n'est pas
possible.
Je passe donc par une table invisible.

Bonne journée.

--
sg
Avatar
mat
sg wrote:
Re bonjour,

une recherche sur le news de pcsoft laisse paenser que cela n'est pas
possible.
Je passe donc par une table invisible.



Autre solution:

Lier la combo à une requête ou le faire plus ou moins comme le suit:

sdMaRequete est source de donnée
vRequete est chaîne = "SELECT ID, Nom FROM NomFichier ORDER BY Nom "
HExecuteRequeteSQL(sdMaRequete, hRequeteDefaut, vRequete)
POUR TOUS sdMaRequete
TableAjoute(NomCombo.....
FIN
Avatar
sg
"mat" schreef in bericht
news:418f84ad$
sg wrote:
> Re bonjour,
>
> une recherche sur le news de pcsoft laisse paenser que cela n'est pas
> possible.
> Je passe donc par une table invisible.

Autre solution:

Lier la combo à une requête ou le faire plus ou moins comme le suit:

sdMaRequete est source de donnée
vRequete est chaîne = "SELECT ID, Nom FROM NomFichier ORDER BY Nom "
HExecuteRequeteSQL(sdMaRequete, hRequeteDefaut, vRequete)
POUR TOUS sdMaRequete
TableAjoute(NomCombo.....
FIN



Bonjour Mat,

certe, mais dans mon cas cette comb est remplie avec des données collectées
lors de plusieurs étapes, cette solution n'est donc ici pas possible.

Mais effectivement, j'emploie aussi cette méthode.

Merci.

--
sg