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

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #18078901
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
Adrione
Le #18079311
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"
Daniel
Le #18080231
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
Adrione
Le #18080551
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é.
Daniel
Le #18080701
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 ?
Adrione
Le #18080881
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.
Daniel
Le #18082141
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...
Adrione
Le #18082871
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?
Daniel
Le #18089591
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
Adrione
Le #18099531
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
Publicité
Poster une réponse
Anonyme