Re: Trigger et Table

Posté par R&B le 6/10/2005 10:21:23
Bonjour.
Cela ressemble à un dysfonctionnement qu'il faudrait vérifier.
Ayant pris l'habitude de ne pas utiliser les tables en saisie sur les fichiers de données, je n'ai pu constater ce phénomène, désolé (et ouf !).

Une solution : mettre une globales dans la fenêtre table qui récupère l'ID de l'enregistrement en cours de modification (à affecter via le code d'entrée en saisie d'une ligne). Il devrait contenir 0 en création d'enregistrement :
// Initilisation fenêtre TABLE_FICHIER
fnIDFICHIER est un entier non signé sur 8
...

// Entrée en saisie dans une ligne de TABLE
fnIDFICHIER = FICHIER.IDFICHIER


Dans la procédure trigger, évaluer le nom de la fenêtre en cours et alors y récupérer l'ID stocké pour ne traiter que celui-ci :

PROCEDURE Triggerxxx(params)
... // évalue on a déclenché via la fenêtre TABLE_FICHEIR
SI FenEnCours()="TABLE_FICHIER" ALORS
   // ignore les enregistrement ne correspondants pas à celuis en cours de saisie
   Si Table_FICHIER.gnIDFICHIER ET FICHIER.IDFICHIER<>Table_FICHIER.gnIDFICHIER ALORS RETOUR
FIN
... Suite du traitement du trigger (cette fois ci pour le bon enregistrement si on est dans la fenêtre)



Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=12&topic_id=2827&post_id=11833