rerebonjour,
Pour en revenir avec l’unique table NiveauActivite, rien n’empêche d’associer 4 fois la table AssociationActiviteService à la table NiveauActivite :
(ajouter 4 fois la table NiveauActivite dans la fenêtre des relations)
AssociationActiviteService(….., #idNiveauActivite1, #idNiveauActivite2, #idNiveauActivite3, #idNiveauActivite4…)
ça te coutera 4 octets par champ nom rempli
, des requêtes pas forcément optimisées, des traitements supplémentaires avec des fonctions Nz, isnull, iif…
Par exemple, si on veut connaître le nombre de niveauActivite remplis :
SELECT id, iif(isnull(idNiveauActivite1),0,1)+ iif(isnull(idNiveauActivite2),0,1)+ iif(isnull(idNiveauActivite3),0,1)+ iif(isnull(idNiveauActivite4),0,1) FROM
Alors qu’avec une table de jointure :
SELECT id, count(*) FROM
INNER JOIN
GROUP BY
;
Mais cela reste probablement tolérable pour une volumétrie "raisonnable" et peut-être plus facile pour les formulaires/états…
…mais que se passera-t-il le jour ou un idNiveauActivite5 naîtra…
Partager