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

Le
Loko
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pascal ROY
Le #14568751
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)
Loko
Le #14568741
On 5 déc, 15:50, 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 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.
Publicité
Poster une réponse
Anonyme