Calculer d'une date sur plusieurs critères

Résolu/Fermé
dedz - Modifié le 15 mai 2018 à 16:07
 dedz - 17 mai 2018 à 10:05
Bonjour à tous,

J'ai un petit soucis que je vais tenter de vous expliquer, je ne sais pas si il est possible avec access de le faire...

Alors pour commencer j'ai une base access composé de plusieurs tables correspondant :
- Le stock de mon entreprise (Références + Stocks)
- Les expéditions prévues (Références + Quantités + Date d'expédition)

Je voulais savoir si il était possible avec une requête qu'access me donne la date à laquelle je serais en rupture.

Par exemple j'ai la référence "A" que je dois expédier le 15 /05 quantité 2, le 16/05 en quantité 4 et le 17/05 en quantité 3. J'ai 5 pièces en stock et je voudrais qu'Access me fasse une requête pour me dire que le 16/05 je ne pourrais pas satisfaire les expéditions.

J'avais pensé à une fonction en iif ( stock > quantité à expédier ; "Ok"; faire le même calcul à la prochaine date d'expédition en ayant ajouté la quantité précédente). Mais impossible de trouver le moyen de formuler en langage Access l'information en Gras.

l'objectif que je souhaite serait d'avoir une table sur laquelle j'aurai deux infos :
- Référence de mon article
- Date à laquelle je ne peux pas satisfaire l'expédition

Je vous remercie par avance pour votre aide

Dedz

2 réponses

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
15 mai 2018 à 19:16
bonsoir, je te propose cette requête:
select reff,min(dat) from (SELECT e1.ref as reff,  e1.exp as dat
FROM expéditions as e1, expéditions AS e2, stock as s
where e1.ref=e2.ref and e1.exp>=e2.exp and s.ref=e1.ref
group by e1.ref,e1.exp, s.stock
having  s.stock<sum(e2.quant))
group by reff ;
0
Bonjour,

Merci pour ta réponse après adaptation à mon environnement ça a l'air de marcher !

Par contre j'ai un petit soucis, il me prend toujours la première date d'expédition lorsqu'il manque du stock.

Je m'explique avec l'exemple de mon premier post :
j'ai la référence "A" que je dois expédier le
15 /05 quantité 2,
le 16/05 en quantité 4
et le 17/05 en quantité 3.

J'ai 5 pièces en stock, je ne pourrais donc pas satisfaire les commande le 16/05 puisqu'il me restera 3 pièces en stock.

Seulement la requête détecte que le je serais en rupture mais cette dernière ne m'affiche que le 15/05, date des premières expéditions de la Réf "A". Peut-on afficher le 16/05?

Merci par avance pour ton aide
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
16 mai 2018 à 17:38
j'ai testé avec ton exemple, et chez moi cela m'affiche bien le 16/5/18.
tes dates sont-elle bien enregistrées comme des dates?
comment as-tu adapté à ton environnement?
0
Bonjour,

En fait je me suis planté dans mon intégration j'ai mis un mauvais argument dans la close Having, au lieu de mettre la somme des quantités j'ai mis les dates ... Comme les noms des champs de mes tables sont pourris j'avais pas remarqué mon erreur.

En tout cas je te remercie vivement de ton aide :)

Dedz
0