Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilisation de données au sein d'une base Access 2003

10 réponses
Avatar
Adrione
Bonjour à tous,
Voila je suis nouveau sur Access et confronté à un problème que mes
compétences actuelles ne me permettent pas de surmonter.
Au départ j'utilise une base de données importante avec des arrivages des
consommations... Chaque ligne est associée à un lieu et à une date(par mois) .
Je voudrai pour chaque lieu et pour chaque mois calculaer l'inventaire:
stock final = stock initial-consommations+arrivages. Le point bloquant
concerne stock initial en gros je peux initialiser le calcul (j'ai la donnée
pour Janvier) mais ensuite il faudrait que je fasse stock
initial(fevrier)=stockfinal(janvier) puis lancer le calcul du mois de Fevrier
et ainsi de suite. Quelqu'un a-t-il une idéee quant à la façon d'aller
"cherche" une donnée qui ne se trouve pas sur la même ligne dans une base de
donnée?

Merci beaucoup pour toute aide que vous pourriez m'apporter.
Cordialement.

10 réponses

Avatar
Daniel
Salut,

Faut-il stocker le stock ?
Si le stock initial est déterminé au moment où commence la gestion
informatique, le stock calculé à une date précise est toujours calculé de la
manière que tu indiques, à ceci près qu'il faut filtrer les consommations et
les arrivages, et ne prendre que ceux qui sont antérieurs à la date de
calcul...
Autrement dit, on calcule le stock à chaque fois qu'on en a besoin, et en
réalité, on ne le stocke jamais...

Du moins, moi, je ferais ça... A+ Daniel
Avatar
Adrione
Salut,
Merci pour ton aide. Je précise donc il faut stocker le stock, pour chaque
mois de l'année en cours, il me faut calculer le stock de Janvier, le stock
de Fevrier et les faire apparaître... Mon problème c'est d'effectuer un
calcul où intervient une donnée qui n'est pas qur la même ligne que le
résultat, pour Fevrier, j'ai besoin des données de Fevrier et de calle de
Janvie et c'est cette dernière que je ne sais pas "allé chercher"
Avatar
Daniel
Faire apparaître et stocker, ce n'est pas pareil...
Pour un mois considéré, le stock sera égal au stock initial + le total des
entrées antérieures au 1er jour du mois suivant - le total des sorties
antérieures au 1er jour du mois suivant...
Si tu veux absolument le stocker, pourquoi pas, mais en fait, tout dépend de
ce que tu appelles "faire apparaître"... S'il s'agit d'un état, il suffit de
faire un regroupement sur chaque mois des opérations (sans nécessairement
les éditer), de totaliser les mouvements, puis d'utiliser ces totaux dans un
contrôle de pied de groupe mensuel...
Il faudrait un peu de documentation sur ta base et ce que tu veux faire...
A+ Daniel
Avatar
Adrione
Salut daniel, Merci beaucoup pour ton aide et ta dispo.

Ma base de données se présente comme ceci:

Produit Mois Conso Arrivages Stock_initial (positif seulement en Janvier)
A 1 x y z

A 2 a b 0

Il y a plusieurs produits et plusieurs mois.
Je veux créer deux nouvelles colonnes, l'une stock initial= stock final du
mois précedant pluis l'autre stock final= stock initial-conso+arrivages.

Dans mon exemple stock final (Janvier)= z-x+y
Stock initial Fevrier=z-x+y ET LA EST MON PROBLEME!! Si je peux le faire
pour Fevrier comment t'y prendrais tu pour les autres mois et faire en sorte
que:

-Access calcule le stock final fevrier
-Encuite utilise ce résultat, l'inscrive dans la colonne stock initial à la
ligne Mars
-Enfin calcule le stock final de Mars et ainsi de suite pour tous les mois...
Je dois d'abord obtenir une telle base de données pour pouvoir la traiter en
fonction des différentes demandes qui me sont faîtes.

Encore merci pour ton aide, si j'y arrive tu n'imagines pas comme je serai
soulagé.
Avatar
Daniel
Et tu ne pas pas de tables détaillées des entrées et des sorties ?
Genre aujourd'hui, on me livre 3 crayons bleus, 2 rouges, et 4 gommes (tes
Arrivages), et je distribue 2 crayons bleus, 1 rouge, et 3 gommes (tes
Consommations)...
Parce que si jamais ça existe dans la base, c'est de là qu'il faut partir...

Voyons déjà ça, non ?
Avatar
Adrione
Non non, les entrées et sorties sont simples sur un produit on a entrées et
sorties, il n'y a pas de détails, j'ai groupé les choses et ca se présente
comme ceci

A 1 2008 x y z
A ... 2008 x' y' z'
A 12 2008
B 1 2008 a' b' c'
B ... 2008
B 12 2008


Je pense que je dois créer un alias ou un truc du genre mon problème c'est
de faire appel a la ligne d'avant.
Avatar
Daniel
Ben, je vais me répéter, mais si c'est dans un état :

* le mois (avec l'année c'est mieux !)
* le stock initial + le résultat de l'opération ci-dessous

Total(Arrivages où Mois<=reports!TonEtat!Mois)-Total(Consommations où
Mois<=reports!TonEtat!Mois)

Il faut écrire les 2 requêtes, et les attraper avec avec un rechdom...
Avatar
Adrione
Merci,
J'ai essayé de faire ce que tu dis mon problème c'est ou mettre le rechdom,
et dans ton exemple les points d'axclamations c'est pour quoi?
Avatar
Daniel
Bouh, ta question fait un peu frémir : la syntaxe utilisée est celle qui
permet de faire référence à un contrôle d'un formulaire ou d'un état (ici
reports désigne la collections Etats), dans une requête, dans du code, dans
une macro...
Si tu n'as jamais été confronté à cette syntaxe, c'est que tu as une
expérience bien limitée...
Ce par quoi tout le monde passe...
A mon avis, il faudrait commencer par le début...
Ce par quoi tout le monde passe aussi...

Bon, on peut essayer de construire quelque chose ensemble : la table que tu
décris est-elle la seule de ta base de données ?
A+ Daniel
Avatar
Adrione
Salut Daniel,
Comme je te l'ai dit je suis débutant en Access... Par contre je connais
l'informatique en géneral et je m'en suis sorti en utilisant des tables et en
les reliant à leurs propres alias puis en sommant les valeurs comme tu
l'avais suggéré. Merci donc bcp pour ton aide. A present il me reste un point
bloquant qui me ferait economiser deux "sous-requetes" peut on ecrire un
critere comme celui-ci concernant les mois de l'alias a prendre en compte
("alias.month" where...):

"iif(base_principale.month>1, <base_principale.month, 1)

j'ai l'impression que c'est le <base_principale.month qui ne va pas