Bonjour à toutes et à tous,
Je commence à m'essayer aux "Trigger serveur" en essayant de créer un fichier "LOG" qui enregistre toutes les modifications apportées au fichier de données "PRODUIT".
J'ai déclaré HDécritTriggerServeur dans l'initialisation de mon projet.
Dans l'analyse j'ai créé une procédure stockée et un trigger avant.
J'arrive à enregistrer dans le fichier LOG la date, l'heure, l'ID du produit dès que j'effectue une modification ou pas d'ailleurs(juste tentative). Autre chose, la modification est enregistrée deux fois???
Je pense qu'il faut que je récupère le nom de la rubrique modifié pour récupérer la valeur avant la modification pour les sauvegarder et pouvoir retrouver si besoin ses valeurs. Sachant que cette valeur peut être variable.
C'est donc là que je ne sais pas si c'est possible (bien qu'avec la fonction HListeRubrique on puisse récupérer la liste des rubriques, il doit bien être possible de récupérer le nom de la rubrique modifiée) et comment procéder.
J'ai quand même essayé des choses mais sans succès.
Voici ou j'en suis pour l'instant.
Merci pour vos bons conseils et votre aide pour m'accompagner vers la solution.
Code WINDEV : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 SELON H.FonctionTrigger CAS "HModifie" Trace("Modif") //Variable identification du produit nNumIDproduit est un entier nNumIDproduit = produit.IDproduit Trace("L'IDproduit est "+nNumIDproduit) //Variable nom de la rubrique modifiée sNomRubriqueModifiee est une chaîne POUR TOUT produit AVEC IDproduit = nNumIDproduit //Pour l'instant je récupère la valeur modifiée de la rubrique produit_ref_fournisseur, à rendre variable selon la rubrique Trace(produit.produit_ref_fournisseur) FIN LOG_FICHIER.LOG_FICHIER_Date = DateSys() LOG_FICHIER.LOG_FICHIER_Heure = HeureSys() //LOG_FICHIER.LOG_FICHIER__Rubrique = sNomRubriqueModifiee HAjoute(LOG_FICHIER) CAS "HAjoute" CAS "HSupprime" AUTRE CAS // Rien à faire FIN
Bonne journée
Gregus
Partager