Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mettre à jour une table avec le contenu d'une requete

23 réponses
Avatar
Txl
Bonjour =E0 tous,

J'ai un form qui me lance un requete pour connaitre la quantit=E9 de
composants n=E9cessaires pour fabriquer un certain produit.

Par contre je bloque comme un ane et je n'arrive pas =E0 mettre le stock
de composants =E0 jour...

Donc ma table composants tblcomposant contient une ligne de ref
composant (par ex 1548) et cette ref de composant =E0 un stock (21)

Sachant que j'ai une requete qui me sort le code ref et la quantit=E9
necessaire, mais comment faire une requete qui ferait "stock=3Dstock-qte
necessaire" et qui mettrait =E0 jour avec la bonne ref.

j'ai essay=E9 de faire une requete de mise =E0 jour mais ca m'a dit que ca
allait effacer la table tblcomposant et ca m'a fait un peu peur :)

Merci d'avance

10 réponses

1 2 3
Avatar
Gloops
Bonjour,

Pour corriger une requête, ça peut aider d'en avoir le code :)

__________________________________
Txl a écrit, le 10/04/2009 09:51 :
Bonjour à tous,

J'ai un form qui me lance un requete pour connaitre la quantité de
composants nécessaires pour fabriquer un certain produit.

Par contre je bloque comme un ane et je n'arrive pas à mettre le stoc k
de composants à jour...

Donc ma table composants tblcomposant contient une ligne de ref
composant (par ex 1548) et cette ref de composant à un stock (21)

Sachant que j'ai une requete qui me sort le code ref et la quantité
necessaire, mais comment faire une requete qui ferait "stock=stock-qt e
necessaire" et qui mettrait à jour avec la bonne ref.

j'ai essayé de faire une requete de mise à jour mais ca m'a dit que ca
allait effacer la table tblcomposant et ca m'a fait un peu peur :)

Merci d'avance


Avatar
Txl
Sans doute mais comme je ne l'ai pas faite parce que je ne sais pas
comment faire je suis embete pour donner le code...

La requete qui selectionne ce que je dois rajouter marche, mais que
faire pour calculer les modifs...

Merci d'avance


Bonjour,

Pour corriger une requête, ça peut aider d'en avoir le code :)

__________________________________
Txl a écrit, le 10/04/2009 09:51 :



> Bonjour à tous,

> J'ai un form qui me lance un requete pour connaitre la quantité de
> composants nécessaires pour fabriquer un certain produit.

> Par contre je bloque comme un ane et je n'arrive pas à mettre le stoc k
> de composants à jour...

> Donc ma table composants tblcomposant contient une ligne de ref
> composant (par ex 1548) et cette ref de composant à un stock (21)

> Sachant que j'ai une requete qui me sort le code ref et la quantité
> necessaire, mais comment faire une requete qui ferait "stock=stock-qt e
> necessaire" et qui mettrait à jour avec la bonne ref.

> j'ai essayé de faire une requete de mise à jour mais ca m'a dit que ca
> allait effacer la table tblcomposant et ca m'a fait un peu peur :)

> Merci d'avance


Avatar
Fabien
Txl a écrit :
Sans doute mais comme je ne l'ai pas faite parce que je ne sais pas
comment faire je suis embete pour donner le code...

La requete qui selectionne ce que je dois rajouter marche, mais que
faire pour calculer les modifs...

Merci d'avance


Bonjour,

Pour corriger une requête, ça peut aider d'en avoir le code :)

__________________________________
Txl a écrit, le 10/04/2009 09:51 :



Bonjour à tous,
J'ai un form qui me lance un requete pour connaitre la quantité de
composants nécessaires pour fabriquer un certain produit.
Par contre je bloque comme un ane et je n'arrive pas à mettre le stock
de composants à jour...
Donc ma table composants tblcomposant contient une ligne de ref
composant (par ex 1548) et cette ref de composant à un stock (21)
Sachant que j'ai une requete qui me sort le code ref et la quantité
necessaire, mais comment faire une requete qui ferait "stock=stock-qte
necessaire" et qui mettrait à jour avec la bonne ref.
j'ai essayé de faire une requete de mise à jour mais ca m'a dit que ca
allait effacer la table tblcomposant et ca m'a fait un peu peur :)
Merci d'avance







Salut,
pour 'monter' le code d'une requete tu utilises le selecteur le plus a
gauche dans la barre d'outils des requetes et tu choisis SQL. Tu peut
alors faire un copier/coller du texte ;-)
@+
Avatar
Txl
Je m'explique mal :)

je ne sais pas quelle requete faire, une ajout, une mise à jour, autre
chose ?

Ce n'est pas un problème de syntaxe (cette fois) mais un problème de
théorie.

J'ai une table avec

REF code reference (par exemple 1454)
STK valeur du stock (par exemple 21 pièces en stock)

J'ai une requete qui me sort

REF code reference (1454)
QTE quantité requise (4 parce qu'il m'en faut 2 par produit et que je
fabrique 2 produits)

maintenant ce que je veux faire c'est une requete qui va faire

REF table = REF requete donc STK=STK-QTE

mais je n'ai aucune idée, si je fais une requete de mise à jour ca
veut me planter la table complète....

Merci



Txl a écrit :



> Sans doute mais comme je ne l'ai pas faite parce que je ne sais pas
> comment faire je suis embete pour donner le code...

> La requete qui selectionne ce que je dois rajouter marche, mais que
> faire pour calculer les modifs...

> Merci d'avance

>> Bonjour,

>> Pour corriger une requête, ça peut aider d'en avoir le code :)

>> __________________________________
>> Txl a écrit, le 10/04/2009 09:51 :

>>> Bonjour à tous,
>>> J'ai un form qui me lance un requete pour connaitre la quantité de
>>> composants nécessaires pour fabriquer un certain produit.
>>> Par contre je bloque comme un ane et je n'arrive pas à mettre le st ock
>>> de composants à jour...
>>> Donc ma table composants tblcomposant contient une ligne de ref
>>> composant (par ex 1548) et cette ref de composant à un stock (21)
>>> Sachant que j'ai une requete qui me sort le code ref et la quantité
>>> necessaire, mais comment faire une requete qui ferait "stock=stock- qte
>>> necessaire" et qui mettrait à jour avec la bonne ref.
>>> j'ai essayé de faire une requete de mise à jour mais ca m'a dit q ue ca
>>> allait effacer la table tblcomposant et ca m'a fait un peu peur :)
>>> Merci d'avance

Salut,
pour 'monter' le code d'une requete tu utilises le selecteur le plus a
gauche dans la barre d'outils des requetes et tu choisis SQL. Tu peut
alors faire un copier/coller du texte ;-)
@+


Avatar
Fabien
Txl a écrit :
Je m'explique mal :)

je ne sais pas quelle requete faire, une ajout, une mise à jour, autre
chose ?

Ce n'est pas un problème de syntaxe (cette fois) mais un problème de
théorie.

J'ai une table avec

REF code reference (par exemple 1454)
STK valeur du stock (par exemple 21 pièces en stock)

J'ai une requete qui me sort

REF code reference (1454)
QTE quantité requise (4 parce qu'il m'en faut 2 par produit et que je
fabrique 2 produits)

maintenant ce que je veux faire c'est une requete qui va faire

REF table = REF requete donc STK=STK-QTE

mais je n'ai aucune idée, si je fais une requete de mise à jour ca
veut me planter la table complète....

Merci



Txl a écrit :



Sans doute mais comme je ne l'ai pas faite parce que je ne sais pas
comment faire je suis embete pour donner le code...
La requete qui selectionne ce que je dois rajouter marche, mais que
faire pour calculer les modifs...
Merci d'avance
Bonjour,
Pour corriger une requête, ça peut aider d'en avoir le code :)
__________________________________
Txl a écrit, le 10/04/2009 09:51 :
Bonjour à tous,
J'ai un form qui me lance un requete pour connaitre la quantité de
composants nécessaires pour fabriquer un certain produit.
Par contre je bloque comme un ane et je n'arrive pas à mettre le stock
de composants à jour...
Donc ma table composants tblcomposant contient une ligne de ref
composant (par ex 1548) et cette ref de composant à un stock (21)
Sachant que j'ai une requete qui me sort le code ref et la quantité
necessaire, mais comment faire une requete qui ferait "stock=stock-qte
necessaire" et qui mettrait à jour avec la bonne ref.
j'ai essayé de faire une requete de mise à jour mais ca m'a dit que ca
allait effacer la table tblcomposant et ca m'a fait un peu peur :)
Merci d'avance






Salut,
pour 'monter' le code d'une requete tu utilises le selecteur le plus a
gauche dans la barre d'outils des requetes et tu choisis SQL. Tu peut
alors faire un copier/coller du texte ;-)
@+





Alors tu as besoin d'une requete de mise a jour.
Tu selectionne tes deux tables,
Tu fait un lien sur la référence entre les deux
Tu clic sur le selecteur de type de requete et tu choisi requete de mise
a jour
et une nouvelle ligne apparait
Champ : Stk
Table :
mise à jour :[Stk]-[Qte]
Critéres
ou:
@+
Avatar
Michel__D
Bonjour,

Txl a écrit :
Je m'explique mal :)

je ne sais pas quelle requete faire, une ajout, une mise à jour, autre
chose ?

Ce n'est pas un problème de syntaxe (cette fois) mais un problème de
théorie.

J'ai une table avec

REF code reference (par exemple 1454)
STK valeur du stock (par exemple 21 pièces en stock)

J'ai une requete qui me sort

REF code reference (1454)
QTE quantité requise (4 parce qu'il m'en faut 2 par produit et que je
fabrique 2 produits)

maintenant ce que je veux faire c'est une requete qui va faire

REF table = REF requete donc STK=STK-QTE

mais je n'ai aucune idée, si je fais une requete de mise à jour ca
veut me planter la table complète....

Merci



A quoi va te servir cette base car tu semble à mon avis mal parti.

Généralement quand on gére un stock, on génère des entrées/sorties.
Avatar
Txl
Bonjour à tous,

Donc suivant les conseils de fabien j'ai fait une requete de MAJ qui
prend d'un coté la table composants tblcomposant qui contient les
composants de produits et leur stock et d'un autre coté la requete
rqmajstk qui comporte la liste des composants nécessaires pour
construire un produit (ou 2 ou 3 puisqu'il y a un champ quantité)

UPDATE tblcomposant INNER JOIN rqmajstk ON tblcomposant.refcomp =
rqmajstk.refcomp SET tblcomposant.stk = [stk]-[totqtefab];

Quand je veux executer la requete j'ai une boite d'erreur comme quoi
"L'opération doit utiliser une requete qui peut etre mise à jour" et
je me retrouve bloqué

[stk] est la valeur du stock de composant et [totqtefab] est la
quantité totale de ce composant que je dois sortir du stock (par
exemple pour faire 1 produit il me faut 3 rondelles donc pour faire 3
produits il me fauabrit enlver 9 rondelles du stock) et qui est
calculée par la requete rqmajstk en partant d'un form qui me donne le
modèle de produit que je dois fabriquer et la quantité, pour référe nce
je metes le code SQL de la requete rqmajstk

SELECT rqdispo.refcomp, [qtefab]*[forms]![frmdispo]![qte] AS
totqtefab, [qteres]*[forms]![frmdispo]![qte] AS totqteres
FROM rqdispo INNER JOIN tblcomposant ON rqdispo.refcomp =
tblcomposant.refcomp
GROUP BY rqdispo.refcomp, [qtefab]*[forms]![frmdispo]![qte], [qteres]*
[forms]![frmdispo]![qte];


Pour le message de michel la théorie de base est la suivante :

des produits finis contiennent des composants, j'ai une table de
nomenclature qui répertorie les composants et leur quantité de chaque
produit, pour une fabrication [qtefab] et pour une restauration
[qteres]

Quand je veux fabriquer le composant 231, modèle B01 par exemple je
lance un form ou je choisis le modèle 231, le sous-modèle B01 et la
quantité que je désire fabriquer (ou restaurer) par ex 2.

Ca me lance la requete rqstkmaj qui me donne la liste des composants
requis par le form et la quantité totale pour une fab ou une resto, et
la requete que j'essaie de faire maintenant doit me modifier la table
[tblcomposant] et mettant a jour le stock dispo donc [stk]=[stk]-
[totqtefab] si je fais une fab...

Merci de votre aide à tous






Bonjour,

Txl a écrit :





> Je m'explique mal :)

> je ne sais pas quelle requete faire, une ajout, une mise à jour, autr e
> chose ?

> Ce n'est pas un problème de syntaxe (cette fois) mais un problème d e
> théorie.

> J'ai une table avec

> REF code reference (par exemple 1454)
> STK valeur du stock (par exemple 21 pièces en stock)

> J'ai une requete qui me sort

> REF code reference (1454)
> QTE quantité requise (4 parce qu'il m'en faut 2 par produit et que je
> fabrique 2 produits)

> maintenant ce que je veux faire c'est une requete qui va faire

> REF table = REF requete donc STK=STK-QTE

> mais je n'ai aucune idée, si je fais une requete de mise à jour ca
> veut me planter la table complète....

> Merci

A quoi va te servir cette base car tu semble à mon avis mal parti.

Généralement quand on gére un stock, on génère des entrées/so rties.


Avatar
Michel__D
Bonjour,

Txl a écrit :
Bonjour à tous,

Donc suivant les conseils de fabien j'ai fait une requete de MAJ qui
prend d'un coté la table composants tblcomposant qui contient les
composants de produits et leur stock et d'un autre coté la requete
rqmajstk qui comporte la liste des composants nécessaires pour
construire un produit (ou 2 ou 3 puisqu'il y a un champ quantité)

UPDATE tblcomposant INNER JOIN rqmajstk ON tblcomposant.refcomp > rqmajstk.refcomp SET tblcomposant.stk = [stk]-[totqtefab];

Quand je veux executer la requete j'ai une boite d'erreur comme quoi
"L'opération doit utiliser une requete qui peut etre mise à jour" et
je me retrouve bloqué

[stk] est la valeur du stock de composant et [totqtefab] est la
quantité totale de ce composant que je dois sortir du stock (par
exemple pour faire 1 produit il me faut 3 rondelles donc pour faire 3
produits il me fauabrit enlver 9 rondelles du stock) et qui est
calculée par la requete rqmajstk en partant d'un form qui me donne le
modèle de produit que je dois fabriquer et la quantité, pour référence
je metes le code SQL de la requete rqmajstk

SELECT rqdispo.refcomp, [qtefab]*[forms]![frmdispo]![qte] AS
totqtefab, [qteres]*[forms]![frmdispo]![qte] AS totqteres
FROM rqdispo INNER JOIN tblcomposant ON rqdispo.refcomp > tblcomposant.refcomp
GROUP BY rqdispo.refcomp, [qtefab]*[forms]![frmdispo]![qte], [qteres]*
[forms]![frmdispo]![qte];


Pour le message de michel la théorie de base est la suivante :

des produits finis contiennent des composants, j'ai une table de
nomenclature qui répertorie les composants et leur quantité de chaque
produit, pour une fabrication [qtefab] et pour une restauration
[qteres]

Quand je veux fabriquer le composant 231, modèle B01 par exemple je
lance un form ou je choisis le modèle 231, le sous-modèle B01 et la
quantité que je désire fabriquer (ou restaurer) par ex 2.

Ca me lance la requete rqstkmaj qui me donne la liste des composants
requis par le form et la quantité totale pour une fab ou une resto, et
la requete que j'essaie de faire maintenant doit me modifier la table
[tblcomposant] et mettant a jour le stock dispo donc [stk]=[stk]-
[totqtefab] si je fais une fab...

Merci de votre aide à tous



Ok pour les sorties mais tu ne mentionne pas comment tu réalise tes entrées ?

Car ensuite pas besoin de stocker la valeur du stock restant celui-ci
va se calculer à la demande via l'opération suivante :
stock restant = somme des entrées - somme des sorties
Avatar
Txl
Bonjour,

Les entrées sont calculées bien avant, j'ai un form de réception de
commande fournisseur qui valide la commande fournisseur passée
auparavant genre

12 rondelles commandées et le form de réception de commande m'affiche
par défaut 12 rondelles recus, l'utilisateur vérifie qu'il y en a bien
12 et valide la réception de commande, ca lance une requete qui met à
jour le stock.

Mais j'ai toujours ce message d'erreur sur la requete de sortie du
stock sur une demande de fabrication....

Merci


Bonjour,

Txl a écrit :





> Bonjour à tous,

> Donc suivant les conseils de fabien j'ai fait une requete de MAJ qui
> prend d'un coté la table composants tblcomposant qui contient les
> composants de produits et leur stock et d'un autre coté la requete
> rqmajstk qui comporte la liste des composants nécessaires pour
> construire un produit (ou 2 ou 3 puisqu'il y a un champ quantité)

> UPDATE tblcomposant INNER JOIN rqmajstk ON tblcomposant.refcomp =
> rqmajstk.refcomp SET tblcomposant.stk = [stk]-[totqtefab];

> Quand je veux executer la requete j'ai une boite d'erreur comme quoi
> "L'opération doit utiliser une requete qui peut etre mise à jour" e t
> je me retrouve bloqué

> [stk] est la valeur du stock de composant et [totqtefab] est la
> quantité totale de ce composant que je dois sortir du stock (par
> exemple pour faire 1 produit il me faut 3 rondelles donc pour faire 3
> produits il me fauabrit enlver 9 rondelles du stock) et qui est
> calculée par la requete rqmajstk en partant d'un form qui me donne le
> modèle de produit que je dois fabriquer et la quantité, pour réf érence
> je metes le code SQL de la requete rqmajstk

> SELECT rqdispo.refcomp, [qtefab]*[forms]![frmdispo]![qte] AS
> totqtefab, [qteres]*[forms]![frmdispo]![qte] AS totqteres
> FROM rqdispo INNER JOIN tblcomposant ON rqdispo.refcomp =
> tblcomposant.refcomp
> GROUP BY rqdispo.refcomp, [qtefab]*[forms]![frmdispo]![qte], [qteres]*
> [forms]![frmdispo]![qte];

> Pour le message de michel la théorie de base est la suivante :

> des produits finis contiennent des composants, j'ai une table de
> nomenclature qui répertorie les composants et leur quantité de chaq ue
> produit, pour une fabrication [qtefab] et pour une restauration
> [qteres]

> Quand je veux fabriquer le composant 231, modèle B01 par exemple je
> lance un form ou je choisis le modèle 231, le sous-modèle B01 et la
> quantité que je désire fabriquer (ou restaurer) par ex 2.

> Ca me lance la requete rqstkmaj qui me donne la liste des composants
> requis par le form et la quantité totale pour une fab ou une resto, e t
> la requete que j'essaie de faire maintenant doit me modifier la table
> [tblcomposant] et mettant a jour le stock dispo donc [stk]=[stk]-
> [totqtefab] si je fais une fab...

> Merci de votre aide à tous

Ok pour les sorties mais tu ne mentionne pas comment tu réalise tes ent rées ?

Car ensuite pas besoin de stocker la valeur du stock restant celui-ci
  va se calculer à la demande via l'opération suivante :
stock restant = somme des entrées - somme des sorties


Avatar
Michel__D
Bonjour,

Txl a écrit :
Bonjour,

Les entrées sont calculées bien avant, j'ai un form de réception de
commande fournisseur qui valide la commande fournisseur passée
auparavant genre

12 rondelles commandées et le form de réception de commande m'affiche
par défaut 12 rondelles recus, l'utilisateur vérifie qu'il y en a bien
12 et valide la réception de commande, ca lance une requete qui met à
jour le stock.



Ben pourquoi tu mets à jour le stock puisque tu as tous les éléments
pour calculer ton stock à la demande (requête de regroupement sur la
référence du produit avec opération de sommation).

Mais j'ai toujours ce message d'erreur sur la requete de sortie du
stock sur une demande de fabrication....



Bien que je ne sois pas d'accord avec ta façon de procéder, pourquoi
tu utilise une requète pour calculer [totqtefab] utilise plutot une
fonction de domaine (DLookup) pour récupérer le nombre nécessaire de
composant que tu multiplieras par le nombre de produit à produire.

PS:Tu peux expliquer la finalité de ce champ calculé :
[qteres]*[forms]![frmdispo]![qte] AS totqteres


Merci


>
Bonjour,

Txl a écrit :





Bonjour à tous,
Donc suivant les conseils de fabien j'ai fait une requete de MAJ qui
prend d'un coté la table composants tblcomposant qui contient les
composants de produits et leur stock et d'un autre coté la requete
rqmajstk qui comporte la liste des composants nécessaires pour
construire un produit (ou 2 ou 3 puisqu'il y a un champ quantité)
UPDATE tblcomposant INNER JOIN rqmajstk ON tblcomposant.refcomp >>> rqmajstk.refcomp SET tblcomposant.stk = [stk]-[totqtefab];
Quand je veux executer la requete j'ai une boite d'erreur comme quoi
"L'opération doit utiliser une requete qui peut etre mise à jour" et
je me retrouve bloqué
[stk] est la valeur du stock de composant et [totqtefab] est la
quantité totale de ce composant que je dois sortir du stock (par
exemple pour faire 1 produit il me faut 3 rondelles donc pour faire 3
produits il me fauabrit enlver 9 rondelles du stock) et qui est
calculée par la requete rqmajstk en partant d'un form qui me donne le
modèle de produit que je dois fabriquer et la quantité, pour référence
je metes le code SQL de la requete rqmajstk
SELECT rqdispo.refcomp, [qtefab]*[forms]![frmdispo]![qte] AS
totqtefab, [qteres]*[forms]![frmdispo]![qte] AS totqteres
FROM rqdispo INNER JOIN tblcomposant ON rqdispo.refcomp >>> tblcomposant.refcomp
GROUP BY rqdispo.refcomp, [qtefab]*[forms]![frmdispo]![qte], [qteres]*
[forms]![frmdispo]![qte];
Pour le message de michel la théorie de base est la suivante :
des produits finis contiennent des composants, j'ai une table de
nomenclature qui répertorie les composants et leur quantité de chaque
produit, pour une fabrication [qtefab] et pour une restauration
[qteres]
Quand je veux fabriquer le composant 231, modèle B01 par exemple je
lance un form ou je choisis le modèle 231, le sous-modèle B01 et la
quantité que je désire fabriquer (ou restaurer) par ex 2.
Ca me lance la requete rqstkmaj qui me donne la liste des composants
requis par le form et la quantité totale pour une fab ou une resto, et
la requete que j'essaie de faire maintenant doit me modifier la table
[tblcomposant] et mettant a jour le stock dispo donc [stk]=[stk]-
[totqtefab] si je fais une fab...
Merci de votre aide à tous


Ok pour les sorties mais tu ne mentionne pas comment tu réalise tes entrées ?

Car ensuite pas besoin de stocker la valeur du stock restant celui-ci
va se calculer à la demande via l'opération suivante :
stock restant = somme des entrées - somme des sorties





1 2 3