Pour ta table de stock, la structure recommandée serait :
tblStock
NumMouvement
IdPiece
Quantite
SensMouvement (-1 = sortie, +1 = entrée)
DateMouvement
CodeTypeMouvement (ENTREE, SORTIE) Optionnel, permet de mieux qualifier le mouvement.
Le stock initial est une entrée unique de la quantité voulue.
Pour avoir le stock à une date donnée tu peux utiliser la fonction DSum(). Ici un exemple qu'on peut utiliser dans une requête
DSum("[Sens]*[Quantite]"; "tblStock"; "[DateMouvement]<=#" & format(UneDateDonnee; "aaaa-mm-dd") & "# and [NumMouvement]<" & [NumMouvement])
- Les # sont obligatoires avant et après les dates
- UneDateDonnee est la date à laquelle tu veux ton stock.
- Le format n'est pas obligatoire mais il évite à Access les ambiguités sur les dates du type 01/02/2017 qui peuvent être vu comme le 1er février (format JJ-MM-AAAA) ou le 2 janvier (MM-JJ-AAAA).
- and [NumMouvement]<" & [NumMouvement] permet d'avoir un stock cohérent même si tu as plus d'un mouvement dans la même journée.
Et aussi pour les noms internes il est recommandé de se limiter à :
- Lettres minuscules et majuscules sans accent et sans "décorations" (pas de ç)
- Aux chiffres
- Au souligné (_)
Même si Access acceptent les autres caractères, ils sont parfois source de bug particulièrement vicieux et sournois.
Si tu as besoin de textes plus agréables pour les humains utilise un formulaire et des étiquettes. Ils sont là pour cela.
A+
Partager