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'affic he
> par défaut 12 rondelles recus, l'utilisateur vérifie qu'il y en a b ien
> 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ément s
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écessai re 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 ch aque
>>> 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
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'affic he
> par défaut 12 rondelles recus, l'utilisateur vérifie qu'il y en a b ien
> 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ément s
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écessai re 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 ch aque
>>> 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
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'affic he
> par défaut 12 rondelles recus, l'utilisateur vérifie qu'il y en a b ien
> 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ément s
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écessai re 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 ch aque
>>> 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
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é
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é
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é
Bonjour,
Txl a écrit, le 11/04/2009 11:56 :
> 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é
Oui, c'est bien possible qu'on tique pour faire une mise à jour sur un
INNER JOIN.
ça risque de marcher bien mieux en isolant la clef du composant, disons
que ce soit refComp et qu'elle soit une chaîne de caractères, et en
faisant la mise à jour plutôt sur la table :
"UPDATE tblComposant " & _
"SET stk = " & nouvellevaleur & _
" WHERE refComp = '" & refPourLeComposantAMettreAJour & "'"
Alors après, que la refPourLeComposantAMettreAJour soit lue dans une
autre requête, c'est une autre question.
J'aurais tendance à ouvrir un jeu d'enregistrements sur l'autre requê te
pour lire chaque clef à mettre à jour, ça pourrait être intéres sant que
quelqu'un nous écrive un jeu de requêtes pour faire l'ensemble sans
passer par un jeu d'enregistrements, comme ça, pour faire joli.
Bonjour,
Txl a écrit, le 11/04/2009 11:56 :
> 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é
Oui, c'est bien possible qu'on tique pour faire une mise à jour sur un
INNER JOIN.
ça risque de marcher bien mieux en isolant la clef du composant, disons
que ce soit refComp et qu'elle soit une chaîne de caractères, et en
faisant la mise à jour plutôt sur la table :
"UPDATE tblComposant " & _
"SET stk = " & nouvellevaleur & _
" WHERE refComp = '" & refPourLeComposantAMettreAJour & "'"
Alors après, que la refPourLeComposantAMettreAJour soit lue dans une
autre requête, c'est une autre question.
J'aurais tendance à ouvrir un jeu d'enregistrements sur l'autre requê te
pour lire chaque clef à mettre à jour, ça pourrait être intéres sant que
quelqu'un nous écrive un jeu de requêtes pour faire l'ensemble sans
passer par un jeu d'enregistrements, comme ça, pour faire joli.
Bonjour,
Txl a écrit, le 11/04/2009 11:56 :
> 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é
Oui, c'est bien possible qu'on tique pour faire une mise à jour sur un
INNER JOIN.
ça risque de marcher bien mieux en isolant la clef du composant, disons
que ce soit refComp et qu'elle soit une chaîne de caractères, et en
faisant la mise à jour plutôt sur la table :
"UPDATE tblComposant " & _
"SET stk = " & nouvellevaleur & _
" WHERE refComp = '" & refPourLeComposantAMettreAJour & "'"
Alors après, que la refPourLeComposantAMettreAJour soit lue dans une
autre requête, c'est une autre question.
J'aurais tendance à ouvrir un jeu d'enregistrements sur l'autre requê te
pour lire chaque clef à mettre à jour, ça pourrait être intéres sant que
quelqu'un nous écrive un jeu de requêtes pour faire l'ensemble sans
passer par un jeu d'enregistrements, comme ça, pour faire joli.
Bonjour,
EN fait mon stock est en théorie juste, j'ai fait un inventaire, quand
je commande des pièces à un fournisseur c'est stocké dans la base dans
une table de commande fournisseur et quand la commande arrive c'est
validé "tu as commandé 12 rondelles, le colis ets arrivé il y a 12
rondelles, je rajoute 12 rondelles au stock"
Par contre quand un client me commande un produit "ABC" je liste les
rondelles, boulons et écrous qu'il me faut pour faire le ABC (j'ai une
table de nomenclature) et je sors ca du stock, donc ma requete va
regarder ce qu'il me faut pour faire un ABC et multiplier les nombre
de rondellles par la quantité de ABC que je veux, pareil pour les
écrous et les boulons, donc je me retrouve aec un résultat de requete
qui contient la ref de la rondelle, la quantité TOTALE que je vais
utiliser dans cette commande et je vire ca du stock, sauf que je
n'arrive pas à le virer du stock...
La ou ca se complique c'est que je peux FABRIQUER des ABC mais je peux
aussi RESTAURER des ABC, si tu en as acheté un il y a 5 ans et que je
le répare je vais changer certaines pièces, mais pas d'autres, donc
j'ai une nomenclature de fabrication (fab) et une nomenclature de
restauration (res), ensuite j'enlève de mon stock totqteres si je fais
une resto ou totqtefab si je fais une fabrication.
Pour le PS j'essaie de t'expliquer.
Un form frmdispo me permet de choisir le modèle (par ex ABC) puis la
quantité que je veux faire puis un bouton bascule fabrication ou
restauration
donc le champ totqteres est le produit de la quantité à fabriqur ou a
restaurer multiplié par la qte qu'on a défini dans le form...
J'espère que c'est clair et je suis sur que j'aurais pu le faire
différement mais je suis TRES MAUVAIS aveac les dlookup donc je ne m'y
aventure pas trop, et j'ai tjs ce pb de requete qui me dit qu'elle
doit etre modifiable
Merci d'avance
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 totqteresMerciBonjour,
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
Bonjour,
EN fait mon stock est en théorie juste, j'ai fait un inventaire, quand
je commande des pièces à un fournisseur c'est stocké dans la base dans
une table de commande fournisseur et quand la commande arrive c'est
validé "tu as commandé 12 rondelles, le colis ets arrivé il y a 12
rondelles, je rajoute 12 rondelles au stock"
Par contre quand un client me commande un produit "ABC" je liste les
rondelles, boulons et écrous qu'il me faut pour faire le ABC (j'ai une
table de nomenclature) et je sors ca du stock, donc ma requete va
regarder ce qu'il me faut pour faire un ABC et multiplier les nombre
de rondellles par la quantité de ABC que je veux, pareil pour les
écrous et les boulons, donc je me retrouve aec un résultat de requete
qui contient la ref de la rondelle, la quantité TOTALE que je vais
utiliser dans cette commande et je vire ca du stock, sauf que je
n'arrive pas à le virer du stock...
La ou ca se complique c'est que je peux FABRIQUER des ABC mais je peux
aussi RESTAURER des ABC, si tu en as acheté un il y a 5 ans et que je
le répare je vais changer certaines pièces, mais pas d'autres, donc
j'ai une nomenclature de fabrication (fab) et une nomenclature de
restauration (res), ensuite j'enlève de mon stock totqteres si je fais
une resto ou totqtefab si je fais une fabrication.
Pour le PS j'essaie de t'expliquer.
Un form frmdispo me permet de choisir le modèle (par ex ABC) puis la
quantité que je veux faire puis un bouton bascule fabrication ou
restauration
donc le champ totqteres est le produit de la quantité à fabriqur ou a
restaurer multiplié par la qte qu'on a défini dans le form...
J'espère que c'est clair et je suis sur que j'aurais pu le faire
différement mais je suis TRES MAUVAIS aveac les dlookup donc je ne m'y
aventure pas trop, et j'ai tjs ce pb de requete qui me dit qu'elle
doit etre modifiable
Merci d'avance
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
Bonjour,
EN fait mon stock est en théorie juste, j'ai fait un inventaire, quand
je commande des pièces à un fournisseur c'est stocké dans la base dans
une table de commande fournisseur et quand la commande arrive c'est
validé "tu as commandé 12 rondelles, le colis ets arrivé il y a 12
rondelles, je rajoute 12 rondelles au stock"
Par contre quand un client me commande un produit "ABC" je liste les
rondelles, boulons et écrous qu'il me faut pour faire le ABC (j'ai une
table de nomenclature) et je sors ca du stock, donc ma requete va
regarder ce qu'il me faut pour faire un ABC et multiplier les nombre
de rondellles par la quantité de ABC que je veux, pareil pour les
écrous et les boulons, donc je me retrouve aec un résultat de requete
qui contient la ref de la rondelle, la quantité TOTALE que je vais
utiliser dans cette commande et je vire ca du stock, sauf que je
n'arrive pas à le virer du stock...
La ou ca se complique c'est que je peux FABRIQUER des ABC mais je peux
aussi RESTAURER des ABC, si tu en as acheté un il y a 5 ans et que je
le répare je vais changer certaines pièces, mais pas d'autres, donc
j'ai une nomenclature de fabrication (fab) et une nomenclature de
restauration (res), ensuite j'enlève de mon stock totqteres si je fais
une resto ou totqtefab si je fais une fabrication.
Pour le PS j'essaie de t'expliquer.
Un form frmdispo me permet de choisir le modèle (par ex ABC) puis la
quantité que je veux faire puis un bouton bascule fabrication ou
restauration
donc le champ totqteres est le produit de la quantité à fabriqur ou a
restaurer multiplié par la qte qu'on a défini dans le form...
J'espère que c'est clair et je suis sur que j'aurais pu le faire
différement mais je suis TRES MAUVAIS aveac les dlookup donc je ne m'y
aventure pas trop, et j'ai tjs ce pb de requete qui me dit qu'elle
doit etre modifiable
Merci d'avance
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 totqteresMerciBonjour,
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
Bonjour,
Txl a écrit :
> Bonjour,
> EN fait mon stock est en théorie juste, j'ai fait un inventaire, quan d
> je commande des pièces à un fournisseur c'est stocké dans la base dans
> une table de commande fournisseur et quand la commande arrive c'est
> validé "tu as commandé 12 rondelles, le colis ets arrivé il y a 1 2
> rondelles, je rajoute 12 rondelles au stock"
> Par contre quand un client me commande un produit "ABC" je liste les
> rondelles, boulons et écrous qu'il me faut pour faire le ABC (j'ai un e
> table de nomenclature) et je sors ca du stock, donc ma requete va
> regarder ce qu'il me faut pour faire un ABC et multiplier les nombre
> de rondellles par la quantité de ABC que je veux, pareil pour les
> écrous et les boulons, donc je me retrouve aec un résultat de reque te
> qui contient la ref de la rondelle, la quantité TOTALE que je vais
> utiliser dans cette commande et je vire ca du stock, sauf que je
> n'arrive pas à le virer du stock...
> La ou ca se complique c'est que je peux FABRIQUER des ABC mais je peux
> aussi RESTAURER des ABC, si tu en as acheté un il y a 5 ans et que je
> le répare je vais changer certaines pièces, mais pas d'autres, donc
> j'ai une nomenclature de fabrication (fab) et une nomenclature de
> restauration (res), ensuite j'enlève de mon stock totqteres si je fai s
> une resto ou totqtefab si je fais une fabrication.
> Pour le PS j'essaie de t'expliquer.
> Un form frmdispo me permet de choisir le modèle (par ex ABC) puis la
> quantité que je veux faire puis un bouton bascule fabrication ou
> restauration
> donc le champ totqteres est le produit de la quantité à fabriqur ou a
> restaurer multiplié par la qte qu'on a défini dans le form...
> J'espère que c'est clair et je suis sur que j'aurais pu le faire
> différement mais je suis TRES MAUVAIS aveac les dlookup donc je ne m' y
> aventure pas trop, et j'ai tjs ce pb de requete qui me dit qu'elle
> doit etre modifiable
> Merci d'avance
Pourtant je pense qu'avec un dlookup ce serait possible, mais bon il
faudrait décortiquer la structure de tes tables/requêtes pour pou voir
t'aider efficacement et tout cela demande du temps et en ce moment
j'en ai pas trop.
PS:Ok pour la différence fabrication/restauration.
>> Bonjour,
>> Txl a écrit :
>>> Bonjour,
>>> Les entrées sont calculées bien avant, j'ai un form de réceptio n 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'aff iche
>>> 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ém ents
>> 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, pourqu oi
>> tu utilise une requète pour calculer [totqtefab] utilise plutot une
>> fonction de domaine (DLookup) pour récupérer le nombre néces saire de
>> composant que tu multiplieras par le nombre de produit à produir e.
>> 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 qu i
>>>>> prend d'un coté la table composants tblcomposant qui contient les
>>>>> composants de produits et leur stock et d'un autre coté la requet e
>>>>> 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 quo i
>>>>> "L'opération doit utiliser une requete qui peut etre mise à jou r" 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 donn e 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], [qtere s]*
>>>>> [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 e t la
>>>>> quantité que je désire fabriquer (ou restaurer) par ex 2.
>>>>> Ca me lance la requete rqstkmaj qui me donne la liste des composant s
>>>>> requis par le form et la quantité totale pour une fab ou une rest o, et
>>>>> la requete que j'essaie de faire maintenant doit me modifier la tab le
>>>>> [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 te s entrées ?
>>>> Car ensuite pas besoin de stocker la valeur du stock restant celui-c i
>>>> va se calculer à la demande via l'opération suivante :
>>>> stock restant = somme des entrées - somme des sorties
Bonjour,
Txl a écrit :
> Bonjour,
> EN fait mon stock est en théorie juste, j'ai fait un inventaire, quan d
> je commande des pièces à un fournisseur c'est stocké dans la base dans
> une table de commande fournisseur et quand la commande arrive c'est
> validé "tu as commandé 12 rondelles, le colis ets arrivé il y a 1 2
> rondelles, je rajoute 12 rondelles au stock"
> Par contre quand un client me commande un produit "ABC" je liste les
> rondelles, boulons et écrous qu'il me faut pour faire le ABC (j'ai un e
> table de nomenclature) et je sors ca du stock, donc ma requete va
> regarder ce qu'il me faut pour faire un ABC et multiplier les nombre
> de rondellles par la quantité de ABC que je veux, pareil pour les
> écrous et les boulons, donc je me retrouve aec un résultat de reque te
> qui contient la ref de la rondelle, la quantité TOTALE que je vais
> utiliser dans cette commande et je vire ca du stock, sauf que je
> n'arrive pas à le virer du stock...
> La ou ca se complique c'est que je peux FABRIQUER des ABC mais je peux
> aussi RESTAURER des ABC, si tu en as acheté un il y a 5 ans et que je
> le répare je vais changer certaines pièces, mais pas d'autres, donc
> j'ai une nomenclature de fabrication (fab) et une nomenclature de
> restauration (res), ensuite j'enlève de mon stock totqteres si je fai s
> une resto ou totqtefab si je fais une fabrication.
> Pour le PS j'essaie de t'expliquer.
> Un form frmdispo me permet de choisir le modèle (par ex ABC) puis la
> quantité que je veux faire puis un bouton bascule fabrication ou
> restauration
> donc le champ totqteres est le produit de la quantité à fabriqur ou a
> restaurer multiplié par la qte qu'on a défini dans le form...
> J'espère que c'est clair et je suis sur que j'aurais pu le faire
> différement mais je suis TRES MAUVAIS aveac les dlookup donc je ne m' y
> aventure pas trop, et j'ai tjs ce pb de requete qui me dit qu'elle
> doit etre modifiable
> Merci d'avance
Pourtant je pense qu'avec un dlookup ce serait possible, mais bon il
faudrait décortiquer la structure de tes tables/requêtes pour pou voir
t'aider efficacement et tout cela demande du temps et en ce moment
j'en ai pas trop.
PS:Ok pour la différence fabrication/restauration.
>> Bonjour,
>> Txl a écrit :
>>> Bonjour,
>>> Les entrées sont calculées bien avant, j'ai un form de réceptio n 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'aff iche
>>> 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ém ents
>> 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, pourqu oi
>> tu utilise une requète pour calculer [totqtefab] utilise plutot une
>> fonction de domaine (DLookup) pour récupérer le nombre néces saire de
>> composant que tu multiplieras par le nombre de produit à produir e.
>> 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 qu i
>>>>> prend d'un coté la table composants tblcomposant qui contient les
>>>>> composants de produits et leur stock et d'un autre coté la requet e
>>>>> 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 quo i
>>>>> "L'opération doit utiliser une requete qui peut etre mise à jou r" 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 donn e 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], [qtere s]*
>>>>> [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 e t la
>>>>> quantité que je désire fabriquer (ou restaurer) par ex 2.
>>>>> Ca me lance la requete rqstkmaj qui me donne la liste des composant s
>>>>> requis par le form et la quantité totale pour une fab ou une rest o, et
>>>>> la requete que j'essaie de faire maintenant doit me modifier la tab le
>>>>> [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 te s entrées ?
>>>> Car ensuite pas besoin de stocker la valeur du stock restant celui-c i
>>>> va se calculer à la demande via l'opération suivante :
>>>> stock restant = somme des entrées - somme des sorties
Bonjour,
Txl a écrit :
> Bonjour,
> EN fait mon stock est en théorie juste, j'ai fait un inventaire, quan d
> je commande des pièces à un fournisseur c'est stocké dans la base dans
> une table de commande fournisseur et quand la commande arrive c'est
> validé "tu as commandé 12 rondelles, le colis ets arrivé il y a 1 2
> rondelles, je rajoute 12 rondelles au stock"
> Par contre quand un client me commande un produit "ABC" je liste les
> rondelles, boulons et écrous qu'il me faut pour faire le ABC (j'ai un e
> table de nomenclature) et je sors ca du stock, donc ma requete va
> regarder ce qu'il me faut pour faire un ABC et multiplier les nombre
> de rondellles par la quantité de ABC que je veux, pareil pour les
> écrous et les boulons, donc je me retrouve aec un résultat de reque te
> qui contient la ref de la rondelle, la quantité TOTALE que je vais
> utiliser dans cette commande et je vire ca du stock, sauf que je
> n'arrive pas à le virer du stock...
> La ou ca se complique c'est que je peux FABRIQUER des ABC mais je peux
> aussi RESTAURER des ABC, si tu en as acheté un il y a 5 ans et que je
> le répare je vais changer certaines pièces, mais pas d'autres, donc
> j'ai une nomenclature de fabrication (fab) et une nomenclature de
> restauration (res), ensuite j'enlève de mon stock totqteres si je fai s
> une resto ou totqtefab si je fais une fabrication.
> Pour le PS j'essaie de t'expliquer.
> Un form frmdispo me permet de choisir le modèle (par ex ABC) puis la
> quantité que je veux faire puis un bouton bascule fabrication ou
> restauration
> donc le champ totqteres est le produit de la quantité à fabriqur ou a
> restaurer multiplié par la qte qu'on a défini dans le form...
> J'espère que c'est clair et je suis sur que j'aurais pu le faire
> différement mais je suis TRES MAUVAIS aveac les dlookup donc je ne m' y
> aventure pas trop, et j'ai tjs ce pb de requete qui me dit qu'elle
> doit etre modifiable
> Merci d'avance
Pourtant je pense qu'avec un dlookup ce serait possible, mais bon il
faudrait décortiquer la structure de tes tables/requêtes pour pou voir
t'aider efficacement et tout cela demande du temps et en ce moment
j'en ai pas trop.
PS:Ok pour la différence fabrication/restauration.
>> Bonjour,
>> Txl a écrit :
>>> Bonjour,
>>> Les entrées sont calculées bien avant, j'ai un form de réceptio n 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'aff iche
>>> 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ém ents
>> 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, pourqu oi
>> tu utilise une requète pour calculer [totqtefab] utilise plutot une
>> fonction de domaine (DLookup) pour récupérer le nombre néces saire de
>> composant que tu multiplieras par le nombre de produit à produir e.
>> 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 qu i
>>>>> prend d'un coté la table composants tblcomposant qui contient les
>>>>> composants de produits et leur stock et d'un autre coté la requet e
>>>>> 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 quo i
>>>>> "L'opération doit utiliser une requete qui peut etre mise à jou r" 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 donn e 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], [qtere s]*
>>>>> [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 e t la
>>>>> quantité que je désire fabriquer (ou restaurer) par ex 2.
>>>>> Ca me lance la requete rqstkmaj qui me donne la liste des composant s
>>>>> requis par le form et la quantité totale pour une fab ou une rest o, et
>>>>> la requete que j'essaie de faire maintenant doit me modifier la tab le
>>>>> [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 te s entrées ?
>>>> Car ensuite pas besoin de stocker la valeur du stock restant celui-c i
>>>> va se calculer à la demande via l'opération suivante :
>>>> stock restant = somme des entrées - somme des sorties
Euu, je suis pas sur de tout comprendre :)
la requete qui me donne la liste de choses à mettre a jour dans la
table comprend une ref unique à 4 chiffres (genre 1454), et 1 quantit é
(par exemple 4), je veux aller dans la table tblcomposant et faire
pour la ref 1454 stk=stk+4
Comme la cle du composant est la ref 1454 je pensais que ca serait
bien vérouillé, non ?
Sinon est-ce que tu peux m'expliquer en francais (et pas en
access :) ) ce qu'il faut que je fasse ?
Euu, je suis pas sur de tout comprendre :)
la requete qui me donne la liste de choses à mettre a jour dans la
table comprend une ref unique à 4 chiffres (genre 1454), et 1 quantit é
(par exemple 4), je veux aller dans la table tblcomposant et faire
pour la ref 1454 stk=stk+4
Comme la cle du composant est la ref 1454 je pensais que ca serait
bien vérouillé, non ?
Sinon est-ce que tu peux m'expliquer en francais (et pas en
access :) ) ce qu'il faut que je fasse ?
Euu, je suis pas sur de tout comprendre :)
la requete qui me donne la liste de choses à mettre a jour dans la
table comprend une ref unique à 4 chiffres (genre 1454), et 1 quantit é
(par exemple 4), je veux aller dans la table tblcomposant et faire
pour la ref 1454 stk=stk+4
Comme la cle du composant est la ref 1454 je pensais que ca serait
bien vérouillé, non ?
Sinon est-ce que tu peux m'expliquer en francais (et pas en
access :) ) ce qu'il faut que je fasse ?
Txl a écrit, le 14/04/2009 14:48 :
> Euu, je suis pas sur de tout comprendre :)
> la requete qui me donne la liste de choses à mettre a jour dans la
> table comprend une ref unique à 4 chiffres (genre 1454), et 1 quantit é
> (par exemple 4), je veux aller dans la table tblcomposant et faire
> pour la ref 1454 stk=stk+4
UPDATE tblComposant SET stk = stk + 4 WHERE ref = 1454
> Comme la cle du composant est la ref 1454 je pensais que ca serait
> bien vérouillé, non ?
> Sinon est-ce que tu peux m'expliquer en francais (et pas en
> access :) ) ce qu'il faut que je fasse ?
Créer une nouvelle requête, l'afficher en mode SQL (il y a une liste
déroulante en forme de bouton, pour ça, à gauche de la barre d'outi ls),
coller le code ci-dessus, cliquer sur Exécuter (c'est un point
d'exclamation, je crois ?
Et ensuite aller vérifier le résultat.
Txl a écrit, le 14/04/2009 14:48 :
> Euu, je suis pas sur de tout comprendre :)
> la requete qui me donne la liste de choses à mettre a jour dans la
> table comprend une ref unique à 4 chiffres (genre 1454), et 1 quantit é
> (par exemple 4), je veux aller dans la table tblcomposant et faire
> pour la ref 1454 stk=stk+4
UPDATE tblComposant SET stk = stk + 4 WHERE ref = 1454
> Comme la cle du composant est la ref 1454 je pensais que ca serait
> bien vérouillé, non ?
> Sinon est-ce que tu peux m'expliquer en francais (et pas en
> access :) ) ce qu'il faut que je fasse ?
Créer une nouvelle requête, l'afficher en mode SQL (il y a une liste
déroulante en forme de bouton, pour ça, à gauche de la barre d'outi ls),
coller le code ci-dessus, cliquer sur Exécuter (c'est un point
d'exclamation, je crois ?
Et ensuite aller vérifier le résultat.
Txl a écrit, le 14/04/2009 14:48 :
> Euu, je suis pas sur de tout comprendre :)
> la requete qui me donne la liste de choses à mettre a jour dans la
> table comprend une ref unique à 4 chiffres (genre 1454), et 1 quantit é
> (par exemple 4), je veux aller dans la table tblcomposant et faire
> pour la ref 1454 stk=stk+4
UPDATE tblComposant SET stk = stk + 4 WHERE ref = 1454
> Comme la cle du composant est la ref 1454 je pensais que ca serait
> bien vérouillé, non ?
> Sinon est-ce que tu peux m'expliquer en francais (et pas en
> access :) ) ce qu'il faut que je fasse ?
Créer une nouvelle requête, l'afficher en mode SQL (il y a une liste
déroulante en forme de bouton, pour ça, à gauche de la barre d'outi ls),
coller le code ci-dessus, cliquer sur Exécuter (c'est un point
d'exclamation, je crois ?
Et ensuite aller vérifier le résultat.
Oui, sauf que pour faire 1 produit j'ai 73 references...
"L'opération doit utiliser une requete qui peut etre mise à jour"
Oui, sauf que pour faire 1 produit j'ai 73 references...
"L'opération doit utiliser une requete qui peut etre mise à jour"
Oui, sauf que pour faire 1 produit j'ai 73 references...
"L'opération doit utiliser une requete qui peut etre mise à jour"
' ========= En haut de la procédure
Dim Rs As Recordset
Dim strMaj As String 'code SQL de mise à jour
' ========= Après avoir défini strSQL
Set Rs = CurrentDb().OpenRecordset(strSQL)
'Rs est un jeu d'enregistrements ouvert sur la requête de sélection
' ========= En haut de la procédure
Dim Rs As Recordset
Dim strMaj As String 'code SQL de mise à jour
' ========= Après avoir défini strSQL
Set Rs = CurrentDb().OpenRecordset(strSQL)
'Rs est un jeu d'enregistrements ouvert sur la requête de sélection
' ========= En haut de la procédure
Dim Rs As Recordset
Dim strMaj As String 'code SQL de mise à jour
' ========= Après avoir défini strSQL
Set Rs = CurrentDb().OpenRecordset(strSQL)
'Rs est un jeu d'enregistrements ouvert sur la requête de sélection
Set Rs = CurrentDb().OpenRecordset(strSQL)
'Rs est un jeu d'enregistrements ouvert sur la requête de sélection
While Not Rs.EOF
Debug.Print "Traitement de la référence" & ref & " : ancien stoc k " &
stk & ", nouveau stock " & stk + 4
'ce qui permet de voir dans la fenêtre d'exécution ce qui aura é té fait
'et de vérifier dans la table que le nouveau stock correspondra bi en
'à ce à quoi on s'attendra
strMaj = "UPDATE tblComposant"
strMaj = strMaj + " SET stk = " & (stk + 4)
strMaj = strMaj + " WHERE ref = " & ref
'Attention, les espaces sont importants
'devant SET et WHERE
CurrentDb().Execute(strMaj)
Rs.MoveNext
Wend
Rs.Close
Set Rs = Nothing
Set Rs = CurrentDb().OpenRecordset(strSQL)
'Rs est un jeu d'enregistrements ouvert sur la requête de sélection
While Not Rs.EOF
Debug.Print "Traitement de la référence" & ref & " : ancien stoc k " &
stk & ", nouveau stock " & stk + 4
'ce qui permet de voir dans la fenêtre d'exécution ce qui aura é té fait
'et de vérifier dans la table que le nouveau stock correspondra bi en
'à ce à quoi on s'attendra
strMaj = "UPDATE tblComposant"
strMaj = strMaj + " SET stk = " & (stk + 4)
strMaj = strMaj + " WHERE ref = " & ref
'Attention, les espaces sont importants
'devant SET et WHERE
CurrentDb().Execute(strMaj)
Rs.MoveNext
Wend
Rs.Close
Set Rs = Nothing
Set Rs = CurrentDb().OpenRecordset(strSQL)
'Rs est un jeu d'enregistrements ouvert sur la requête de sélection
While Not Rs.EOF
Debug.Print "Traitement de la référence" & ref & " : ancien stoc k " &
stk & ", nouveau stock " & stk + 4
'ce qui permet de voir dans la fenêtre d'exécution ce qui aura é té fait
'et de vérifier dans la table que le nouveau stock correspondra bi en
'à ce à quoi on s'attendra
strMaj = "UPDATE tblComposant"
strMaj = strMaj + " SET stk = " & (stk + 4)
strMaj = strMaj + " WHERE ref = " & ref
'Attention, les espaces sont importants
'devant SET et WHERE
CurrentDb().Execute(strMaj)
Rs.MoveNext
Wend
Rs.Close
Set Rs = Nothing