Re: procedure locale pour validation

Posté par drcharly93 le 3/11/2004 21:14:23
Bonjour,

Cette fonction est a appeler dans la fonction locale RADEnregistre de la fenêtre Fiche_LigneDepense
SI PAS IsMontantOK(Iddep..ValeurAffichée,Montligndep) ALORS
 Info("Le montant n'est pas correct")
 RENVOYER Faux
FIN


Le code de la fonction est le suivant:
PROCEDURE IsMontantOK(pIdDepense,pMontantDepense)
Rsl est une Source de Données
Sql est une chaîne
nMontantVentile est un monétaire
nSommeDejaSaisies est un monétaire
 
Sql = "SELECT Depense.Montligndep AS MontantVentile FROM Depense WHERE IDDep = " + pIdDepense
 
SI PAS HExécuteRequêteSQL(Rsl,hRequêteDéfaut,Sql) ALORS
 Erreur(HErreurInfo())
 RENVOYER Faux
FIN
HLitPremier(Rsl)
SI HEnDehors(Rsl) ALORS RENVOYER Faux   //Enregistrement non trouvé Il y a un problème
 
nMontantVentile = Rsl.MontantVentile
Sql = "SELECT SUM(Montligndep) AS SommeDepense FROM LigneDepense WHERE iddep = " + pIdDepense
SI PAS HExécuteRequêteSQL(Rsl,hRequêteDéfaut,Sql) ALORS
 Erreur(HErreurInfo())
 RENVOYER Faux
FIN
HLitPremier(Rsl)
SI HEnDehors(Rsl) ALORS RENVOYER Faux   //Enregistrement non trouvé Il y a un problème
nSommeDejaSaisies = Rsl.SommeDepense
SI nSommeDejaSaisies+pMontantDepense>nMontantVentile ALORS
 Info("ATTENTION : L'ajout de ce montant va dépasser le montant voté !")
 RENVOYER Faux
FIN
RENVOYER Vrai


A toi d'y apporter les modifications nécessaires.

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=5&topic_id=1428&post_id=5936