2017-10-15 6 views
0

Je travaille sur Forms 6i sur un logiciel très ancien.
Il est nécessaire d'ajouter 3 éléments de liste (liste déroulante) au formulaire.
Si la valeur de l'élément de liste X est modifiée, alors sur WHEN_VALIDATE_ITEM, j'ai besoin de changer la valeur de l'élément de liste Y.
Voici le code mais cela ne fonctionne pas.Comment modifier la valeur de l'élément de liste sur WHEN_VALIDATE_ITEM

BEGIN 
IF :PIH.TEXT_ITEM1544='Book' THEN 
Copy('Own Use',Name_In('PIH.TEXT_ITEM1546')); 
END IF; 
END; 

Il n'y a pas d'erreur dans la compilation, mais je crois que lorsque je sélectionne le livre de valeur et appuyez sur Entrée ou onglet et aller à un autre champ, rien ne se déclenche.

Toute aide serait vraiment appréciable.

Répondre

0

Que voulez-vous faire exactement? Si vous souhaitez affecter la valeur 'Own Use' à l'élément PIH.TEXT_ITEM1546 vous pouvez le faire avec:

:PIH.TEXT_ITEM1546 := 'Own Use'; 

Ou avec:

Copy('Own Use','PIH.TEXT_ITEM1546') 

La déclaration que vous utilisez:

Copy('Own Use',Name_In('PIH.TEXT_ITEM1546')); 

est essayer de copier la valeur 'Own Use' à l'élément référencé par PIH.TEXT_ITEM1546, c.-à-d., il essaie de copier la valeur à un élément nommé comme la valeur sto rouge dans l'article PIH.TEXT_ITEM1546.

La fonction Name_In obtient la valeur de l'élément spécifié.