OVH Cloud OVH Cloud

Requête UPDATE

4 réponses
Avatar
Fabrice
Bonjour,=20

Lorsque j'ex=E9cute la requ=EAte ci-dessous, Access me=20
retourne le message suivant : "Operation must use an=20
updatable query". Le but est de calculer le prix d'un=20
produit qui est compos=E9 de plusieurs produits.

La table PRD_PC a pour cl=E9 les champs PDT_COD, PDT_SUF,=20
PC_COD et PC_DAT_DEB
La table PRD_ENSEMBLE a pour cl=E9 les champs PDT_COD,=20
PDT_SUF, PEP_COD et PEP_SUF.

UPDATE PRD_PC SET PC_PRX =3D (SELECT SUM(PC.PC_PRX *=20
E.PEP_QTE) AS PRXENS=20
FROM PRD_ENSEMBLE E INNER JOIN PRD_PC PC ON (E.PDT_COD =3D=20
PC.PDT_COD AND E.PDT_SUF =3D PC.PDT_SUF)=20
WHERE E.PEP_COD =3D '95001'=20
AND E.PEP_SUF =3D 0=20
AND PC.PC_COD =3D 'L'=20
AND (CLNG(PC.PC_DAT_DEB) <=3D 37957=20
AND CLNG(PC.PC_DAT_FIN) >=3D 37957))
WHERE PDT_COD =3D '95001'=20
AND PDT_SUF =3D 0=20
AND PC_COD =3D 'L'=20
AND (CLNG(PC_DAT_DEB) <=3D 37957=20
AND CLNG(PC_DAT_FIN) >=3D 37957);

Je n'arrive pas =E0 trouver la cause de l'erreur. Merci de=20
m'aider.

4 réponses

Avatar
Rv
Re Fabrice,

As tu testé la réponse donnée dans le fil "requête de mise à jour" de
16h53.

A+
Rv


"Fabrice" a écrit dans le message de
news:0c5201c3b8ed$be073850$
Bonjour,

Lorsque j'exécute la requête ci-dessous, Access me
retourne le message suivant : "Operation must use an
updatable query". Le but est de calculer le prix d'un
produit qui est composé de plusieurs produits.

La table PRD_PC a pour clé les champs PDT_COD, PDT_SUF,
PC_COD et PC_DAT_DEB
La table PRD_ENSEMBLE a pour clé les champs PDT_COD,
PDT_SUF, PEP_COD et PEP_SUF.

UPDATE PRD_PC SET PC_PRX = (SELECT SUM(PC.PC_PRX *
E.PEP_QTE) AS PRXENS
FROM PRD_ENSEMBLE E INNER JOIN PRD_PC PC ON (E.PDT_COD PC.PDT_COD AND E.PDT_SUF = PC.PDT_SUF)
WHERE E.PEP_COD = '95001'
AND E.PEP_SUF = 0
AND PC.PC_COD = 'L'
AND (CLNG(PC.PC_DAT_DEB) <= 37957
AND CLNG(PC.PC_DAT_FIN) >= 37957))
WHERE PDT_COD = '95001'
AND PDT_SUF = 0
AND PC_COD = 'L'
AND (CLNG(PC_DAT_DEB) <= 37957
AND CLNG(PC_DAT_FIN) >= 37957);

Je n'arrive pas à trouver la cause de l'erreur. Merci de
m'aider.
Avatar
Fabrice
J'ai effectivement vérifié les parenthèses de la sous
requête, mais elles sont ok pour moi !
Si j'ajoute ou si j'enlève une parenthèse, j'ai le
message "Missing ),] or item in query expression ..."
De plus, j'ai le même nombre de parenthèses ouvrantes que
fermantes.

-----Message d'origine-----
Re Fabrice,

As tu testé la réponse donnée dans le fil "requête de
mise à jour" de

16h53.

A+
Rv


"Fabrice" a écrit dans le
message de

news:0c5201c3b8ed$be073850$
Bonjour,

Lorsque j'exécute la requête ci-dessous, Access me
retourne le message suivant : "Operation must use an
updatable query". Le but est de calculer le prix d'un
produit qui est composé de plusieurs produits.

La table PRD_PC a pour clé les champs PDT_COD, PDT_SUF,
PC_COD et PC_DAT_DEB
La table PRD_ENSEMBLE a pour clé les champs PDT_COD,
PDT_SUF, PEP_COD et PEP_SUF.

UPDATE PRD_PC SET PC_PRX = (SELECT SUM(PC.PC_PRX *
E.PEP_QTE) AS PRXENS
FROM PRD_ENSEMBLE E INNER JOIN PRD_PC PC ON (E.PDT_COD =
PC.PDT_COD AND E.PDT_SUF = PC.PDT_SUF)
WHERE E.PEP_COD = '95001'
AND E.PEP_SUF = 0
AND PC.PC_COD = 'L'
AND (CLNG(PC.PC_DAT_DEB) <= 37957
AND CLNG(PC.PC_DAT_FIN) >= 37957))
WHERE PDT_COD = '95001'
AND PDT_SUF = 0
AND PC_COD = 'L'
AND (CLNG(PC_DAT_DEB) <= 37957
AND CLNG(PC_DAT_FIN) >= 37957);

Je n'arrive pas à trouver la cause de l'erreur. Merci de
m'aider.


.



Avatar
Rv
J'ai mal lu désolé.

A+

Rv

"Fabrice" a écrit dans le message de
news:b43e01c3b8f1$f73dd6c0$
J'ai effectivement vérifié les parenthèses de la sous
requête, mais elles sont ok pour moi !
Si j'ajoute ou si j'enlève une parenthèse, j'ai le
message "Missing ),] or item in query expression ..."
De plus, j'ai le même nombre de parenthèses ouvrantes que
fermantes.

-----Message d'origine-----
Re Fabrice,

As tu testé la réponse donnée dans le fil "requête de
mise à jour" de

16h53.

A+
Rv


"Fabrice" a écrit dans le
message de

news:0c5201c3b8ed$be073850$
Bonjour,

Lorsque j'exécute la requête ci-dessous, Access me
retourne le message suivant : "Operation must use an
updatable query". Le but est de calculer le prix d'un
produit qui est composé de plusieurs produits.

La table PRD_PC a pour clé les champs PDT_COD, PDT_SUF,
PC_COD et PC_DAT_DEB
La table PRD_ENSEMBLE a pour clé les champs PDT_COD,
PDT_SUF, PEP_COD et PEP_SUF.

UPDATE PRD_PC SET PC_PRX = (SELECT SUM(PC.PC_PRX *
E.PEP_QTE) AS PRXENS
FROM PRD_ENSEMBLE E INNER JOIN PRD_PC PC ON (E.PDT_COD >PC.PDT_COD AND E.PDT_SUF = PC.PDT_SUF)
WHERE E.PEP_COD = '95001'
AND E.PEP_SUF = 0
AND PC.PC_COD = 'L'
AND (CLNG(PC.PC_DAT_DEB) <= 37957
AND CLNG(PC.PC_DAT_FIN) >= 37957))
WHERE PDT_COD = '95001'
AND PDT_SUF = 0
AND PC_COD = 'L'
AND (CLNG(PC_DAT_DEB) <= 37957
AND CLNG(PC_DAT_FIN) >= 37957);

Je n'arrive pas à trouver la cause de l'erreur. Merci de
m'aider.


.



Avatar
J-Pierre
Bonsoir,

Pour autant que je sache, tu ne peux pas utiliser les fonctions d'aggrégations dans une requête UPDATE

J-Pierre