Bonjour,
avant tout quelques remarques :
cette mise à jour ne serait-elle pas mieux dans un trigger AFTERUPDATE sur la table TVA ?
au niveau de la structure de la table sensu stricto il n'est jamais bon de mettre un champ de ce type, c'est à dire qui peut se calculer, il aurait été mieux de stocker le code TVA et une jonction CONSO table TVA aurait fait le boulot grâce à un SQL
pour ce qui est du SQL du code
a'
UPDATE CONSO SET CO_CODETVA='+QUotedStr(P_iCodeTVA)+',CO_TAUXTVA = :RESULT1,CO_PRIXDEVENTEHT = :RESULT2 WHERE CO_CODETVA ='+QuotedStr(P_IcodeTVA)
on s'embrouille entre les " et si c++ à la fonction quotedstr autant l'utiliser
a) tu n'es pas allé jusqu'au bout de ta démarche pour les paramètres ce qui aurait été mieux
UPDATE CONSO SET CO_CODETVA=:CODE,CO_TAUXTVA = :RESULT1,CO_PRIXDEVENTEHT = :RESULT2 WHERE CO_CODETVA =:CODE
b) pas la peine de mettre à jour le champ que tu met en recherche WHERE
UPDATE CONSO SET CO_TAUXTVA = :RESULT1,CO_PRIXDEVENTEHT = :RESULT2 WHERE CO_CODETVA =:CODE
enfin concernant l'erreur, lorsque je lis ce dernier SQL j'en déduit que que le TAUX de TVA doit être stocké dans la table CONSO il est donc fort probable que CO_PRIXDEVENTEHT soit un champ calculé (COMPUTED BY) et un champ calculé ne peut pas être modifié par SQL d'où l'erreur
et la réponse à ta question :
Il n'est pas possible de faire un update comme ci-dessus ?
Partager