PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2024 → champs combo avec des valeurs différentes dans une table
champs combo avec des valeurs différentes dans une table
Iniciado por keitsu, 24,abr. 2017 14:40 - 3 respuestas
Miembro registrado
3 mensajes
Publicado el 24,abril 2017 - 14:40
Bonjour,

Mon problème est le suivant :

J'ai une table avec un id qui est un entier et un champ combo qui doit contenir des numéros différents pour chaque id de ligne.

je suis partie sur une requête qui me renvoie bien la liste des numéros de téléphone mais je n'arrive pas à faire que pour chaque combo de chaque ligne j'ai les numéros de téléphone correspondants.


POUR nIndice = 1 A (TableOccurrence(TABLE_A))
HAnnuleDéclaration(REQ_Telephone)
Trace(TABLE_A.COL_ID[nIndice])
REQ_Telephone.ParamID = TABLE_A.COL_ID[nIndice]
HExécuteRequête(REQ_Telephone,hRequêteDéfaut)

HLitPremier(REQ_Telephone)
TANTQUE PAS HEnDehors(REQ_Telephone)
ListeAjoute(TABLE_A.COL_Telephone,REQ_Telephone.Libelle)
HLitSuivant(REQ_Telephone)
FIN

ListeAffiche(TABLE_A.COL_Telephone)
Trace(TABLE_A[nIndice].COL_Telephone)
Trace(RC)
FIN


voila le résultat de mes traces si ça peut vous aidez :

1
-1
<\r><\n>
2
-1
<\r><\n>
3
-1
<\r><\n>
4
-1
<\r><\n>
5
-1
<\r><\n>
6
-1
<\r><\n>
7
-1
<\r><\n>
8
-1
<\r><\n>
9
-1
<\r><\n>
10
-1
<\r><\n>



Merci d'avance pour votre aide :)
Publicado el 24,abril 2017 - 15:39
Bonjour

de mémoire, pour avoir des lignes différentes dans les combos d'une
table, il faut :
- créer le contenu de chaque linge sous la forme :
sContenu est une chaine=ligne1+RC+ligne2+rc+ligne3...
- affecter ce contenu en une seule fois à la combo de la ligne souhaitée :
TableX.Col_Combo[NumLigne]=sContenu

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Le 4/24/2017 à 6:40 AM, keitsu a écrit :
Bonjour,
Mon problème est le suivant :

J'ai une table avec un id qui est un entier et un champ combo qui doit
contenir des numéros différents pour chaque id de ligne.

je suis partie sur une requête qui me renvoie bien la liste des numéros
de téléphone mais je n'arrive pas à faire que pour chaque combo de
chaque ligne j'ai les numéros de téléphone correspondants.

POUR nIndice = 1 A (TableOccurrence(TABLE_A))
HAnnuleDéclaration(REQ_Telephone)
Trace(TABLE_A.COL_ID[nIndice])
REQ_Telephone.ParamID = TABLE_A.COL_ID[nIndice]
HExécuteRequête(REQ_Telephone,hRequêteDéfaut)

HLitPremier(REQ_Telephone)
TANTQUE PAS HEnDehors(REQ_Telephone)
ListeAjoute(TABLE_A.COL_Telephone,REQ_Telephone.Libelle)
HLitSuivant(REQ_Telephone)
FIN

ListeAffiche(TABLE_A.COL_Telephone)
Trace(TABLE_A[nIndice].COL_Telephone)
Trace(RC)
FIN


voila le résultat de mes traces si ça peut vous aidez :
1
-1
<\r><\n>
2
-1
<\r><\n>
3
-1
<\r><\n>
4
-1
<\r><\n>
5
-1
<\r><\n>
6
-1
<\r><\n>
7
-1
<\r><\n>
8
-1
<\r><\n>
9
-1
<\r><\n>
10
-1
<\r><\n>



Merci d'avance pour votre aide :)
Miembro registrado
3 mensajes
Publicado el 24,abril 2017 - 16:56
Merci pour votre réponse,

ça doit fonctionner (voir le trace ci_dessous) mais ça ne m'affiche rien dans mon champ combo de ma table, j'ai modifié le code comme suite :

POUR nIndice = 1 A (TableOccurrence(TABLE_A))
HAnnuleDéclaration(REQ_Telephone)
Trace(TABLE_A.COL_ID[nIndice])
REQ_Telephone.ParamID = TABLE_A.COL_ID[nIndice]
HExécuteRequête(REQ_Telephone,hRequêteDéfaut)

sContenu est une chaîne = ""
HLitPremier(REQ_Telephone)
TANTQUE PAS HEnDehors(REQ_Telephone)
sContenu += REQ_Telephone.Libelle
HLitSuivant(REQ_Telephone)
SI PAS HEnDehors(REQ_Telephone) ALORS
sContenu += RC
FIN
FIN

TABLE_A.COL_Telephone[nIndice]=sContenu
ListeAffiche(TABLE_A.COL_Telephone)
Trace(TABLE_A.COL_Telephone[nIndice])
Trace(RC)
FIN


1
0491100020<\r><\n>0491100021<\r><\n>0491100022<\r><\n>049110023
<\r><\n>
2
0678000000
<\r><\n>
3
0389000000
<\r><\n>
4
0556000000
<\r><\n>
5
0240000000
<\r><\n>
6
0561000000
<\r><\n>
7
0432000000
<\r><\n>
8
0344000000
<\r><\n>
9
0160000000
<\r><\n>
10
0320000000
<\r><\n>
Mensaje modificado, 24,abril 2017 - 16:57
Publicado el 24,abril 2017 - 21:40
Re bonjour,

ça doit fonctionner (voir le trace ci_dessous) mais ça ne m'affiche rien
dans mon champ combo de ma table, j'ai modifié le code comme suite :


Sans doute parce que rien dans le code ne SELECTIONNE une ligne de la
combo...

Donc, pour afficher la première ligne il faut ajouter un listeselectplus

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com

POUR nIndice = 1 A (TableOccurrence(TABLE_A))
HAnnuleDéclaration(REQ_Telephone)
Trace(TABLE_A.COL_ID[nIndice])
REQ_Telephone.ParamID = TABLE_A.COL_ID[nIndice]
HExécuteRequête(REQ_Telephone,hRequêteDéfaut)

sContenu est une chaîne = ""
HLitPremier(REQ_Telephone)
TANTQUE PAS HEnDehors(REQ_Telephone)
sContenu += REQ_Telephone.Libelle
HLitSuivant(REQ_Telephone)
SI PAS HEnDehors(REQ_Telephone) ALORS
sContenu += RC
FIN
FIN

TABLE_A.COL_Telephone[nIndice]=sContenu
ListeAffiche(TABLE_A.COL_Telephone)
Trace(TABLE_A.COL_Telephone[nIndice])
Trace(RC)
FIN


1
0491100020<\r><\n>0491100021<\r><\n>0491100022<\r><\n>049110023
<\r><\n>
2
0678000000
<\r><\n>
3
0389000000
<\r><\n>
4
0556000000
<\r><\n>
5
0240000000
<\r><\n>
6
0561000000
<\r><\n>
7
0432000000
<\r><\n>
8
0344000000
<\r><\n>
9
0160000000
<\r><\n>
10
0320000000
<\r><\n>