Bonjour
J'ai une petite base pour g=E9rer les factures de fluides=20
pour un parc immobilier r=E9parti sur plusieurs sites.
J'ai une table des sites, une table des b=E2timents, des=20
=E9tages, des pi=E8ces ou appartements.
Par ailleurs, j'ai une table qui liste tous les compteurs=20
d'eau ou d'=E9lectrcit=E9.
Mon probl=E8me est le suivant : Le compteur est g=E9n=E9ralement=20
associ=E9 au b=E2timent. Mais j'ai des cas o=F9 le compteur est=20
sur le site (arrosage par exemple), d'autres o=F9 il est=20
associ=E9 =E0 chaque appartement qui compose le b=E2timent.
Dans ma table compteur, j'ai donc cr=E9=E9 un champ qui pointe=20
sur la table site, un qui pointe sur la tabe b=E2timent et=20
un dernier qui pointe sur la table pi=E8ces.Mais il n'y aura=20
toujours qu'un de ces trois champs qui sera rempli.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Walsh
Salut,
Une solution est de n'utiliser que deux champs, un pour le "pointeur", un pour le "type" (quelle table). Faire des relations 1 à plusieurs, ou, dans les autres tables, disons dans la table batiment, faire un champ lookup supportant la requête: SELECT CompteurID, CompteurDescription FROM Compteurs WHERE type="batiment" ( au lieu du même énoncé, sans clause WHERE).
Pour éditer la première table avec les données de la seconde table, faire un design form-subform, où on change le sous formulaire à la volée (selong le type de compteur) via la propriété SourceObject du controle sousformulaire. Donc, quand le compteur est pour un batiment, le source object refère au formulaire de compteur pour batiment, et quand on a un site, le sous formulaire change et affiche à nouveau un sous formulaire pertinent (un peu comme un Wizard).
Espérant être utile, Vanderghast, Access MVP
"René" wrote in message news:0adb01c47b00$6c54a6c0$ Bonjour J'ai une petite base pour gérer les factures de fluides pour un parc immobilier réparti sur plusieurs sites. J'ai une table des sites, une table des bâtiments, des étages, des pièces ou appartements. Par ailleurs, j'ai une table qui liste tous les compteurs d'eau ou d'électrcité. Mon problème est le suivant : Le compteur est généralement associé au bâtiment. Mais j'ai des cas où le compteur est sur le site (arrosage par exemple), d'autres où il est associé à chaque appartement qui compose le bâtiment.
Dans ma table compteur, j'ai donc créé un champ qui pointe sur la table site, un qui pointe sur la tabe bâtiment et un dernier qui pointe sur la table pièces.Mais il n'y aura toujours qu'un de ces trois champs qui sera rempli.
Y a t'il une méthode plus rigoureuse ?
D'avance merci pour vos conseils. René
Salut,
Une solution est de n'utiliser que deux champs, un pour le "pointeur",
un pour le "type" (quelle table). Faire des relations 1 à plusieurs, ou,
dans les autres tables, disons dans la table batiment, faire un champ lookup
supportant la requête: SELECT CompteurID, CompteurDescription FROM
Compteurs WHERE type="batiment" ( au lieu du même énoncé, sans clause
WHERE).
Pour éditer la première table avec les données de la seconde table,
faire un design form-subform, où on change le sous formulaire à la volée
(selong le type de compteur) via la propriété SourceObject du controle
sousformulaire. Donc, quand le compteur est pour un batiment, le source
object refère au formulaire de compteur pour batiment, et quand on a un
site, le sous formulaire change et affiche à nouveau un sous formulaire
pertinent (un peu comme un Wizard).
Espérant être utile,
Vanderghast, Access MVP
"René" <anonymous@discussions.microsoft.com> wrote in message
news:0adb01c47b00$6c54a6c0$a501280a@phx.gbl...
Bonjour
J'ai une petite base pour gérer les factures de fluides
pour un parc immobilier réparti sur plusieurs sites.
J'ai une table des sites, une table des bâtiments, des
étages, des pièces ou appartements.
Par ailleurs, j'ai une table qui liste tous les compteurs
d'eau ou d'électrcité.
Mon problème est le suivant : Le compteur est généralement
associé au bâtiment. Mais j'ai des cas où le compteur est
sur le site (arrosage par exemple), d'autres où il est
associé à chaque appartement qui compose le bâtiment.
Dans ma table compteur, j'ai donc créé un champ qui pointe
sur la table site, un qui pointe sur la tabe bâtiment et
un dernier qui pointe sur la table pièces.Mais il n'y aura
toujours qu'un de ces trois champs qui sera rempli.
Une solution est de n'utiliser que deux champs, un pour le "pointeur", un pour le "type" (quelle table). Faire des relations 1 à plusieurs, ou, dans les autres tables, disons dans la table batiment, faire un champ lookup supportant la requête: SELECT CompteurID, CompteurDescription FROM Compteurs WHERE type="batiment" ( au lieu du même énoncé, sans clause WHERE).
Pour éditer la première table avec les données de la seconde table, faire un design form-subform, où on change le sous formulaire à la volée (selong le type de compteur) via la propriété SourceObject du controle sousformulaire. Donc, quand le compteur est pour un batiment, le source object refère au formulaire de compteur pour batiment, et quand on a un site, le sous formulaire change et affiche à nouveau un sous formulaire pertinent (un peu comme un Wizard).
Espérant être utile, Vanderghast, Access MVP
"René" wrote in message news:0adb01c47b00$6c54a6c0$ Bonjour J'ai une petite base pour gérer les factures de fluides pour un parc immobilier réparti sur plusieurs sites. J'ai une table des sites, une table des bâtiments, des étages, des pièces ou appartements. Par ailleurs, j'ai une table qui liste tous les compteurs d'eau ou d'électrcité. Mon problème est le suivant : Le compteur est généralement associé au bâtiment. Mais j'ai des cas où le compteur est sur le site (arrosage par exemple), d'autres où il est associé à chaque appartement qui compose le bâtiment.
Dans ma table compteur, j'ai donc créé un champ qui pointe sur la table site, un qui pointe sur la tabe bâtiment et un dernier qui pointe sur la table pièces.Mais il n'y aura toujours qu'un de ces trois champs qui sera rempli.