@Setfield

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

@Setfield

Messagepar Modest » 26 Déc 2002 à 16:11

Bonne Année 2003 à tous et particuliérement aux animatuers de ce forum , 3003 mercis pour leurs aides.J'ai deux champ : info (calculé) et jours(modifiable) , par un dblookup je récupére dans une vue une valeur placée dans info. J'aimerais qu'alors le champ jours prenne cette valeur .voila mon code "valeur par défaut de ce champ"FIELD jours:=jours;@If( info<>"0";"";@SetField("jours";info))il m'affiche 0 bien que j'ai une valeur dans le champ info.merci pour l'aide.modest
Modest
 

Re: @Setfield

Messagepar Stéphane » 26 Déc 2002 à 17:10

Tout d'abord en placant ton code dans l'évènement valeur par défaut ce code ne s'éffectue qu'une fois à la création du document (ou du champ si ajouté après coup).Quand, ou et comment effectus tu ton dblookup ?Ne se fait il qu'une fois, à la création du document ? (dans ce cas cela peut marcher si info est placé avant le champ jours).info et jours son des champs du meme document ?Note que cela semble le cas alors pourquoi ne pas affecter le champ info lorsque tu recuperes la valeur du dblookup et l'affecte au champ info ?...Bon mais sinon pour affecter à un champ une valeur (info) d'un autre champ (infos) à chaque modification du premier champ (info) il te faut soit utiliser un champ (jours) calculé soit affecter le champ (jours) en même temps que le champ initial (info).J'espère que tu me comprends...
Stéphane
 

Re: @Setfield

Messagepar Stéphane » 26 Déc 2002 à 17:12

Euhhh petite bourde avec les noms de champs, remplace :Note que cela semble le cas alors pourquoi ne pas affecter le champ info lorsque tu recuperes la valeur du dblookup et l'affecte au champ info ?...par :Note que cela semble le cas alors pourquoi ne pas affecter le champ JOURS lorsque tu recuperes la valeur du dblookup et l'affecte au champ info ?...sorry, résidus de lendemain de fêtes ;-)
Stéphane
 

Re: @Setfield

Messagepar Modest » 27 Déc 2002 à 09:41

merci pour la réponse , mais je vais simplement supprimer le champs "jours" et faire du champ "info" le champ référence pour les calculs suivants et lui affecter la valeur 0 si le dblookup= vide.sobre modest
Modest
 

Re: @Setfield

Messagepar Modest » 27 Déc 2002 à 10:03

Ma solution ne marche pas car info est un champ calculé donc non modifiable donc inutilisable pour un calcul. Je travail sur le WEBVoici le code "valeur" de mon champ "info"info:=@If(ANC="";"";@DbLookup("":"NoCache";"";"vuelk";ANC;2));@If(@IsError(info); "0" ;@Subset(info;-1));@setfield("jours";info)cette derniére ligne est pour attribuer la valeur du champ info au champ jours , mais cela me fait une erreur type "impossible d'afficher la page" si je la supprime la page s'affiche.Si le champ info est mis "modifiable " rien ne se passe par rapport au dblookup.Durs Durs les lendemains de fêtes. modest
Modest
 

Re: @Setfield

Messagepar Stéphane » 27 Déc 2002 à 11:40

Tout d'abord tu ne peuts utiliser @SetField qui si le champ est préalablement déclaré dans ta routine (FIELD ... := ...)Ton @Setfield génère donc une erreur et en plus risque de perturbé le contenu de ton champ info, ce dernier se remplissant avec la valeur retournée par ton code, qui risque bien ici d'être l'erreur retourné par le @Setfield.Ensuite voici plutôt le code que je te propose pour ton champ info :vRet:=@If(ANC="";"";@DbLookup("":"NoCache";"";"vuelk";ANC;2));vVal := @If(@IsError(vRet); "0" ;@Subset(vRet;-1));FIELD jours := vVal;vValEt dits moi si cela marche...
Stéphane
 


Retour vers Développement