Bonjour
Je travaille avec MSDE 2000 géré par Access.
J'ai une table Contrats et une table Commandes. Des commandes peuvent être
enregistrées, liées ou non à un contrat.
Je souhaite utiliser un déclencheur pour mettre ma table contrats à jour
avec les qtés commandées, à chaque ajout de commande.
Je pensais utiliser ceci:
Le déclencheur fonctionne lorsque j'ai un numéro de contrat dans ma table de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ALTER TRIGGER AjoutCommande ON dbo.tCommandes for insert as update tcontrats set concdeqte = inserted.comqte from tcontrats inner join inserted on tcontrats.conid = inserted.conid
commandes. Par contre, lorsque ma commande n'est pas liée à un contrat, j'ai
un message qui me dit, en substance:
"Conflit d'écriture: Cet enregistrement a été modifié par un autre
utilisateur...Si vous continuez, vous remplacerez les données de l'autre
utilisateur..."
Si j'annule, ma commande est bien enregistrée, si je réponds "sauvegarder
l'enregistrement", il me le sauve une deuxième fois...
C'est évidemment gênant pour l'utilisateur final d'avoir ce genre de
messages...
Est-ce dû à mon déclencheur? J'ai essayé avec
if update(conid)
update ...
Mais je n'arrive pas à fermer mon bloc IF. Si je mets END, il refuse, ENDIF
aussi.
Merci pour l'aide que vous pourrez m'apporter.
Partager