Les tables sont en relation par N=B0 de 1 =E0 plusieurs (1de=20
Tab1 et plusieurs Tab2) donc pour 1 N=B0 de tab1 on peut=20
avoir plusieurs N=B0 de quantit=E9
Je veux remplir le champs Livraison (Oui/Non) lorsque=20
Qt=E9L=3DQuantit=E9
J'ai cr=E9=E9 une requ=EAte1 qui me calcul le total de Qt=E9L=20
pour un N=B0 (aucun probl=E8me)
J'ai cr=E9=E9 une 2eme requ=EAte de la facon suivante
SELECT [Tab1].Livraison, [Tab1].Quantit=E9
FROM [Tab1] INNER JOIN [Req=EAte1] ON [Tab1].[N=B0] =3D=20
[Requ=EAte1].[N=B0]
WHERE ((([Tab1].Quantit=E9)=3D[SommeDeQt=E9L]));
Le probl=E8me est que tant que j'ai cette relation avec=20
requ=EAte1(contenant une fonction somme) je ne peut=20
modifier aucun champs
Avez-vous une solution pour mettre =E0 jour le champs=20
livraison lorsque [SommeDeQt=E9L]=3DQuantit=E9]
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,
En effet, un aggrégat marque toute la requête (principale, ou imbriquée via la clause FROM) comme n'étant plus modifiable (exception, dans ... WHERE f=(SELECT MAX( ... ) ... ) , le MAX ne rend pas la requête externe non modifiable).
Une solution de contournement est d'utiliser DSUM( ..., ..., ... ) au lieu de SUM.
C'est pas la joie, nécessairement. Il y a le site de Microsoft, et dans le site de Microsoft, il y a contactez-nous, puis, boîte à suggestion. Plus il y aura de suggestions, dans cette boîte, qui iront dans le sens de rendre possible des mises à jour avec aggrégat, genre UPDATE table1 SET f1=SUM(f2) WHERE ..., alors plus il y a de possibilités que Microsoft daigne implémenter cette possibilité dans une future version.
Espérant être utile, Vanderghast, Access MVP
"Didier" wrote in message news:1819b01c44a0f$f5713b20$ Bonjour
Les tables sont en relation par N° de 1 à plusieurs (1de Tab1 et plusieurs Tab2) donc pour 1 N° de tab1 on peut avoir plusieurs N° de quantité Je veux remplir le champs Livraison (Oui/Non) lorsque QtéL=Quantité J'ai créé une requête1 qui me calcul le total de QtéL pour un N° (aucun problème) J'ai créé une 2eme requête de la facon suivante
SELECT [Tab1].Livraison, [Tab1].Quantité FROM [Tab1] INNER JOIN [Reqête1] ON [Tab1].[N°] [Requête1].[N°] WHERE ((([Tab1].Quantité)=[SommeDeQtéL]));
Le problème est que tant que j'ai cette relation avec requête1(contenant une fonction somme) je ne peut modifier aucun champs
Avez-vous une solution pour mettre à jour le champs livraison lorsque [SommeDeQtéL]=Quantité]
Merci
Salut,
En effet, un aggrégat marque toute la requête (principale, ou imbriquée
via la clause FROM) comme n'étant plus modifiable (exception, dans ... WHERE
f=(SELECT MAX( ... ) ... ) , le MAX ne rend pas la requête externe non
modifiable).
Une solution de contournement est d'utiliser DSUM( ..., ..., ... ) au
lieu de SUM.
C'est pas la joie, nécessairement. Il y a le site de Microsoft, et dans
le site de Microsoft, il y a contactez-nous, puis, boîte à suggestion. Plus
il y aura de suggestions, dans cette boîte, qui iront dans le sens de rendre
possible des mises à jour avec aggrégat, genre UPDATE table1 SET f1=SUM(f2)
WHERE ..., alors plus il y a de possibilités que Microsoft daigne
implémenter cette possibilité dans une future version.
Espérant être utile,
Vanderghast, Access MVP
"Didier" <anonymous@discussions.microsoft.com> wrote in message
news:1819b01c44a0f$f5713b20$a501280a@phx.gbl...
Bonjour
Les tables sont en relation par N° de 1 à plusieurs (1de
Tab1 et plusieurs Tab2) donc pour 1 N° de tab1 on peut
avoir plusieurs N° de quantité
Je veux remplir le champs Livraison (Oui/Non) lorsque
QtéL=Quantité
J'ai créé une requête1 qui me calcul le total de QtéL
pour un N° (aucun problème)
J'ai créé une 2eme requête de la facon suivante
SELECT [Tab1].Livraison, [Tab1].Quantité
FROM [Tab1] INNER JOIN [Reqête1] ON [Tab1].[N°] [Requête1].[N°]
WHERE ((([Tab1].Quantité)=[SommeDeQtéL]));
Le problème est que tant que j'ai cette relation avec
requête1(contenant une fonction somme) je ne peut
modifier aucun champs
Avez-vous une solution pour mettre à jour le champs
livraison lorsque [SommeDeQtéL]=Quantité]
En effet, un aggrégat marque toute la requête (principale, ou imbriquée via la clause FROM) comme n'étant plus modifiable (exception, dans ... WHERE f=(SELECT MAX( ... ) ... ) , le MAX ne rend pas la requête externe non modifiable).
Une solution de contournement est d'utiliser DSUM( ..., ..., ... ) au lieu de SUM.
C'est pas la joie, nécessairement. Il y a le site de Microsoft, et dans le site de Microsoft, il y a contactez-nous, puis, boîte à suggestion. Plus il y aura de suggestions, dans cette boîte, qui iront dans le sens de rendre possible des mises à jour avec aggrégat, genre UPDATE table1 SET f1=SUM(f2) WHERE ..., alors plus il y a de possibilités que Microsoft daigne implémenter cette possibilité dans une future version.
Espérant être utile, Vanderghast, Access MVP
"Didier" wrote in message news:1819b01c44a0f$f5713b20$ Bonjour
Les tables sont en relation par N° de 1 à plusieurs (1de Tab1 et plusieurs Tab2) donc pour 1 N° de tab1 on peut avoir plusieurs N° de quantité Je veux remplir le champs Livraison (Oui/Non) lorsque QtéL=Quantité J'ai créé une requête1 qui me calcul le total de QtéL pour un N° (aucun problème) J'ai créé une 2eme requête de la facon suivante
SELECT [Tab1].Livraison, [Tab1].Quantité FROM [Tab1] INNER JOIN [Reqête1] ON [Tab1].[N°] [Requête1].[N°] WHERE ((([Tab1].Quantité)=[SommeDeQtéL]));
Le problème est que tant que j'ai cette relation avec requête1(contenant une fonction somme) je ne peut modifier aucun champs
Avez-vous une solution pour mettre à jour le champs livraison lorsque [SommeDeQtéL]=Quantité]
Merci
didier
Re comment utilise-ton la fonction Dsum, je n'ai rien trouver sur l'aide en ligne
-----Message d'origine----- Salut,
En effet, un aggrégat marque toute la requête (principale, ou imbriquée
via la clause FROM) comme n'étant plus modifiable (exception, dans ... WHERE
f=(SELECT MAX( ... ) ... ) , le MAX ne rend pas la requête externe non
modifiable).
Une solution de contournement est d'utiliser DSUM ( ..., ..., ... ) au
lieu de SUM.
C'est pas la joie, nécessairement. Il y a le site de Microsoft, et dans
le site de Microsoft, il y a contactez-nous, puis, boîte à suggestion. Plus
il y aura de suggestions, dans cette boîte, qui iront dans le sens de rendre
possible des mises à jour avec aggrégat, genre UPDATE table1 SET f1=SUM(f2)
WHERE ..., alors plus il y a de possibilités que Microsoft daigne
implémenter cette possibilité dans une future version.
Les tables sont en relation par N° de 1 à plusieurs (1de Tab1 et plusieurs Tab2) donc pour 1 N° de tab1 on peut avoir plusieurs N° de quantité Je veux remplir le champs Livraison (Oui/Non) lorsque QtéL=Quantité J'ai créé une requête1 qui me calcul le total de QtéL pour un N° (aucun problème) J'ai créé une 2eme requête de la facon suivante
SELECT [Tab1].Livraison, [Tab1].Quantité FROM [Tab1] INNER JOIN [Reqête1] ON [Tab1].[N°] = [Requête1].[N°] WHERE ((([Tab1].Quantité)=[SommeDeQtéL]));
Le problème est que tant que j'ai cette relation avec requête1(contenant une fonction somme) je ne peut modifier aucun champs
Avez-vous une solution pour mettre à jour le champs livraison lorsque [SommeDeQtéL]=Quantité]
Merci
.
Re comment utilise-ton la fonction Dsum, je n'ai rien
trouver sur l'aide en ligne
-----Message d'origine-----
Salut,
En effet, un aggrégat marque toute la requête
(principale, ou imbriquée
via la clause FROM) comme n'étant plus modifiable
(exception, dans ... WHERE
f=(SELECT MAX( ... ) ... ) , le MAX ne rend pas la
requête externe non
modifiable).
Une solution de contournement est d'utiliser DSUM
( ..., ..., ... ) au
lieu de SUM.
C'est pas la joie, nécessairement. Il y a le site de
Microsoft, et dans
le site de Microsoft, il y a contactez-nous, puis, boîte
à suggestion. Plus
il y aura de suggestions, dans cette boîte, qui iront
dans le sens de rendre
possible des mises à jour avec aggrégat, genre UPDATE
table1 SET f1=SUM(f2)
WHERE ..., alors plus il y a de possibilités que
Microsoft daigne
implémenter cette possibilité dans une future version.
Espérant être utile,
Vanderghast, Access MVP
"Didier" <anonymous@discussions.microsoft.com> wrote in
message
Les tables sont en relation par N° de 1 à plusieurs (1de
Tab1 et plusieurs Tab2) donc pour 1 N° de tab1 on peut
avoir plusieurs N° de quantité
Je veux remplir le champs Livraison (Oui/Non) lorsque
QtéL=Quantité
J'ai créé une requête1 qui me calcul le total de QtéL
pour un N° (aucun problème)
J'ai créé une 2eme requête de la facon suivante
SELECT [Tab1].Livraison, [Tab1].Quantité
FROM [Tab1] INNER JOIN [Reqête1] ON [Tab1].[N°] =
[Requête1].[N°]
WHERE ((([Tab1].Quantité)=[SommeDeQtéL]));
Le problème est que tant que j'ai cette relation avec
requête1(contenant une fonction somme) je ne peut
modifier aucun champs
Avez-vous une solution pour mettre à jour le champs
livraison lorsque [SommeDeQtéL]=Quantité]
Les tables sont en relation par N° de 1 à plusieurs (1de Tab1 et plusieurs Tab2) donc pour 1 N° de tab1 on peut avoir plusieurs N° de quantité Je veux remplir le champs Livraison (Oui/Non) lorsque QtéL=Quantité J'ai créé une requête1 qui me calcul le total de QtéL pour un N° (aucun problème) J'ai créé une 2eme requête de la facon suivante
SELECT [Tab1].Livraison, [Tab1].Quantité FROM [Tab1] INNER JOIN [Reqête1] ON [Tab1].[N°] = [Requête1].[N°] WHERE ((([Tab1].Quantité)=[SommeDeQtéL]));
Le problème est que tant que j'ai cette relation avec requête1(contenant une fonction somme) je ne peut modifier aucun champs
Avez-vous une solution pour mettre à jour le champs livraison lorsque [SommeDeQtéL]=Quantité]
Merci
.
Michel Walsh
Salut,
Les 3 arguments sont des chaînes de caractères, le troisième est optionnel.
Le premier argument est l'énoncé d'une expression à sommer. Exemple, le nom du champ.
Le second arguement est le nom d'une table ou d'une requête déjà sauvegardée.
Le troisième argument est l'énoncé d'un critère. Un "paramètre" du genre FORMS!formname!controlName est automatiquement résoud (du moins, devrait l'être) et n'a pas à être "sorti". Par contre, les variables VBA doivent être "sorties"
dans le dernier cas, il est à noter que le format attendu est un format US (de date, mais également, le point est décimal, pas la virgule). De plus, comme le résultat apparaît comme une constante, dans la chaîne ainsi concaténée, il faut agrémenter des délimiteurs requis ( si la constante est une chaîne, ou un date).
Dans le premier cas, le contenu ACTUEL de f1 sera interprété comme l'expression devant être évaluée pour chaque enregistrement de la table table1, dans le processus de sommation.
DSUM("f2", "table1", "f1=" & f1 )
de même, capture la valeur actuelle de f1, le troisième argument devient donc, après concaténation, quelque chose comme: "f1"2", en autant que la valeur actuelle de f1 est 222, et donc, la sommation s'effectue sur tous les enregistremetns ayant la valeur de f1 égale à la valeur actuelle.
Pareillement, si la valeur actuelle de f1 est NULL, la dernière expression produit une lamentable erreur de syntaxe, car le troisième argument est alors, après évaluation de la concaténation: "f1="
tout bête, tout fin seul, ce qui est de très mauvaise goût, syntaxiquement, car on ne dit pas égal à quoi... ( en effet, "f1=" & f1, avec f1 null, donne "f1=" & NULL, ce qui retrourne bien "f1=" et comme c'est cela qui est passé comme troisième argument, il y a que Access trouve à s'en plaindre.)
Espérant être utile, Vanderghast, Access MVP
"didier" wrote in message news:1814b01c44a37$b9f25660$ Re comment utilise-ton la fonction Dsum, je n'ai rien trouver sur l'aide en ligne
-----Message d'origine----- Salut,
En effet, un aggrégat marque toute la requête (principale, ou imbriquée
via la clause FROM) comme n'étant plus modifiable (exception, dans ... WHERE
f=(SELECT MAX( ... ) ... ) , le MAX ne rend pas la requête externe non
modifiable).
Une solution de contournement est d'utiliser DSUM ( ..., ..., ... ) au
lieu de SUM.
C'est pas la joie, nécessairement. Il y a le site de Microsoft, et dans
le site de Microsoft, il y a contactez-nous, puis, boîte à suggestion. Plus
il y aura de suggestions, dans cette boîte, qui iront dans le sens de rendre
possible des mises à jour avec aggrégat, genre UPDATE table1 SET f1=SUM(f2)
WHERE ..., alors plus il y a de possibilités que Microsoft daigne
implémenter cette possibilité dans une future version.
Les tables sont en relation par N° de 1 à plusieurs (1de Tab1 et plusieurs Tab2) donc pour 1 N° de tab1 on peut avoir plusieurs N° de quantité Je veux remplir le champs Livraison (Oui/Non) lorsque QtéL=Quantité J'ai créé une requête1 qui me calcul le total de QtéL pour un N° (aucun problème) J'ai créé une 2eme requête de la facon suivante
SELECT [Tab1].Livraison, [Tab1].Quantité FROM [Tab1] INNER JOIN [Reqête1] ON [Tab1].[N°] >[Requête1].[N°] WHERE ((([Tab1].Quantité)=[SommeDeQtéL]));
Le problème est que tant que j'ai cette relation avec requête1(contenant une fonction somme) je ne peut modifier aucun champs
Avez-vous une solution pour mettre à jour le champs livraison lorsque [SommeDeQtéL]=Quantité]
Merci
.
Salut,
Les 3 arguments sont des chaînes de caractères, le troisième est
optionnel.
Le premier argument est l'énoncé d'une expression à sommer. Exemple, le
nom du champ.
Le second arguement est le nom d'une table ou d'une requête déjà
sauvegardée.
Le troisième argument est l'énoncé d'un critère. Un "paramètre" du genre
FORMS!formname!controlName est automatiquement résoud (du moins, devrait
l'être) et n'a pas à être "sorti". Par contre, les variables VBA doivent
être "sorties"
dans le dernier cas, il est à noter que le format attendu est un format US
(de date, mais également, le point est décimal, pas la virgule). De plus,
comme le résultat apparaît comme une constante, dans la chaîne ainsi
concaténée, il faut agrémenter des délimiteurs requis ( si la constante est
une chaîne, ou un date).
Dans le premier cas, le contenu ACTUEL de f1 sera interprété comme
l'expression devant être évaluée pour chaque enregistrement de la table
table1, dans le processus de sommation.
DSUM("f2", "table1", "f1=" & f1 )
de même, capture la valeur actuelle de f1, le troisième argument devient
donc, après concaténation, quelque chose comme: "f1"2", en autant que la
valeur actuelle de f1 est 222, et donc, la sommation s'effectue sur tous les
enregistremetns ayant la valeur de f1 égale à la valeur actuelle.
Pareillement, si la valeur actuelle de f1 est NULL, la dernière expression
produit une lamentable erreur de syntaxe, car le troisième argument est
alors, après évaluation de la concaténation: "f1="
tout bête, tout fin seul, ce qui est de très mauvaise goût, syntaxiquement,
car on ne dit pas égal à quoi... ( en effet, "f1=" & f1, avec f1 null,
donne "f1=" & NULL, ce qui retrourne bien "f1=" et comme c'est cela
qui est passé comme troisième argument, il y a que Access trouve à s'en
plaindre.)
Espérant être utile,
Vanderghast, Access MVP
"didier" <anonymous@discussions.microsoft.com> wrote in message
news:1814b01c44a37$b9f25660$a301280a@phx.gbl...
Re comment utilise-ton la fonction Dsum, je n'ai rien
trouver sur l'aide en ligne
-----Message d'origine-----
Salut,
En effet, un aggrégat marque toute la requête
(principale, ou imbriquée
via la clause FROM) comme n'étant plus modifiable
(exception, dans ... WHERE
f=(SELECT MAX( ... ) ... ) , le MAX ne rend pas la
requête externe non
modifiable).
Une solution de contournement est d'utiliser DSUM
( ..., ..., ... ) au
lieu de SUM.
C'est pas la joie, nécessairement. Il y a le site de
Microsoft, et dans
le site de Microsoft, il y a contactez-nous, puis, boîte
à suggestion. Plus
il y aura de suggestions, dans cette boîte, qui iront
dans le sens de rendre
possible des mises à jour avec aggrégat, genre UPDATE
table1 SET f1=SUM(f2)
WHERE ..., alors plus il y a de possibilités que
Microsoft daigne
implémenter cette possibilité dans une future version.
Espérant être utile,
Vanderghast, Access MVP
"Didier" <anonymous@discussions.microsoft.com> wrote in
message
Les tables sont en relation par N° de 1 à plusieurs (1de
Tab1 et plusieurs Tab2) donc pour 1 N° de tab1 on peut
avoir plusieurs N° de quantité
Je veux remplir le champs Livraison (Oui/Non) lorsque
QtéL=Quantité
J'ai créé une requête1 qui me calcul le total de QtéL
pour un N° (aucun problème)
J'ai créé une 2eme requête de la facon suivante
SELECT [Tab1].Livraison, [Tab1].Quantité
FROM [Tab1] INNER JOIN [Reqête1] ON [Tab1].[N°] >[Requête1].[N°]
WHERE ((([Tab1].Quantité)=[SommeDeQtéL]));
Le problème est que tant que j'ai cette relation avec
requête1(contenant une fonction somme) je ne peut
modifier aucun champs
Avez-vous une solution pour mettre à jour le champs
livraison lorsque [SommeDeQtéL]=Quantité]
Les 3 arguments sont des chaînes de caractères, le troisième est optionnel.
Le premier argument est l'énoncé d'une expression à sommer. Exemple, le nom du champ.
Le second arguement est le nom d'une table ou d'une requête déjà sauvegardée.
Le troisième argument est l'énoncé d'un critère. Un "paramètre" du genre FORMS!formname!controlName est automatiquement résoud (du moins, devrait l'être) et n'a pas à être "sorti". Par contre, les variables VBA doivent être "sorties"
dans le dernier cas, il est à noter que le format attendu est un format US (de date, mais également, le point est décimal, pas la virgule). De plus, comme le résultat apparaît comme une constante, dans la chaîne ainsi concaténée, il faut agrémenter des délimiteurs requis ( si la constante est une chaîne, ou un date).
Dans le premier cas, le contenu ACTUEL de f1 sera interprété comme l'expression devant être évaluée pour chaque enregistrement de la table table1, dans le processus de sommation.
DSUM("f2", "table1", "f1=" & f1 )
de même, capture la valeur actuelle de f1, le troisième argument devient donc, après concaténation, quelque chose comme: "f1"2", en autant que la valeur actuelle de f1 est 222, et donc, la sommation s'effectue sur tous les enregistremetns ayant la valeur de f1 égale à la valeur actuelle.
Pareillement, si la valeur actuelle de f1 est NULL, la dernière expression produit une lamentable erreur de syntaxe, car le troisième argument est alors, après évaluation de la concaténation: "f1="
tout bête, tout fin seul, ce qui est de très mauvaise goût, syntaxiquement, car on ne dit pas égal à quoi... ( en effet, "f1=" & f1, avec f1 null, donne "f1=" & NULL, ce qui retrourne bien "f1=" et comme c'est cela qui est passé comme troisième argument, il y a que Access trouve à s'en plaindre.)
Espérant être utile, Vanderghast, Access MVP
"didier" wrote in message news:1814b01c44a37$b9f25660$ Re comment utilise-ton la fonction Dsum, je n'ai rien trouver sur l'aide en ligne
-----Message d'origine----- Salut,
En effet, un aggrégat marque toute la requête (principale, ou imbriquée
via la clause FROM) comme n'étant plus modifiable (exception, dans ... WHERE
f=(SELECT MAX( ... ) ... ) , le MAX ne rend pas la requête externe non
modifiable).
Une solution de contournement est d'utiliser DSUM ( ..., ..., ... ) au
lieu de SUM.
C'est pas la joie, nécessairement. Il y a le site de Microsoft, et dans
le site de Microsoft, il y a contactez-nous, puis, boîte à suggestion. Plus
il y aura de suggestions, dans cette boîte, qui iront dans le sens de rendre
possible des mises à jour avec aggrégat, genre UPDATE table1 SET f1=SUM(f2)
WHERE ..., alors plus il y a de possibilités que Microsoft daigne
implémenter cette possibilité dans une future version.
Les tables sont en relation par N° de 1 à plusieurs (1de Tab1 et plusieurs Tab2) donc pour 1 N° de tab1 on peut avoir plusieurs N° de quantité Je veux remplir le champs Livraison (Oui/Non) lorsque QtéL=Quantité J'ai créé une requête1 qui me calcul le total de QtéL pour un N° (aucun problème) J'ai créé une 2eme requête de la facon suivante
SELECT [Tab1].Livraison, [Tab1].Quantité FROM [Tab1] INNER JOIN [Reqête1] ON [Tab1].[N°] >[Requête1].[N°] WHERE ((([Tab1].Quantité)=[SommeDeQtéL]));
Le problème est que tant que j'ai cette relation avec requête1(contenant une fonction somme) je ne peut modifier aucun champs
Avez-vous une solution pour mettre à jour le champs livraison lorsque [SommeDeQtéL]=Quantité]