VBA Access : Ajout de données requête

Fermé
Mika - Modifié par Mika le 30/11/2011 à 12:17
 Mika - 2 déc. 2011 à 09:53
Bonjour,

Je présente rapidement un problème sur lequel je ne trouve aucune solution par manque de connaissance essentiellement.


Je suis en train de créer une base de gestion de stock. J'aimerais pouvoir établir un historique des retraits et des livraisons sous forme graphique.


J'ai présentement 2 tables qui gèrent les opérations :
Table Opération : N°,Date, Nom fournisseur, Nom ouvrier, Type (entrée ou Sortie)
Table Détail_Opération : N°, N°_opération, Nom_produt, Qté

J'ai ensuite créé une requête pour afficher :


N° Détail,Date, Nom_Produit, Qté_coefficientée = Qté * Coefficient de type (1 pour entrée;-1 pour sortie)


J'aimerais ajouter un dernier champ qui calcule la quantité en stock :


Pour ce faire il faudrait qu'il trouve la dernière quantité en stock entrée par la requête et qu'il y ajoute la Qté coefficientée.



Petites infos supplémentaire : Je n'ai pas de champ "Stock" dans ma table de produits. L'inventaire étant géré par une requête qui calcule la somme des quantités sorties et des quantités entrée coefficientée regroupées par produits.



J'espère avoir été clair :)

En vous remerciant par avance pour votre aide !


Mika

1 réponse

Bonjour à tous,

Je rajoute quelques infos pour que mon problème soit plus compréhensible.

J'ai un peu avancé dans la logique de ma requête mais je pêche vraiment sur le code VBA à associer.


J'ai quelque peu modifié la requête qui me permettra d'établir l'historique.

Requête : N° Détail,Date, Ref_Produit, N°_type, Quantité, Qte_livree,Qte_retiree,Qte_Stock: [Qte_livree]-[Qte_retiree]

Il faudrait que le programme :

Recherche du dernier enregistrement de Ref_Produit

C'est à dire, qu'il recherche pour chaque N°Détail, le max(N°détail) inférieur au N°détail de l'enregistrement que l'on traite avec le même Ref_Produit.


et associe :

x=Qte_Stock

If N°type=1 (entree) Then Qte_livree= Quantité + x And Qte_retiree=0
If N°type=2 (sortie) Then Qte_livree=x And Qte_retiree=Quantité

Il faudrait qu'il n'y ait aucune modification des enregistrements précédents, qu'il créé pour chaque n°détail un nouvel enregistrement.



En vous remerciant,

Mika
0