Bonjour,
Voilà le problème :
j'ai récupéré par une requête les infos suivantes :
- n°article
- empl : emplacement
- type : type d'emplacement
- capacite : capacité de l'emplacement
- vol_occ : volume occupé
- vol_dispo : volume disponible
- tx_occ : taux d'occupation de l'emplacement
L'objectif est de lister les transferts pertinents dans l'entrepot afin d'optimiser le stockage.
Une répresentation du résulat sous forme de "liste transfert" avec un champ emplacement source et un autre emplacement destination pourrait être une représentation adaptée...
Dans cet objectif je pensais à quelque chose comme ça :
SI un article est stocké à plusieurs emplacements de même type, alors je compare les volumes occupés et disponibles dans chaque emplacements où sont stockés cet article.
Si le volume occupé est inférieur au volume disponible alors un transfert est possible.
Sinon je cherche un emplacement disponible de capacité pouvant accueillir le volume total occupé par cet article et le transfert est possible.
ou encore exprimé comme ça :
Si
(n°article <> n°article+1) alors //cet article à un seul empl.;
i := i + 1 ;
//transfert impossible ;
Sinonsi
(type = type + 1) alors
Si
(vol.occ.n°article < vol.dispo.n°article+1) alors
empl := emplacement source ;
empl+1 := emplacement destination;
Afficher; //transfert possible ;
Sinon
(SELECT empl AS emplacement destination FROM list where tx_occ = 0, capacité>SUM(vol_occ);
FinSi;
Finsi;
Persuadée que mon algo à des failles et est un mixe pas très élégant de divers pseudo langage j'aimerais des conseils sur les possiblités de traiter ce problème via Access ?
ps: je ne maitrise pas le VBA, plus SQL mais pas experte !
Merci
Partager