Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/12/2010, 22h15   #1
Invité de passage
 
Inscription : septembre 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 8
Points : 1
Points : 1
Par défaut Mettre date du jour dans une table

Bonsoir,

Je n'arrive pas à obtenir ce que je veux comme rapport sur Access, pourtant je suis convaincue du fait que ce n'est pas compliqué.

Je répondre à cette demande de rapport:

Qu'ai-je comme article en stock à ce jour que je puisse facturer aux clients jusqu'à telle date ?

J'ai donc 3 tables : T_Article ( Ref Art; etc... ) / T_Stock ( Ref Art; Stock ) / T_Ventes ( Réf Art; reste à livrer; date livraison; client )

Maintenant j'avais pensé faire comme suit:

Requête 1 : T_Stock avec qté >0
Requête 2: Requête 1 liée en maitre avec T_Ventes

Le seul problème de cette méthode est que mon stock se répète autant de fois qu'il y a de ventes et clients!! arghhh!!

Article Date Client Stock Reste à Livrer
001 21/12 A 100 300
001 21/12 B 100 150
001 21/12 C 100 100

Mon stock ici est de 100 et pas 300!

Ensuite autre difficulté, je souhaiterais aussi ajouter une colonne qui calcul stock - reste à livrer en cumul ( = couverture de stock par article )

Voilà je ne sais pas si vous pouvez m'aider.

Merci d'avance.
amely78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/12/2010, 16h51   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Amely78,

Comment souhaiterais-tu que Access te présente ces données :
Code :
1
2
3
4
5
 
Article Date  Client Stock Reste à Livrer
001     21/12 A      100   300
001     21/12 B      100   150
001     21/12 C      100   100
Nous pourrons voir le second point après, si tu veux.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 09h03   #3
Invité de passage
 
Inscription : septembre 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 8
Points : 1
Points : 1
Par défaut Bonjour

Bonjour,

Je souhaiterais que ça s'affiche de la manière suivante:

Article Date Client Stock Reste à Livrer Couverture Stock
001 aujourdh'ui 100 100
001 21/12 A 300 -200
001 21/12 B 150 -350
001 21/12 C 100 -450

J'avais pensé sinon de créer une table avec la date du jour puis de la multiplier par les articles ( article sans doublon ) de la table stock pour créer ma table maître.

Et ensuite relier les 2 tables avec article et la date, j'éviterai ainsi de répéter mon stock, mais je n'arrive pas non plus à obtenir la date du jour.

De toute façon mon autre problème est que je ne sais pas faire sur access un cumul comme celui que je montre ci-dessus pour avoir ma couverture de stock par article.

Merci d'avance.


Citation:
Envoyé par Richard_35 Voir le message
Bonjour Amely78,

Comment souhaiterais-tu que Access te présente ces données :
Code :
1
2
3
4
5
 
Article Date  Client Stock Reste à Livrer
001     21/12 A      100   300
001     21/12 B      100   150
001     21/12 C      100   100
Nous pourrons voir le second point après, si tu veux.
amely78 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 10h56   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Amely78,

Il ne faut pas confondre "résultat d'une requête" et "présentation du résultat d'une requête".

Le résultat de la requête :
Code :
1
2
3
4
Article Date  Client Stock Reste à Livrer
001     21/12 A      100   300
001     21/12 B      100   150
001     21/12 C      100   100
est juste. Simplement :
Code :
1
2
3
4
Article Date  Client Stock
001     21/12 A      100
001     21/12 B      100
001     21/12 C      100
sont des informations "d'entête" (qui ne bougent pas) et :
Code :
1
2
3
4
Reste à Livrer
300
150
100
sont des informations "de détail" qui sont modifiées à chaque ligne.

Une requête ne peut pas "s'occuper" du résultat ET de la présentation : pour cela, il faut passer par un formulaire, un état, une exportation Excel, ou autres outils prévus pour présenter les données. Dans ton cas, pour ne pas répéter les informations "d'entête" et ne garder, en présentation, que les informations "de détail".


Pour ton autre question :
Citation:
De toute façon mon autre problème est que je ne sais pas faire sur access un cumul comme celui que je montre ci-dessus pour avoir ma couverture de stock par article.
Si la question est de prendre en compte les données d'une ligne précédente dans la ligne suivante, il te faudra passer par du code VBA que je ne connais pas mais, après avoir présenté ton problème, je ne doute pas qu'un forumeur VBA puisse t'aider.

Pour cela, je te conseille de documenter un peu plus ton besoin. Personnellement, je n'ai pas compris ton tableau :
Citation:
Article Date Client Stock Reste à Livrer Couverture Stock
001 aujourdh'ui 100 100
001 21/12 A 300 -200
001 21/12 B 150 -350
001 21/12 C 100 -450
En effet, il y a 6 entêtes de colonne :
Code :
Article Date Client Stock Reste à Livrer Couverture Stock
pour 4 ou 5 colonnes de données :
Code :
1
2
3
4
001 aujourd'hui      100  100
001 21/12       A    300 -200 
001 21/12       B    150 -350 
001 21/12       C    100 -450
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/12/2010, 11h29   #5
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonjour,

On ne peut pas faire de cumul avec les requêtes Access.
On peut simuler quelque chose d'approchant, mais ça fait des requêtes complexes qui peuvent de surcroit être longues à s'exécuter.
Exemple
Code :
1
2
3
4
5
6
7
8
SELECT T_Article.[Ref Art], T_Ventes.[Date Livraison], T_Ventes.Client, 
       T_Ventes.[Reste à livrer], T_Stock.Stock-[CumulArt] AS NvStock, 
       (SELECT Sum(TV.[Reste à livrer]) From T_Ventes As TV  
	    Where (TV.[Ref Art]=T_Article.[Ref Art] And TV.[Date Livraison]<T_Ventes.[Date Livraison])
           Or (TV.[Ref Art]=T_Article.[Ref Art] And TV.[Date Livraison]=T_Ventes.[Date Livraison] And TV.Client<=T_Ventes.Client)) AS CumulArt
FROM (T_Ventes INNER JOIN T_Article ON T_Ventes.[Ref Art] = T_Article.[Ref Art]) INNER JOIN T_Stock ON T_Article.[Ref Art] = T_Stock.[Ref Art]
WHERE (((T_Ventes.[Date Livraison])<=Date()))
ORDER BY T_Article.[Ref Art], T_Ventes.[Date Livraison], T_Ventes.Client;
La création d'un état est ce qui me paraît le plus approprié.
On peut créer un regroupement sur «Ref Art».
Dans l'en-tête de ce groupe on met les informations relatives à «Ref Art», ainsi que le stock initial.
Dans la zone détail, on crée un contrôle masqué «txtCumulAlivrer» dont la source sera «Reste à livrer» et qui fera le cumul par groupe, c'est à dire par «Ref Art».
Le nouveau stock est donc (à mettre dans une zone de texte) :
Code :
=[Stock]-[txtCumulAlivrer]
A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h04.


 
 
 
 
Partenaires

Hébergement Web