|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2008 Messages : 63 ![]() |
Bonjour,
Je dois revoir une base access sur les productions d’eau des collectivités : USINE(id, lib, Col#…) ANNEE(id) MOIS(id) ASS_PRODUCTION (mois#, annee#, usine#, volume) COLLECTIVITE(id, lib…) Une requête me permet de connaître le volume produit par collectivité : somme des volumes produits pour l’ensemble des usines dont la collectivité est propriétaire Seulement on assiste de plus en plus à des fusions entre collectivités exemple Avant 2008 PetiteColl Propriétaire USINE P GrandeCOLL Propriétaire USINE Q Après 2008 PetiteColl n’existe plus et fusionne avec GrandeColl qui devient propriétaire de USINE P. Sans même qu’il y ait fusion entre collectivité, il est aussi possible qu’une collectivité rétrocède ses usines à une autre collectivité. Je pense qu’il est nécessaire d’avoir une table de relation entre COLLECTIVITE_USINE_ANNEE. Seulement c’est contraignant, beaucoup d’objets et à compléter tous les ans. Je pensais mettre une date de début et/ou date de fin plutôt. Mais j’ai peur que la requête pour trouver les productions de chaque collectivité se complique. Qu’en pensez-vous ? Merci |
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
bonjour,
Nana35 revient pour de nouvelles aventures Je propose dans un premier temps: USINE(idUsine, NomUsine,...., DateDernièreMAJCollectivité, #idCollectivitéActuelle) HISTO_USINE(#idUsine, DateDebut, DateFin, #idCollectiviteHisto) je mets un lien vers une ancienne discussion sur le même thème (ici il s'agit de produits dont on veut conserver l'historique des "TRT", à adapter à tes usines dont tu veux conserver l'historique des collectivités): http://www.developpez.net/forums/d97...n/#post5503843 à voir si ça convient... à + |
|
00
|
|
|
#3 | |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2008 Messages : 63 ![]() |
Citation:
En tous les cas, ça m'a l'air pas mal. Je teste et je te redis au plus vite. Merci |
|
|
|
00
|
|
|
#4 | |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2008 Messages : 63 ![]() |
Bonjour,
J'ai fait ce qu'il fallait. Mais il va falloir penser à un second temps! Désolée. Je ne vois pas trop à quoi me sert le champ DateDernièreMAJ dans mes requêtes. C'est juste à titre d'info? Là, j'ai affecté la date du 01/01/2011 pour toutes les usines avec la collectivité actuelle. Autrement il faut que j'utilise la Table Citation:
On doit pouvoir faire correspondre date_début et date_fin avec ASS_PRODUCTION.annee Besoin d'un coup de pouce! Merci |
|
|
|
00
|
|
|
#5 | ||||||||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
bonsoir,
Code :
Code :
Supposons que l'usine n°1 passe sous la collectivité n°5 au 01/02/2011: Code :
Code :
Dans le lien de mon message précédent, je propose une requête qui devrait permettre de retrouver la collectivité d'une usine à une date précise. Tu devrais l'inclure dans une fonction VBA. Je pense que tu auras également besoin de la fonction VBA, DateSerial pour reconstituer une date à partir de tes champs [Mois] et [Annee]: DateSerial([Annee], [Mois],1) retournera la date correspondant au 1er jour du mois et de l'année. Note qu'une méthode moins élégante (question de goût ASS_PRODUCTION (mois#, annee#, usine#, idCollectivite#, volume) On re-précise chaque mois de chaque année la collectivité de l'usine (même s'il n'y a aucun changement de collectivité). |
||||||||
|
00
|
|
|
#6 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2008 Messages : 63 ![]() |
Merci
Très bien expliqué. La méthode moins élégante, j'y pensais et je voulais l'éviter. mais bon du coup ça complque les requêtes. Et les fonctions VBA c'est pas mon truc. Pour DateSerial voilà ce que j'ai fait mais ça ne fonctionne pas. Syntaxe pas valide Code :
DateProduction: CreationDate([ANNEEid],[MOISid]) Peut être pb déclaration, pb type (mes deux champ sont pourtant numériques) A suivre donc... |
||
|
|
00
|
|
|
#7 | ||||||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
Voici ce que j'ai testé...
- Une requête paramétrée nommée R_Coll: R_Coll: Code sql :
- Une fonction VBA GetCollectivite qui exploite la requête précédente: Code :
Code sql :
à tester... |
||||||
|
00
|
|
|
#8 |
|
Candidat au titre de Membre du Club
![]() Inscription : novembre 2008 Messages : 63 ![]() |
Bon bah c'est nickel !
Tu m'as bien maché le travail. Merci. Fantastique
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com