|
HRequeteSQL hModifieFichier, ET TRIGGERS FONCTIONNE PAS ! |
Débuté par Sébastien, 05 avr. 2005 21:59 - 4 réponses |
| |
| | | |
|
| |
Posté le 05 avril 2005 - 21:59 |
Bonjour,
Mon code :
//Trouver nombre d'enregistrements affectés nbEnr est entier = 0 nbSuppr est entier = 0 ReqSelectSupprMasse est une Source de Données SI PAS HExécuteRequêteSQL(ReqSelectSupprMasse, hModifieFichier, "select * from " + nomTable + sConditions) ALORS Erreur("Incapable de supprimer les enregistrements. Erreur : " + HErreur()) FIN HLitPremier(ReqSelectSupprMasse) nbEnr = HNbEnr(ReqSelectSupprMasse) //Supprimer localement et triggers vont s'occuper du reste TANTQUE PAS HEnDehors(ReqSelectSupprMasse) SI HSupprime(ReqSelectSupprMasse) ALORS nbSuppr ++ FIN HLitSuivant(ReqSelectSupprMasse) FIN
Le trigger de HSupprime n'est JAMAIS délenché ? Pourquoi ? J'utilise bien HSupprime(). Le Trigger fonctionne bien, car je l'utilise ailleurs dans une fenetre RAD et pas de problèmes.
Installer le trigger:
ResultatTrigger est un booléen ResultatTrigger = HDécritTrigger("MaTableXXXX","HSUPPRIME","TablesAvantSuppr", hTriggerAvant)
SI ResultatTrigger = Faux ALORS Erreur("Incapable d'installer le Trigger : "+HErreurInfo) FIN
Merci pour votre aide !
Sébastien |
| |
| |
| | | |
|
| | |
| |
Posté le 06 avril 2005 - 14:00 |
Bonjour, Si mes souvenirs sont bons, un trigger appelle une procédure... du moteur de base de données.., modification, création, suppression.... (Hajoute, Hsupprime...)
Donc je ferais une procédure du style Fonction MaProcedure() // Trouver le nombre d'enregistrements affectés HexecuteRequete(MaRequetedeSelection,....) Si Hnbenr(MaRequetedeSelection)>0 alors hexecuteRequete(MaRequetedeSuppresion,.....) fin
qui serait appelée à la fin du code du bouton de suppresion
Ceci dit, si c'est pour supprimer des enregistrements dans des fichiers de liaisons, regarde la description de la liaison dans l'analyse ou tu peux préciser les actions à effectuer lors de la suppresion d'un enregistrement. |
| |
| |
| | | |
|
| | |
| |
Posté le 06 avril 2005 - 16:44 |
Bonjour,
Je pensais qu'un trigger était déclenché avant ou apres un HSupprime par exemple ? Dans ce cas, MaProcédure serait déclenchée normalement quand je supprime une fiche.
Cela marche bien pour les fiches RAD, mais quand je fais une requete, cela ne marche plus!
Merci pour vos réponses,
Sébastien |
| |
| |
| | | |
|
| | |
| |
Posté le 06 avril 2005 - 17:06 |
Sébastien avait écrit le 05/04/2005 :
Bonjour,
Mon code :
//Trouver nombre d'enregistrements affectés nbEnr est entier = 0 nbSuppr est entier = 0 ReqSelectSupprMasse est une Source de Données Installer le trigger:
ResultatTrigger est un booléen ResultatTrigger = HDécritTrigger("MaTableXXXX","HSUPPRIME","TablesAvantSuppr", hTriggerAvant)
A priori le trigger n'est pas défini sur ReqSelectSupprMasse, donc aucune raison qu'il se déclenche !
-- Pascal N0.pascal.SPAM@efpe.biz Ne garder que le prénom pour me joindre |
| |
| |
| | | |
|
| | |
| |
Posté le 09 avril 2005 - 11:02 |
Bonjour,
Sauf si je me trompe, j'aimerais BEAUCOUP ça, mais il est IMPOSSIBLE de définir un trigger sur autre chose qu'un fichier...si j'essaie, il plante avec le message: "n'est pas un fichier"
Comment faire ??
Merci infiniment pour votre aide !
Sébastien |
| |
| |
| | | |
|
| | | | |
| | |
|