Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Valeur de table qui ne s'affiche pas (??)

2 réponses
Avatar
Loko
Bonjour

J'ai une table sur une entit=E9 avec dedans un champ "fictif" non reli=E9
=E0 un champ de mon entti=E9, juste pour affichage. Je souhaite y afficher
des infos par programmation. Ce champ est =E9galement en saisie.

Au chargement de ma fenetre je vais donc lire certaines donn=E9es pour
remplir le champ dans chaque ligne. Le probl=E8me est que la valeur ne
s'affiche jamais =E0 l'=E9cran.

Pourtant si je d=E9bogue et teste la valeur de ce champ (de cette
colonne) la valeur dans le d=E9bogueur est bonne, mais rien ne s'affiche
=E0 l'=E9cran. Lorsque je vais ensuite un test sur la valeur une fois que
la fenetre est affich=E9e la valeur est bizzarement devenue vide.

Pouvez vous m'aider =E0 comprendre ce qui se passe ?
Merci

Code (au chargement de la fen=EAtre):
POUR TOUTE LIGNE DE TABLE_LIGCDE
HLitRecherchePremier(REFLARTH,ART_CODE,TABLE_LIGCDE.COL_ART_CODE)
SI HTrouve(REFLARTH) ALORS
TABLE_LIGCDE.COL_ART_CODE_LARTH=3DREFLARTH.ART_CODE_LARTH
Info(TABLE_LIGCDE.COL_ART_CODE_LARTH)
FIN
FIN

2 réponses

Avatar
Pascal ROY
Loko a écrit :
Bonjour

J'ai une table sur une entité avec dedans un champ "fictif" non relié
à un champ de mon enttié, juste pour affichage. Je souhaite y afficher
des infos par programmation. Ce champ est également en saisie.

Au chargement de ma fenetre je vais donc lire certaines données pour
remplir le champ dans chaque ligne. Le problème est que la valeur ne
s'affiche jamais à l'écran.

Pourtant si je débogue et teste la valeur de ce champ (de cette
colonne) la valeur dans le débogueur est bonne, mais rien ne s'affiche
à l'écran. Lorsque je vais ensuite un test sur la valeur une fois que
la fenetre est affichée la valeur est bizzarement devenue vide.

Pouvez vous m'aider à comprendre ce qui se passe ?
Merci

Code (au chargement de la fenêtre):
POUR TOUTE LIGNE DE TABLE_LIGCDE
HLitRecherchePremier(REFLARTH,ART_CODE,TABLE_LIGCDE.COL_ART_CODE)
SI HTrouve(REFLARTH) ALORS
TABLE_LIGCDE.COL_ART_CODE_LARTH=REFLARTH.ART_CODE_LARTH
Info(TABLE_LIGCDE.COL_ART_CODE_LARTH)
FIN
FIN



Ce n'est pas dans le code d'initialisation mais d'affichage d'une ligne qu'il
faut que tu places le code, un peu epuré.
HLitRecherchePremier(REFLARTH,ART_CODE,TABLE_LIGCDE.COL_ART_CODE)
SI HTrouve(REFLARTH) ALORS
TABLE_LIGCDE.COL_ART_CODE_LARTH=REFLARTH.ART_CODE_LARTH
//Info(TABLE_LIGCDE.COL_ART_CODE_LARTH)
FIN
La ligne "Info" n'est pas nécessaire !


--
Pascal ROY
(Service Informatique - SODALEC)
Avatar
Loko
On 5 déc, 15:50, Pascal ROY wrote:
Loko a écrit :

> Bonjour

> J'ai une table sur une entité avec dedans un champ "fictif" non reli é
> à un champ de mon enttié, juste pour affichage. Je souhaite y affich er
> des infos par programmation. Ce champ est également en saisie.

> Au chargement de ma fenetre je vais donc lire certaines données pour
> remplir le champ dans chaque ligne. Le problème est que la valeur ne
> s'affiche jamais à l'écran.

> Pourtant si je débogue et teste la valeur de ce champ (de cette
> colonne) la valeur dans le débogueur est bonne, mais rien ne s'affiche
> à l'écran. Lorsque je vais ensuite un test sur la valeur une fois qu e
> la fenetre est affichée la valeur est bizzarement devenue vide.

> Pouvez vous m'aider à comprendre ce qui se passe ?
> Merci

> Code (au chargement de la fenêtre):
> POUR TOUTE LIGNE DE TABLE_LIGCDE
> HLitRecherchePremier(REFLARTH,ART_CODE,TABLE_LIGCDE.COL_ART_CODE)
> SI HTrouve(REFLARTH) ALORS
> TABLE_LIGCDE.COL_ART_CODE_LARTH=REFLARTH.ART_CODE_LARTH
> Info(TABLE_LIGCDE.COL_ART_CODE_LARTH)
> FIN
> FIN

Ce n'est pas dans le code d'initialisation mais d'affichage d'une ligne qu 'il
faut que tu places le code, un peu epuré.
HLitRecherchePremier(REFLARTH,ART_CODE,TABLE_LIGCDE.COL_ART_CODE)
SI HTrouve(REFLARTH) ALORS
TABLE_LIGCDE.COL_ART_CODE_LARTH=REFLARTH.ART_CODE_LARTH
//Info(TABLE_LIGCDE.COL_ART_CODE_LARTH)
FIN
La ligne "Info" n'est pas nécessaire !




Merci Pascal, effectivement cela marche bcp mieux comme cela !

Mais j'aimerais comprendre pourquoi mon code ne marchait pas. Je ne
l'avais pas mis dans la section "Initialisation" de ma table mais dans
le code de démarrage de ma fenetre. J'avais en fait un
TABLE_LIGCDE..RubriqueParcourue="ECD_NUM"
TABLE_LIGCDE..filtre=ENTCDE.ECD_NUM // je "fais la jointure" avec ma
table "mère" lue un peu avant
FichierVersEcran()

et ensuite ma boucle décrite ci-avant pour traiter toutes les lignes.

Ta solution fonctionne mais j'aimerais savoir pourquoi je ne pouvais
pas faire comme ca, remplir des champs de table au lancement de la
fenetre.

L.