Des soucis de cuisine pour un petit programme access

Bonjour tout le monde
J’essaye de faire une opération sur un petit programme access mais je n’y arrive pas.
Les tables:
“Plat” “Ingredient” “Commande” “Transaction”

RefPlat RefIngredient RefCommande, RefTransaction,
NomPlat NomIngredient date RefCommande
RefIngredient RefPlat
QuantiteIngredient RefIngredient
UnitésSorties UnitésEntrees

Par plat il y a un seul ingredient important, pour ne pas compliquer
Exemple . Plat : Spaghetti bolognese Ingredient : 150 Gr de viande hachée
Steak minute 300 Gr de filet de boeuf

Les UnitésEntrees représentent la quantité d?ingrédient commandée, ce qui représentera le stock
Les UnitésSorties représentent le nombre de plat vendu qui multiplié par la quantitéIngredient me donnera la sortie Ingrédient

Je veux calculer par une requête ou un formulaire le total d?Ingredient qui me reste en stock apres les entrees et les sorties
Je ne parviens donc pas à faire la difference total EntreeIngredient ? TotalSortieIngredient pour avoir mon stock.
Le problême se trouve à la constitution des tables et les relations entre elles.
Si quelqu?un peut trouver la solution je le remercie d?avance

BOB

déjà pourquoi faire ça sur access quand on peut installer wamp en 10 secondes…

et pourquoi faire simple quand on peut faire compliqué ?

prenons le cas général :

Plat:

  • idplat
  • nom

Ingredient_Plat:

  • idplat
  • idingredient
  • nb_unite (en unite de reference de l’ingredient)

Ingredient:

  • idingredient
  • type_unite (Kg, Litre, etc)
  • nom

Commande:

  • idcommande
  • date
  • fournisseur

Ligne_Commande:

  • idingredient
  • nb_unite (en unite de reference de l’ingredient)

Plat_servi:

  • idplat
  • date
  • nb_plat

Sorties totales par ingredient:
(on peut bien sur ajouter des dates)

select ip.idingredient, sum(ip.nb_unite*ps.nb_plat)
from Ingredient_Plat ip, plat_servi ps
where ip.idplat=ps.idplat
group by i.idingredient

Entrées totales par ingredient:
(on peut bien sur ajouter des dates avec la table commande en plus)

select lc.idingredient, sum(lc.nb_unite)
from Ligne_Commande lc
group by lc.idingredient

Tu utilises quoi pour avoir le cumul de tes entrées/sorties ? une requête de regroupement ?

Merci Quazardous pour ta réponse, mais je vais prendre le temps de mettre tout ça au propre et là il m’en faut “du temps”
Je ne suis pas très calé sur access.
Au fait c’est quoi wamp

bob

wamp c un serveur php/mysql sur windoze…

Attention, la modélisation SQL que quazardous t’as fourni peut très bien être employée sous Access (même si je trouve qu’Access c’est le mal).
Edité le 17/06/2007 à 22:07

chut fallait pas le dire lol

open office base au moins :confused:


[quote=bob1314]J'ai créer les tables comme tu l'as indiqué, avec les clés primaire comme ci-dessous Plat: *- idplat - nom

Ingredient_Plat:
*- idplat
**- idingredient

  • nb_unite (en unite de reference de l’ingredient)

Ingredient:
*- idingredient

  • type_unite (Kg, Litre, etc)
  • nom

Commande:
*- idcommande

  • date
  • fournisseur

Ligne_Commande:
**- idcommande
*- idingredient

  • nb_unite (en unite de reference de l’ingredient)

Plat_servi:
*- idplat
**- date

  • nb_plat

BOB
[/quote]

j’ai ajouté des ** devant les champs qui doivent être dans les clé primaires … don il y a des clés primaires composées

je fais un modèle quand j’ai 2 minute

PS : le forum c’est pour que tout le monde en profite alors j’ai répondu en forum ok

J’avais déjà essayé avec les clés primaires comme ton modèle, sans résultat.
J’ai entré aussi:
Sorties totales par ingredient:
(on peut bien sur ajouter des dates)

select ip.idingredient, sum(ip.nb_unite*ps.nb_plat)
from Ingredient_Plat ip, plat_servi ps
where ip.idplat=ps.idplat
group by i.idingredient

Entrées totales par ingredient:
(on peut bien sur ajouter des dates avec la table commande en plus)

select lc.idingredient, sum(lc.nb_unite)
from Ligne_Commande lc
group by lc.idingredient

dansVisual basic tel quel ou en y incluant : private sub et end sub
Toujours rien.
Il faut dire que je ne suis pas dégourdi.
Enfin si je vous prend trop la tête laissez tomber je vous remercie quand même de votre aide
A une prochaine fois quand j’aurai progressé
BOB

Bon je ne sais pas si ton idée de programme te sera toujours utili mais se que je peu te proposer c’est de te le faire sous access et te l’envoyer via messagerie plus trad (je fait des etudes d’informatique et sa sera un bon exerce pour moi…) donc je sais que ce poste est “vieu” mais bon si ton besoin est toujours d’actualité…