Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Modélisation
Modélisation Le forum qui vous aide à résoudre vos questions relatives à la modélisation (tables et relations) de votre base de données sous Access. Pour les états et les formulaires, postez dans le forum IHM.
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 22/06/2007, 11h28   #1
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 33
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : mai 2007
Messages : 33
Points : 13
Points : 13
Par défaut Champs constitués de calculs

Bonjour,

Je voudrais savoir s'il est possible de constituer un champs dans une table qui soit le resultat d'un calcul d'autres champs.

Explications :

je fais une enquete mensuelle et je recolte des données brutes, de ces données brutes je calcule 4 indicateurs basiques que je cherche à conserver pour manipulations ulterieures.

J'ai organisé ma base entre autre de la façon suivante :
1 table "Enseignes",
1table "Enqêtes"
et 1 table "Données" qui fait office de "ligne de commande" pour pallier la relation n - n entre les tables Enseignes et enquêtes.

ma table Enseignes est constituée des données classiques relatives aux clients.

ma table Enquetes est constituée des champs suivants :

IdEnquete
NomEnquete
DateEnquete

ma table données est constituée des champs suivants :

IdDonnée
IdEnseigne
IdEnquete
NbreClients
NbreChambresLouées
NbreChambresDispo
PrixMoyenChambre

je dois calculer les 4 indicateurs suivants :

TO = ([NbrechambresLouées]/[NbreChambresDispo])/100
IF = [NbreClients]/[NbreChambresLouées]
PMC = PMC (donné demandée aux professionnels lors de l'enquête)
RevPar = [TO] * [PMC]

Pour l'instant ils sont calculés "en dur" dans mon formulaire de données, mais je voudrais pouvoir les conserver dans la table données au même titre que les autres champs;

Ainsi comment dois je, si cela est possible, créer dans ma table Données les Champs TO, TI et RevPar (le PMC étant déjà une donnée brute): est ce que je dois inserer les formules de calculs dans la description du champs?

Si cela n'est pas possible comment dois je proceder ?

Il faut savoir que je dois ensuite pouvoir utiliser ces indicateurs pour en calculer leurs moyennes sur des zones géographiques différentes (j'ai une table Zones), voir sur des regroupements de zones, et comparer les données individuels à un temps t ou sur une periode t avec ces moyennes, et restituer les resultats sous forme de note de conjoncture individuelle et agrégée.

en esperant que vous puissiez me renseigner...

tieuphuong.
tieuphuong est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2007, 19h30   #2
Membre Expert
 
Inscription : avril 2006
Messages : 1 318
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 318
Points : 1 586
Points : 1 586
bonjour,

personnellement je procéderai ainsi :
Créer seulement la colonne PMC dans la table enquête

Pourquoi ?

Si vous créer les colonnes TO, IF, etc... dans votre table enquete, on duplique en faite dans la même table une information (pas bon pour les mises à jour par exemple).
Même chose si on créé une table de stats par enquete.

Les calculs doivent être fait le plus tard possible lorsqu'ils sont nécessaires.
C'est à dire, s'ils interviennent dans le résultat retourné par une requete, faire le calcul à ce moment là.
S'ils doivent simplement être affichés, faire le calcul dans le formulaire ou l'état.

Pour éviter de dupliquer les formules de calcul, faire des fonctions VBA qui retourne le résultat, et les appeler systématiquement à chaque fois que le calcul doit être réalisé. (bien que dans votre cas, les calculs sont simples !)

Ce point de vue n'engage que moi, j'espère que d'autres personnes vous proposeront le leur.

Le temps passé à bien réfléchir au modèle de données sera toujours du temps gagné au développement présent et futur (ne pas prévoir, c'est déjà gémir disait machin)

cordialement,

philippe
philben est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2007, 10h24   #3
Candidat au titre de Membre du Club
 
Inscription : mai 2007
Messages : 33
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : mai 2007
Messages : 33
Points : 13
Points : 13
Merci pour votre reponse, elle correspond à la première façon dont j'avais imaginé la chose au début du projet... mais comme j'ai du mal avec VBA l'option table m'aurait permis d'avoir une solution de facilité...

tieuphuong
tieuphuong est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h11.


 
 
 
 
Partenaires

Hébergement Web