OVH Cloud OVH Cloud

Soustraction entre deux tables

3 réponses
Avatar
Guy FALESSE
Bonjour à tous,

J'ai une table A qui contient 2 champs:
Le premier *référence* est du type texte et le deuxième Qté est numérique
J'ai une autre table B qui contient les mêmes champs.
J'ai une troisième table C qui contient les mêmes champs mais qui devrait
recevoir le résultat de la soustraction de Table A mois la table B

Dans la table A, j'ai:

Référence ="LaUne" - Qté: 10
Référence="LaUne" - Qté: 5
Référence="LaDeux" - Qté:20
Référence="LaDeux" - Qté:10

Dans la table B, j'ai:

Référence ="LaUne" - Qté: 8
Référence="LaUne" - Qté: 3
Référence="LaDeux" - Qté:12
Référence="LaDeux" - Qté:8

Donc, dans la table C je devrais avaoir:

Référence ="LaUne" - Qté: 2
Référence="LaUne" - Qté: 2
Référence="LaDeux" - Qté:8
Référence="LaDeux" - Qté:2

Comment en code, SQL sans doute, puis-je arriver à ce résultat?

D'avance merci à toutes celles et tous ceux qui pourraient m'aider.

Guy FALESSE

3 réponses

Avatar
Eric
Bonjour Guy,

La seule solution que j'entrevois est de mettre un numero auto dans la
table A et la table B mais pas nécessairement dans la table C.

Puis tu crées une requête basée sur le SQL suivant:
INSERT INTO C(Reference, Qte)
SELECT Reference, DLookUp("QTE","A","NumA=" &
[NumA])-DLookUp("QTe","B","NumB=" & [Numa]) AS QTE
FROM A
ORDER BY NumA;

Cela conviendrait-il ?
--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Bonjour à tous,

J'ai une table A qui contient 2 champs:
Le premier *référence* est du type texte et le deuxième Qté est numérique
J'ai une autre table B qui contient les mêmes champs.
J'ai une troisième table C qui contient les mêmes champs mais qui devrait
recevoir le résultat de la soustraction de Table A mois la table B

Dans la table A, j'ai:

Référence ="LaUne" - Qté: 10
Référence="LaUne" - Qté: 5
Référence="LaDeux" - Qté:20
Référence="LaDeux" - Qté:10

Dans la table B, j'ai:

Référence ="LaUne" - Qté: 8
Référence="LaUne" - Qté: 3
Référence="LaDeux" - Qté:12
Référence="LaDeux" - Qté:8

Donc, dans la table C je devrais avaoir:

Référence ="LaUne" - Qté: 2
Référence="LaUne" - Qté: 2
Référence="LaDeux" - Qté:8
Référence="LaDeux" - Qté:2

Comment en code, SQL sans doute, puis-je arriver à ce résultat?

D'avance merci à toutes celles et tous ceux qui pourraient m'aider.

Guy FALESSE




Avatar
Guy FALESSE
Salut Eric,

Merci pour ta réponse, mais en créant des tables avec quelques exemples en
dur et en demandant à Access de l'afficher en SQL j'ai eu ceci qui a l'air
de fonctionner:

SELECT ReqUN.Articles, ReqDEUX.Articles, ReqUN.Référence,
ReqUN.SommeDeQtéSortie, ReqDEUX.SommeDeQtéStock,
[sommedeqtésortie]-[sommedeqtéstock] AS Résultat
FROM ReqUN INNER JOIN ReqDEUX ON ReqUN.Référence = ReqDEUX.Référence;

Je n'aurais jamais trouvé sans cela, pas évident.
Je ne pouvais pas mettre de n° auto, puisque plusieurs articles portant le
même nom, mais ayant des références différentes peuvent être là et je dois
filtrer par référence: c'est une histoire de stock.
N'empêche, bien sympa de m'avoir répondu :-)
@+

Guy FALESSE



"Eric" a écrit dans le message de news:

Bonjour Guy,

La seule solution que j'entrevois est de mettre un numero auto dans la
table A et la table B mais pas nécessairement dans la table C.

Puis tu crées une requête basée sur le SQL suivant:
INSERT INTO C(Reference, Qte)
SELECT Reference, DLookUp("QTE","A","NumA=" &
[NumA])-DLookUp("QTe","B","NumB=" & [Numa]) AS QTE
FROM A
ORDER BY NumA;

Cela conviendrait-il ?
--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Bonjour à tous,

J'ai une table A qui contient 2 champs:
Le premier *référence* est du type texte et le deuxième Qté est numérique
J'ai une autre table B qui contient les mêmes champs.
J'ai une troisième table C qui contient les mêmes champs mais qui devrait
recevoir le résultat de la soustraction de Table A mois la table B

Dans la table A, j'ai:

Référence ="LaUne" - Qté: 10
Référence="LaUne" - Qté: 5
Référence="LaDeux" - Qté:20
Référence="LaDeux" - Qté:10

Dans la table B, j'ai:

Référence ="LaUne" - Qté: 8
Référence="LaUne" - Qté: 3
Référence="LaDeux" - Qté:12
Référence="LaDeux" - Qté:8

Donc, dans la table C je devrais avaoir:

Référence ="LaUne" - Qté: 2
Référence="LaUne" - Qté: 2
Référence="LaDeux" - Qté:8
Référence="LaDeux" - Qté:2

Comment en code, SQL sans doute, puis-je arriver à ce résultat?

D'avance merci à toutes celles et tous ceux qui pourraient m'aider.

Guy FALESSE




Avatar
Eric
re,

...
Je ne pouvais pas mettre de n° auto, puisque plusieurs articles portant le
même nom, mais ayant des références différentes peuvent être là et je dois
filtrer par référence: c'est une histoire de stock.


Pas de problème.
J'avais élaboré ce SQL sur l'exemple que tu avais fourni
et javais lu (mal) que les tables n'avaient que 2 champs.
Content que tu aies trouvé une solution à ton problème.

--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr