Lorsque je tente d'ex=E9cuter une requete de mise =E0 jour du=20
type une sous-requete met =E0 jour certains champs d'une=20
table, j'ai le message suivant "L'op=E9ration doit utiliser=20
une requete qui peut =EAtre mise =E0 jour" ??
Visiblement d'apr=E8s l'aide access, cela proviendrait de=20
ma relation entre cette sous-requete et la table, une=20
relation de 1 =E0 1 sachant que cette sous-requete ne=20
comporte =E0 chaque fois qu'un seul enregistrement. Comment=20
puis-je m'en sortir ??
L'un d'entre vous aurait-il d=E9j=E0 rencontr=E9 ce pb ??
=E9ric
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Walsh
Salut,
Je ne comprends pas le concept d'une sous-requête mettant à jour des enregistrements. Probablement une question de terminologie. Est-ce qu'on peut avoir un exemple, même esquissé, de l'énoncé SQL?
Une sous-requête ne peut être qu'un énoncé SELECT, ne peut pas être un UPDATE.
Espérant être utile, Vanderghast, Access MVP
"éric" wrote in message news:160901c49b2b$b81f3b10$ bonjour,
Lorsque je tente d'exécuter une requete de mise à jour du type une sous-requete met à jour certains champs d'une table, j'ai le message suivant "L'opération doit utiliser une requete qui peut être mise à jour" ??
Visiblement d'après l'aide access, cela proviendrait de ma relation entre cette sous-requete et la table, une relation de 1 à 1 sachant que cette sous-requete ne comporte à chaque fois qu'un seul enregistrement. Comment puis-je m'en sortir ??
L'un d'entre vous aurait-il déjà rencontré ce pb ?? éric
Salut,
Je ne comprends pas le concept d'une sous-requête mettant à jour des
enregistrements. Probablement une question de terminologie. Est-ce qu'on
peut avoir un exemple, même esquissé, de l'énoncé SQL?
Une sous-requête ne peut être qu'un énoncé SELECT, ne peut pas être un
UPDATE.
Espérant être utile,
Vanderghast, Access MVP
"éric" <eric_leroy74@hotmail.com> wrote in message
news:160901c49b2b$b81f3b10$a601280a@phx.gbl...
bonjour,
Lorsque je tente d'exécuter une requete de mise à jour du
type une sous-requete met à jour certains champs d'une
table, j'ai le message suivant "L'opération doit utiliser
une requete qui peut être mise à jour" ??
Visiblement d'après l'aide access, cela proviendrait de
ma relation entre cette sous-requete et la table, une
relation de 1 à 1 sachant que cette sous-requete ne
comporte à chaque fois qu'un seul enregistrement. Comment
puis-je m'en sortir ??
L'un d'entre vous aurait-il déjà rencontré ce pb ??
éric
Je ne comprends pas le concept d'une sous-requête mettant à jour des enregistrements. Probablement une question de terminologie. Est-ce qu'on peut avoir un exemple, même esquissé, de l'énoncé SQL?
Une sous-requête ne peut être qu'un énoncé SELECT, ne peut pas être un UPDATE.
Espérant être utile, Vanderghast, Access MVP
"éric" wrote in message news:160901c49b2b$b81f3b10$ bonjour,
Lorsque je tente d'exécuter une requete de mise à jour du type une sous-requete met à jour certains champs d'une table, j'ai le message suivant "L'opération doit utiliser une requete qui peut être mise à jour" ??
Visiblement d'après l'aide access, cela proviendrait de ma relation entre cette sous-requete et la table, une relation de 1 à 1 sachant que cette sous-requete ne comporte à chaque fois qu'un seul enregistrement. Comment puis-je m'en sortir ??
L'un d'entre vous aurait-il déjà rencontré ce pb ?? éric
éric
bonjour,
en fait j'ai d'abord une requête de sélection (SELECT) que j'intègre ensuite à une requête de mise à jour (UPDATE), c'est la première requête (SELECT) que j'ai appelé sous-requête. Et c'est en lançant la requête de mise à jour (qui intégre donc la sous-requête) que j'ai le message d'erreur suivant "L'opération doit utiliser une requete qui peut être mise à jour".
le code de la sous-requëte appelée ° ALTItoEP inForm est le suivant: SELECT LIMITE.NUM_OP, Max(IIf([ALTI]![ALTI_SOL]<>0 And [ALTI]![ALTI_VES]<>0,[ALTI]![ALTI_SOL]-[ALTI]! [ALTI_VES],999)) AS STER_EPMAX, Min(IIf([ALTI]![ALTI_SOL] <>0 And [ALTI]![ALTI_VES]<>0,[ALTI]![ALTI_SOL]-[ALTI]! [ALTI_VES],999)) AS STER_EPMIN, Max(IIf([ALTI]![ALTI_VES] <>0 And [ALTI]![ALTI_SUB]<>0,[ALTI]![ALTI_VES]-[ALTI]! [ALTI_SUB],999)) AS ARCHEO_EPMAX, Min(IIf([ALTI]! [ALTI_VES]<>0 And [ALTI]![ALTI_SUB]<>0,[ALTI]![ALTI_VES]- [ALTI]![ALTI_SUB],999)) AS ARCHEO_EPMIN FROM OPERATION INNER JOIN (LIMITE INNER JOIN ALTI ON LIMITE.NUM_LIM = ALTI.NUM_LIM) ON OPERATION.NUM_OP = LIMITE.NUM_OP GROUP BY LIMITE.NUM_OP HAVING (((LIMITE.NUM_OP)=[forms]![LIM+SOND]![NUM_OP]));
le code de la requête de mise à jour qui intègre donc la sous-requête de sélection: UPDATE [° ALTItoEP inForm] INNER JOIN EPAISSEUR ON [° ALTItoEP inForm].NUM_OP = EPAISSEUR.NUM_OP SET EPAISSEUR.STER_EPMAX = [° ALTItoEP inForm]![STER_EPMAX], EPAISSEUR.STER_EPMIN = [° ALTItoEP inForm]![STER_EPMIN], EPAISSEUR.ARCHEO_EPMAX = [° ALTItoEP inForm]! [ARCHEO_EPMAX], EPAISSEUR.ARCHEO_EPMIN = [° ALTItoEP inForm]![ARCHEO_EPMIN] WHERE (((EPAISSEUR.NUM_OP)=[forms]![LIM+SOND]![NUM_OP]));
voilà, en espérant avoir été plus clair. merci éric
-----Message d'origine----- Salut,
Je ne comprends pas le concept d'une sous-requête mettant à jour des
enregistrements. Probablement une question de terminologie. Est-ce qu'on
peut avoir un exemple, même esquissé, de l'énoncé SQL?
Une sous-requête ne peut être qu'un énoncé SELECT, ne peut pas être un
UPDATE.
Espérant être utile, Vanderghast, Access MVP
"éric" wrote in message news:160901c49b2b$b81f3b10$ bonjour,
Lorsque je tente d'exécuter une requete de mise à jour du type une sous-requete met à jour certains champs d'une table, j'ai le message suivant "L'opération doit utiliser une requete qui peut être mise à jour" ??
Visiblement d'après l'aide access, cela proviendrait de ma relation entre cette sous-requete et la table, une relation de 1 à 1 sachant que cette sous-requete ne comporte à chaque fois qu'un seul enregistrement. Comment puis-je m'en sortir ??
L'un d'entre vous aurait-il déjà rencontré ce pb ?? éric
.
bonjour,
en fait j'ai d'abord une requête de sélection (SELECT)
que j'intègre ensuite à une requête de mise à jour
(UPDATE), c'est la première requête (SELECT) que j'ai
appelé sous-requête. Et c'est en lançant la requête de
mise à jour (qui intégre donc la sous-requête) que j'ai
le message d'erreur suivant "L'opération doit utiliser
une requete qui peut être mise à jour".
le code de la sous-requëte appelée ° ALTItoEP inForm est
le suivant:
SELECT LIMITE.NUM_OP, Max(IIf([ALTI]![ALTI_SOL]<>0 And
[ALTI]![ALTI_VES]<>0,[ALTI]![ALTI_SOL]-[ALTI]!
[ALTI_VES],999)) AS STER_EPMAX, Min(IIf([ALTI]![ALTI_SOL]
<>0 And [ALTI]![ALTI_VES]<>0,[ALTI]![ALTI_SOL]-[ALTI]!
[ALTI_VES],999)) AS STER_EPMIN, Max(IIf([ALTI]![ALTI_VES]
<>0 And [ALTI]![ALTI_SUB]<>0,[ALTI]![ALTI_VES]-[ALTI]!
[ALTI_SUB],999)) AS ARCHEO_EPMAX, Min(IIf([ALTI]!
[ALTI_VES]<>0 And [ALTI]![ALTI_SUB]<>0,[ALTI]![ALTI_VES]-
[ALTI]![ALTI_SUB],999)) AS ARCHEO_EPMIN
FROM OPERATION INNER JOIN (LIMITE INNER JOIN ALTI ON
LIMITE.NUM_LIM = ALTI.NUM_LIM) ON OPERATION.NUM_OP =
LIMITE.NUM_OP
GROUP BY LIMITE.NUM_OP
HAVING (((LIMITE.NUM_OP)=[forms]![LIM+SOND]![NUM_OP]));
le code de la requête de mise à jour qui intègre donc la
sous-requête de sélection:
UPDATE [° ALTItoEP inForm] INNER JOIN EPAISSEUR ON [°
ALTItoEP inForm].NUM_OP = EPAISSEUR.NUM_OP SET
EPAISSEUR.STER_EPMAX = [° ALTItoEP inForm]![STER_EPMAX],
EPAISSEUR.STER_EPMIN = [° ALTItoEP inForm]![STER_EPMIN],
EPAISSEUR.ARCHEO_EPMAX = [° ALTItoEP inForm]!
[ARCHEO_EPMAX], EPAISSEUR.ARCHEO_EPMIN = [° ALTItoEP
inForm]![ARCHEO_EPMIN]
WHERE (((EPAISSEUR.NUM_OP)=[forms]![LIM+SOND]![NUM_OP]));
voilà, en espérant avoir été plus clair.
merci
éric
-----Message d'origine-----
Salut,
Je ne comprends pas le concept d'une sous-requête
mettant à jour des
enregistrements. Probablement une question de
terminologie. Est-ce qu'on
peut avoir un exemple, même esquissé, de l'énoncé SQL?
Une sous-requête ne peut être qu'un énoncé SELECT,
ne peut pas être un
UPDATE.
Espérant être utile,
Vanderghast, Access MVP
"éric" <eric_leroy74@hotmail.com> wrote in message
news:160901c49b2b$b81f3b10$a601280a@phx.gbl...
bonjour,
Lorsque je tente d'exécuter une requete de mise à jour du
type une sous-requete met à jour certains champs d'une
table, j'ai le message suivant "L'opération doit utiliser
une requete qui peut être mise à jour" ??
Visiblement d'après l'aide access, cela proviendrait de
ma relation entre cette sous-requete et la table, une
relation de 1 à 1 sachant que cette sous-requete ne
comporte à chaque fois qu'un seul enregistrement. Comment
puis-je m'en sortir ??
L'un d'entre vous aurait-il déjà rencontré ce pb ??
éric
en fait j'ai d'abord une requête de sélection (SELECT) que j'intègre ensuite à une requête de mise à jour (UPDATE), c'est la première requête (SELECT) que j'ai appelé sous-requête. Et c'est en lançant la requête de mise à jour (qui intégre donc la sous-requête) que j'ai le message d'erreur suivant "L'opération doit utiliser une requete qui peut être mise à jour".
le code de la sous-requëte appelée ° ALTItoEP inForm est le suivant: SELECT LIMITE.NUM_OP, Max(IIf([ALTI]![ALTI_SOL]<>0 And [ALTI]![ALTI_VES]<>0,[ALTI]![ALTI_SOL]-[ALTI]! [ALTI_VES],999)) AS STER_EPMAX, Min(IIf([ALTI]![ALTI_SOL] <>0 And [ALTI]![ALTI_VES]<>0,[ALTI]![ALTI_SOL]-[ALTI]! [ALTI_VES],999)) AS STER_EPMIN, Max(IIf([ALTI]![ALTI_VES] <>0 And [ALTI]![ALTI_SUB]<>0,[ALTI]![ALTI_VES]-[ALTI]! [ALTI_SUB],999)) AS ARCHEO_EPMAX, Min(IIf([ALTI]! [ALTI_VES]<>0 And [ALTI]![ALTI_SUB]<>0,[ALTI]![ALTI_VES]- [ALTI]![ALTI_SUB],999)) AS ARCHEO_EPMIN FROM OPERATION INNER JOIN (LIMITE INNER JOIN ALTI ON LIMITE.NUM_LIM = ALTI.NUM_LIM) ON OPERATION.NUM_OP = LIMITE.NUM_OP GROUP BY LIMITE.NUM_OP HAVING (((LIMITE.NUM_OP)=[forms]![LIM+SOND]![NUM_OP]));
le code de la requête de mise à jour qui intègre donc la sous-requête de sélection: UPDATE [° ALTItoEP inForm] INNER JOIN EPAISSEUR ON [° ALTItoEP inForm].NUM_OP = EPAISSEUR.NUM_OP SET EPAISSEUR.STER_EPMAX = [° ALTItoEP inForm]![STER_EPMAX], EPAISSEUR.STER_EPMIN = [° ALTItoEP inForm]![STER_EPMIN], EPAISSEUR.ARCHEO_EPMAX = [° ALTItoEP inForm]! [ARCHEO_EPMAX], EPAISSEUR.ARCHEO_EPMIN = [° ALTItoEP inForm]![ARCHEO_EPMIN] WHERE (((EPAISSEUR.NUM_OP)=[forms]![LIM+SOND]![NUM_OP]));
voilà, en espérant avoir été plus clair. merci éric
-----Message d'origine----- Salut,
Je ne comprends pas le concept d'une sous-requête mettant à jour des
enregistrements. Probablement une question de terminologie. Est-ce qu'on
peut avoir un exemple, même esquissé, de l'énoncé SQL?
Une sous-requête ne peut être qu'un énoncé SELECT, ne peut pas être un
UPDATE.
Espérant être utile, Vanderghast, Access MVP
"éric" wrote in message news:160901c49b2b$b81f3b10$ bonjour,
Lorsque je tente d'exécuter une requete de mise à jour du type une sous-requete met à jour certains champs d'une table, j'ai le message suivant "L'opération doit utiliser une requete qui peut être mise à jour" ??
Visiblement d'après l'aide access, cela proviendrait de ma relation entre cette sous-requete et la table, une relation de 1 à 1 sachant que cette sous-requete ne comporte à chaque fois qu'un seul enregistrement. Comment puis-je m'en sortir ??
L'un d'entre vous aurait-il déjà rencontré ce pb ?? éric
.
Michel Walsh
Salut,
Si la requête utilise un aggrégat (tel que MAX), un GROUP BY, un DISTINCT ou un UNION, elle est marqué comme impossible de mettre à jour. Faire une table (temporaire) à partir de la requête utilisant l'aggrégat, puis metter à jour en utilisant la dite table temporaire.
Espérant être utile, Vanderghast, Access MVP
"éric" wrote in message news:33ae01c49bca$eb1c8370$ bonjour,
en fait j'ai d'abord une requête de sélection (SELECT) que j'intègre ensuite à une requête de mise à jour (UPDATE), c'est la première requête (SELECT) que j'ai appelé sous-requête. Et c'est en lançant la requête de mise à jour (qui intégre donc la sous-requête) que j'ai le message d'erreur suivant "L'opération doit utiliser une requete qui peut être mise à jour".
le code de la sous-requëte appelée ° ALTItoEP inForm est le suivant: SELECT LIMITE.NUM_OP, Max(IIf([ALTI]![ALTI_SOL]<>0 And [ALTI]![ALTI_VES]<>0,[ALTI]![ALTI_SOL]-[ALTI]! [ALTI_VES],999)) AS STER_EPMAX, Min(IIf([ALTI]![ALTI_SOL] <>0 And [ALTI]![ALTI_VES]<>0,[ALTI]![ALTI_SOL]-[ALTI]! [ALTI_VES],999)) AS STER_EPMIN, Max(IIf([ALTI]![ALTI_VES] <>0 And [ALTI]![ALTI_SUB]<>0,[ALTI]![ALTI_VES]-[ALTI]! [ALTI_SUB],999)) AS ARCHEO_EPMAX, Min(IIf([ALTI]! [ALTI_VES]<>0 And [ALTI]![ALTI_SUB]<>0,[ALTI]![ALTI_VES]- [ALTI]![ALTI_SUB],999)) AS ARCHEO_EPMIN FROM OPERATION INNER JOIN (LIMITE INNER JOIN ALTI ON LIMITE.NUM_LIM = ALTI.NUM_LIM) ON OPERATION.NUM_OP LIMITE.NUM_OP GROUP BY LIMITE.NUM_OP HAVING (((LIMITE.NUM_OP)=[forms]![LIM+SOND]![NUM_OP]));
le code de la requête de mise à jour qui intègre donc la sous-requête de sélection: UPDATE [° ALTItoEP inForm] INNER JOIN EPAISSEUR ON [° ALTItoEP inForm].NUM_OP = EPAISSEUR.NUM_OP SET EPAISSEUR.STER_EPMAX = [° ALTItoEP inForm]![STER_EPMAX], EPAISSEUR.STER_EPMIN = [° ALTItoEP inForm]![STER_EPMIN], EPAISSEUR.ARCHEO_EPMAX = [° ALTItoEP inForm]! [ARCHEO_EPMAX], EPAISSEUR.ARCHEO_EPMIN = [° ALTItoEP inForm]![ARCHEO_EPMIN] WHERE (((EPAISSEUR.NUM_OP)=[forms]![LIM+SOND]![NUM_OP]));
voilà, en espérant avoir été plus clair. merci éric
-----Message d'origine----- Salut,
Je ne comprends pas le concept d'une sous-requête mettant à jour des
enregistrements. Probablement une question de terminologie. Est-ce qu'on
peut avoir un exemple, même esquissé, de l'énoncé SQL?
Une sous-requête ne peut être qu'un énoncé SELECT, ne peut pas être un
UPDATE.
Espérant être utile, Vanderghast, Access MVP
"éric" wrote in message news:160901c49b2b$b81f3b10$ bonjour,
Lorsque je tente d'exécuter une requete de mise à jour du type une sous-requete met à jour certains champs d'une table, j'ai le message suivant "L'opération doit utiliser une requete qui peut être mise à jour" ??
Visiblement d'après l'aide access, cela proviendrait de ma relation entre cette sous-requete et la table, une relation de 1 à 1 sachant que cette sous-requete ne comporte à chaque fois qu'un seul enregistrement. Comment puis-je m'en sortir ??
L'un d'entre vous aurait-il déjà rencontré ce pb ?? éric
.
Salut,
Si la requête utilise un aggrégat (tel que MAX), un GROUP BY, un
DISTINCT ou un UNION, elle est marqué comme impossible de mettre à jour.
Faire une table (temporaire) à partir de la requête utilisant l'aggrégat,
puis metter à jour en utilisant la dite table temporaire.
Espérant être utile,
Vanderghast, Access MVP
"éric" <eric_leroy74@hotmail.com> wrote in message
news:33ae01c49bca$eb1c8370$a501280a@phx.gbl...
bonjour,
en fait j'ai d'abord une requête de sélection (SELECT)
que j'intègre ensuite à une requête de mise à jour
(UPDATE), c'est la première requête (SELECT) que j'ai
appelé sous-requête. Et c'est en lançant la requête de
mise à jour (qui intégre donc la sous-requête) que j'ai
le message d'erreur suivant "L'opération doit utiliser
une requete qui peut être mise à jour".
le code de la sous-requëte appelée ° ALTItoEP inForm est
le suivant:
SELECT LIMITE.NUM_OP, Max(IIf([ALTI]![ALTI_SOL]<>0 And
[ALTI]![ALTI_VES]<>0,[ALTI]![ALTI_SOL]-[ALTI]!
[ALTI_VES],999)) AS STER_EPMAX, Min(IIf([ALTI]![ALTI_SOL]
<>0 And [ALTI]![ALTI_VES]<>0,[ALTI]![ALTI_SOL]-[ALTI]!
[ALTI_VES],999)) AS STER_EPMIN, Max(IIf([ALTI]![ALTI_VES]
<>0 And [ALTI]![ALTI_SUB]<>0,[ALTI]![ALTI_VES]-[ALTI]!
[ALTI_SUB],999)) AS ARCHEO_EPMAX, Min(IIf([ALTI]!
[ALTI_VES]<>0 And [ALTI]![ALTI_SUB]<>0,[ALTI]![ALTI_VES]-
[ALTI]![ALTI_SUB],999)) AS ARCHEO_EPMIN
FROM OPERATION INNER JOIN (LIMITE INNER JOIN ALTI ON
LIMITE.NUM_LIM = ALTI.NUM_LIM) ON OPERATION.NUM_OP LIMITE.NUM_OP
GROUP BY LIMITE.NUM_OP
HAVING (((LIMITE.NUM_OP)=[forms]![LIM+SOND]![NUM_OP]));
le code de la requête de mise à jour qui intègre donc la
sous-requête de sélection:
UPDATE [° ALTItoEP inForm] INNER JOIN EPAISSEUR ON [°
ALTItoEP inForm].NUM_OP = EPAISSEUR.NUM_OP SET
EPAISSEUR.STER_EPMAX = [° ALTItoEP inForm]![STER_EPMAX],
EPAISSEUR.STER_EPMIN = [° ALTItoEP inForm]![STER_EPMIN],
EPAISSEUR.ARCHEO_EPMAX = [° ALTItoEP inForm]!
[ARCHEO_EPMAX], EPAISSEUR.ARCHEO_EPMIN = [° ALTItoEP
inForm]![ARCHEO_EPMIN]
WHERE (((EPAISSEUR.NUM_OP)=[forms]![LIM+SOND]![NUM_OP]));
voilà, en espérant avoir été plus clair.
merci
éric
-----Message d'origine-----
Salut,
Je ne comprends pas le concept d'une sous-requête
mettant à jour des
enregistrements. Probablement une question de
terminologie. Est-ce qu'on
peut avoir un exemple, même esquissé, de l'énoncé SQL?
Une sous-requête ne peut être qu'un énoncé SELECT,
ne peut pas être un
UPDATE.
Espérant être utile,
Vanderghast, Access MVP
"éric" <eric_leroy74@hotmail.com> wrote in message
news:160901c49b2b$b81f3b10$a601280a@phx.gbl...
bonjour,
Lorsque je tente d'exécuter une requete de mise à jour du
type une sous-requete met à jour certains champs d'une
table, j'ai le message suivant "L'opération doit utiliser
une requete qui peut être mise à jour" ??
Visiblement d'après l'aide access, cela proviendrait de
ma relation entre cette sous-requete et la table, une
relation de 1 à 1 sachant que cette sous-requete ne
comporte à chaque fois qu'un seul enregistrement. Comment
puis-je m'en sortir ??
L'un d'entre vous aurait-il déjà rencontré ce pb ??
éric
Si la requête utilise un aggrégat (tel que MAX), un GROUP BY, un DISTINCT ou un UNION, elle est marqué comme impossible de mettre à jour. Faire une table (temporaire) à partir de la requête utilisant l'aggrégat, puis metter à jour en utilisant la dite table temporaire.
Espérant être utile, Vanderghast, Access MVP
"éric" wrote in message news:33ae01c49bca$eb1c8370$ bonjour,
en fait j'ai d'abord une requête de sélection (SELECT) que j'intègre ensuite à une requête de mise à jour (UPDATE), c'est la première requête (SELECT) que j'ai appelé sous-requête. Et c'est en lançant la requête de mise à jour (qui intégre donc la sous-requête) que j'ai le message d'erreur suivant "L'opération doit utiliser une requete qui peut être mise à jour".
le code de la sous-requëte appelée ° ALTItoEP inForm est le suivant: SELECT LIMITE.NUM_OP, Max(IIf([ALTI]![ALTI_SOL]<>0 And [ALTI]![ALTI_VES]<>0,[ALTI]![ALTI_SOL]-[ALTI]! [ALTI_VES],999)) AS STER_EPMAX, Min(IIf([ALTI]![ALTI_SOL] <>0 And [ALTI]![ALTI_VES]<>0,[ALTI]![ALTI_SOL]-[ALTI]! [ALTI_VES],999)) AS STER_EPMIN, Max(IIf([ALTI]![ALTI_VES] <>0 And [ALTI]![ALTI_SUB]<>0,[ALTI]![ALTI_VES]-[ALTI]! [ALTI_SUB],999)) AS ARCHEO_EPMAX, Min(IIf([ALTI]! [ALTI_VES]<>0 And [ALTI]![ALTI_SUB]<>0,[ALTI]![ALTI_VES]- [ALTI]![ALTI_SUB],999)) AS ARCHEO_EPMIN FROM OPERATION INNER JOIN (LIMITE INNER JOIN ALTI ON LIMITE.NUM_LIM = ALTI.NUM_LIM) ON OPERATION.NUM_OP LIMITE.NUM_OP GROUP BY LIMITE.NUM_OP HAVING (((LIMITE.NUM_OP)=[forms]![LIM+SOND]![NUM_OP]));
le code de la requête de mise à jour qui intègre donc la sous-requête de sélection: UPDATE [° ALTItoEP inForm] INNER JOIN EPAISSEUR ON [° ALTItoEP inForm].NUM_OP = EPAISSEUR.NUM_OP SET EPAISSEUR.STER_EPMAX = [° ALTItoEP inForm]![STER_EPMAX], EPAISSEUR.STER_EPMIN = [° ALTItoEP inForm]![STER_EPMIN], EPAISSEUR.ARCHEO_EPMAX = [° ALTItoEP inForm]! [ARCHEO_EPMAX], EPAISSEUR.ARCHEO_EPMIN = [° ALTItoEP inForm]![ARCHEO_EPMIN] WHERE (((EPAISSEUR.NUM_OP)=[forms]![LIM+SOND]![NUM_OP]));
voilà, en espérant avoir été plus clair. merci éric
-----Message d'origine----- Salut,
Je ne comprends pas le concept d'une sous-requête mettant à jour des
enregistrements. Probablement une question de terminologie. Est-ce qu'on
peut avoir un exemple, même esquissé, de l'énoncé SQL?
Une sous-requête ne peut être qu'un énoncé SELECT, ne peut pas être un
UPDATE.
Espérant être utile, Vanderghast, Access MVP
"éric" wrote in message news:160901c49b2b$b81f3b10$ bonjour,
Lorsque je tente d'exécuter une requete de mise à jour du type une sous-requete met à jour certains champs d'une table, j'ai le message suivant "L'opération doit utiliser une requete qui peut être mise à jour" ??
Visiblement d'après l'aide access, cela proviendrait de ma relation entre cette sous-requete et la table, une relation de 1 à 1 sachant que cette sous-requete ne comporte à chaque fois qu'un seul enregistrement. Comment puis-je m'en sortir ??
L'un d'entre vous aurait-il déjà rencontré ce pb ?? éric