| |
Posté le 25 janvier 2006 - 14:32 |
Bonjour,
quelqu'un voit il une anomalie dans mon code ??
HDécritTrigger("ENTREPRISES","HAJOUTE,HMODIFIE","TriggerENTREPRISES",hTriggerAvant) (code initialisation du projet)
PROCEDURE CalculEffectif()
//Calcul des effectifs dans la colonne Effectif
I est un entier NomChamp est une chaîne
POUR I 07 A 1996 PAS -1 NomChamp = "ENTREPRISES.Effectifs" + I SI {NomChamp} > 0 ALORS ENTREPRISES.Effectif = {NomChamp} SORTIR FIN FIN
SI 1<= ENTREPRISES.Effectif <=9 ALORS ENTREPRISES.TrancheEffectif1 = ENTREPRISES.Effectif SINON SI 10<= ENTREPRISES.Effectif <I ENTREPRISES.TrancheEffectif2 = ENTREPRISES.Effectif SINON SI 50<= ENTREPRISES.Effectif <9 ENTREPRISES.TrancheEffectif3 = ENTREPRISES.Effectif SINON SI 200<= ENTREPRISES.Effectif <= 499 ENTREPRISES.TrancheEffectif4 = ENTREPRISES.Effectif SINON SI 500<= ENTREPRISES.Effectif <= 40000 ENTREPRISES.TrancheEffectif5 = ENTREPRISES.Effectif FIN
PROCEDURE TriggerENTREPRISES() qui fait appel à la PROCEDURE CalculEffectif (dans la partie affichage d'une ligne (table)
merci |
| |
| |
| | | |
|
| | |
| |
Posté le 25 janvier 2006 - 16:29 |
Manque-t-il un bout de code que tu aurais voulu nous envoyer ? Où est ton erreur exactement ?
1) Si l'erreur est que ton trigger n'est pas appelé, je ne vois pas aucune commande hmodifie dans ton code...
2) Si c'est dans l'init du projet, essaies de reprendre le retour de ton hdécrittrigger dans un booleen et vérifies que le booléen est à Vrai...
Sinon précides ta question ?
Luc |
| |
| |
| | | |
|
| | |
| |
Posté le 26 janvier 2006 - 17:27 |
Bonjour
// Création du Trigger pour tous les fichiers de l'analyse LOCAL ResultatTrigger est un booléen
ResultatTrigger = HDécritTrigger("ENTREPRISES","HAJOUTE,HMODIFIE","CalculEffectif",hTriggerAprès) SI ResultatTrigger = Vrai ALORS Info("ERREUR SUR LE TRIGGER")// Erreur("Erreur sur un trigger : "+HErreurInfo) RETOUR FIN quand j'ajoute le rélutatTrigger et que je lance un test "tracer le projet" la valeur de RésultatTrigger est Faux
Comment réparer cet état de fait ??
merci à l'avance |
| |
| |
| | | |
|
| | |
| |
Posté le 26 janvier 2006 - 17:27 |
// Création du Trigger pour tous les fichiers de l'analyse LOCAL ResultatTrigger est un booléen
ResultatTrigger = HDécritTrigger("ENTREPRISES","HAJOUTE,HMODIFIE","CalculEffectif",hTriggerAprès) SI ResultatTrigger = Vrai ALORS Info("ERREUR SUR LE TRIGGER")// Erreur("Erreur sur un trigger : "+HErreurInfo) RETOUR FIN
en fin de test mon booléen est à faux
merci à l'avance |
| |
| |
| | | |
|
| | |
| |
Posté le 26 janvier 2006 - 20:54 |
Résultat = Vrai si l'opération a été réalisée, Faux en cas de problème. La fonction HErreurInfo permet d'identifier l'erreur.
Donc si faux, tu as une erreur à la définition de ton trigger...
Si je regarde ton code, tu affiche l'erreur si RésultatTrigger = Vrai... Tu dois afficher l'erreur si le résultat est Faux, ce qui est ton cas.
Ensuite tu nous diras ce que contient le herreurinfo.
Luc |
| |
| |
| | | |
|
| | |
| |
Posté le 27 janvier 2006 - 11:48 |
Bonjour, et merci de m'aider
LOCAL ResultatTrigger est un booléen
HDécritTrigger("ENTREPRISES","HAjoute,HModifie","CalculEffectif",hTriggerAvant) SI ResultatTrigger = Faux ALORS Erreur("Erreur sur un trigger : "+HErreurInfo) RETOUR FIN
le débogueur m'indique ResultatTrigger = Faux HNumEnr = -1 Hendehors = Faux Herreur = 0
donc apparamment le trigger n'est pas pris en compte lors de l'initialisation du projet |
| |
| |
| | | |
|
| | |
| |
Posté le 27 janvier 2006 - 12:48 |
ERIC LECLERCQ a formulé la demande :
Bonjour, et merci de m'aider
LOCAL ResultatTrigger est un booléen
HDécritTrigger("ENTREPRISES","HAjoute,HModifie","CalculEffectif",hTriggerAvant) SI ResultatTrigger = Faux ALORS Erreur("Erreur sur un trigger : "+HErreurInfo) RETOUR FIN
le débogueur m'indique ResultatTrigger = Faux HNumEnr = -1 Hendehors = Faux Herreur = 0
donc apparamment le trigger n'est pas pris en compte lors de l'initialisation du projet
Ton fichier "ENTREPRISES" existe t il bien dans l'analyse attachée au projet? La procédure "CalculEffectif" est elle bien dans une collections de procédures du projet (et non dans un composant) ? Quel est le message retourné par HerreurInfo ?
-- Pascal N0.pascal.SPAM@efpe.biz Ne garder que le prénom pour me joindre |
| |
| |
| | | |
|
| | |
| |
Posté le 27 janvier 2006 - 15:03 |
Bonjour
Le fichier ENTREPRISES est dans l'analyse (aucun problème)
et la procédure CalculEffectif est dans la collection de procédure globale du projet
merci |
| |
| |
| | | |
|
| | |
| |
Posté le 27 janvier 2006 - 15:54 |
ERIC LECLERCQ a pensé très fort :
Bonjour
Le fichier ENTREPRISES est dans l'analyse (aucun problème)
et la procédure CalculEffectif est dans la collection de procédure globale du projet
merci
Actuellement je déclare mes triggers dans une procédure globale d'un composant // on décrit le trigger de Log HDécritTrigger("*","HAjoute,Hmodifie","pTIME_STAMP",hTriggerAvant)
Cette procédure globale est appellée lors de l'ouverture du projet qui appelle le composant qui sert au login, vérification de licence, etc...
Elle sert à mettre un time stamp sur tous les enregistrements et elle fonctionne parfaitement. par contre je n'ai pas testé la valeur renvoyée parla déclaration du trigger.
Maintenant, si ton problème est que le trigger n'est pas appelé ainsi que le demandait Luc, il ne peut être appelé qu'au moment ou tu fais un HaAjoute ou un hModifie mais en aucun cas lorsque tu parcours une table même si c'est une table fichier. Si tu souhaite exécuter ton code lors du parcours ou de l'affichage, il faut appeler ta procédure dans le code correspondant de la table (sélection ou affichage)
-- Pascal N0.pascal.SPAM@efpe.biz Ne garder que le prénom pour me joindre |
| |
| |
| | | |
|
| | |
| |
Posté le 30 janvier 2006 - 12:19 |
Bonjour,
OK pour la procèdure, mais comment la lancer lors de l'initialisation ?
si je mets le nom de la procèdure dans le code d'initialisation, il n'y a pas d'erreur
mais rien ne se fait et le résultat en mode test tracer le projet m'indique la valeur
faux comme le trigger j'ai cherché partout de la doc mais rien !
je suis complètement bloqué sur la construction de l'appli
merci encore |
| |
| |
| | | |
|
| | |
| |
Posté le 30 janvier 2006 - 15:33 |
Bonjour,
mon problème est le suivant :
j'ai un calcul qui se fait sur la table fichier (calcul des effectifs les plus récents dans une colonne)
je sais qu'il est possible de le faire sur une table issue d'une requette mais mon problème est qu'il faut que j'ai le calcul fait avant la requette pour passer des parametres sur les résultats de ces calculs ex : tranche effectif de 0 à 10
c'est pour cela que j'ai besoin d'un trigger qui lance le calcul à l'ouverture de l'application
et que lorsque j'établis une requette je puisse avoir un choix de valeur sur la rubrique
merci |
| |
| |
| | | |
|
| | |
| |
Posté le 30 janvier 2006 - 16:26 |
ERIC LECLERCQ a pensé très fort :
Bonjour,
mon problème est le suivant :
j'ai un calcul qui se fait sur la table fichier (calcul des effectifs les plus récents dans une colonne)
je sais qu'il est possible de le faire sur une table issue d'une requette mais mon problème est qu'il faut que j'ai le calcul fait avant la requette pour passer des parametres sur les résultats de ces calculs ex : tranche effectif de 0 à 10
c'est pour cela que j'ai besoin d'un trigger qui lance le calcul à l'ouverture de l'application
et que lorsque j'établis une requette je puisse avoir un choix de valeur sur la rubrique
merci
Ce n'est pas un trigger qui fera ça. C'est une procédure qui sera lancée au démarrage de l'appli.
-- Pascal N0.pascal.SPAM@efpe.biz Ne garder que le prénom pour me joindre |
| |
| |
| | | |
|
| | |
| |
Posté le 06 février 2006 - 15:10 |
ERIC LECLERCQ a couché sur son écran :
Bonjour,
OK pour la procèdure, mais comment la lancer lors de l'initialisation ?
si je mets le nom de la procèdure dans le code d'initialisation, il n'y a pas d'erreur
mais rien ne se fait et le résultat en mode test tracer le projet m'indique la valeur
faux comme le trigger j'ai cherché partout de la doc mais rien !
je suis complètement bloqué sur la construction de l'appli
merci encore
Pas facile avec les éléments que tu donnes! Ce qui està faire si j'ai compris ton problème, c'est une procédure qui doit être lancé lors de l'ouverture de la fenetre ou de l'appli et qui stocke dans une liste un tableau ou un fichier les trancehes ou le résultat que tu souhaites.
-- Pascal N0.pascal.SPAM@efpe.biz Ne garder que le prénom pour me joindre |
| |
| |
| | | |
|
| | |