OVH Cloud OVH Cloud

Aide pour la conception d'une table #2

5 réponses
Avatar
Fredo
je reformule ma question car je n'ai pas eu de réponse

Est-ce qu'il est correct de créer une table avec plusieurs champs, sachant
qu' un enregistrement aura rarement la totalité des champs renseignée (heu
c'est clair?)

On consomme de la place inutilement non?
Mais alors faut-il créer une multitude de tables?

Merci.

Fredo

5 réponses

Avatar
mickey
A mon humble avis, il sera plus lourd d'avoir une multitude
de table plutôt qu'une multitude de champs...


-----Message d'origine-----
je reformule ma question car je n'ai pas eu de réponse

Est-ce qu'il est correct de créer une table avec
plusieurs champs, sachant

qu' un enregistrement aura rarement la totalité des champs
renseignée (heu

c'est clair?)

On consomme de la place inutilement non?
Mais alors faut-il créer une multitude de tables?

Merci.

Fredo




.



Avatar
Fredo
Vous parlez de champs de nature différente ou un même champ qui prendre n
valeurs ?


De champs de nature différente : plusieurs champs qui composent la table.
Certains ne seront jamais renseignés en fonction de l'enregistrement en
cours.

je vous renvoie ma question:

Imaginons que je sois un constructeur de jouets
J'ai une table Produits
Je fabrique des :
P1 : des poupées
P2 : des robots électriques
P3 : des puzzles
P4 : des balles super-rebondissantes( ! )

J'ai posé des indicateurs qualités sur la fabrication :
IQ1 : qualité des moulages
IQ2 : contrôle du circuit électrique
IQ3 : qualité du montage
IQ4 : contrôle du nombre de pièces
IQ5 : qualité de l'emballage

Ca peut être tous types de données:
Texte : conforme / Non conforme
Valeur : rendement - nombre de pièces comptées/nombre de pièces attendues,
etc
Booléen : OUI/NON

Sur P1 sont applicables : IQ1+IQ3+IQ4+IQ5
Sur P2 sont applicables : IQ1+IQ2+IQ3+IQ5
Sur P3 sont applicables : IQ4+IQ5
Sur P4 est applicable : IQ1
Voilà ma question : comment faire un état annuel des IQ par produit et bien
sûr par IQ(combien de non conformité sur l'emballage, etc.)
Je me vois bien créer une table IQ mais est-ce que de laisser des champs
vides (exemple pour P4 un seul IQ) dans les enregistrements est une manière
correcte de procéder ?
Merci à ceux qui prendront le temps de me lire, j'essaye d'être court.


Avatar
J-Pierre
Bonsoir,

Et pourquoi pas un seul champ IQ de type Long ?

Les indicateurs valent:

IQ1 : qualité des moulages = 1
IQ2 : contrôle du circuit électrique = 2
IQ3: n'existe pas
IQ4 : qualité du montage = 4
IQ5 à IQ7: n'existent pas
IQ8 : contrôle du nombre de pièces = 8
IQ9 à IQ15 : n'existent pas
IQ16 : contrôle couleur = 16
etc.......
Bref, les puissances de 2

Avec une petite fonction "dépiauterIQ" qui retourne dieu seul sait quoi en fonction de la valeur de IQ:
Par exemple IQ = 13, la fonction retourne comme texte:
"qualité des moulages" + "qualité du montage" + "contrôle du nombre de pièces"
ou bien elle retourne:
"1" + "4" + "8"

Ou bien on peut interroger la fonction:

if (dépiauterIQ(champIQ) = 8) then......

Parce que, avec des champs différents, chaque fois qu'il y aura un nouvel IQ, il faudra tout reprendre, avec cette solution, il
suffira de modifier la fonction

J-Pierre
Avatar
franE7ois
Bonjour les amis,

Avec une petite fonction "dépiauterIQ" qui retourne dieu seul sait quoi
en fonction de la valeur de IQ: Par exemple IQ = 13, la fonction
retourne comme texte: "qualité des moulages" + "qualité du montage" +
"contrôle du nombre de pièces" ou bien elle retourne:
"1" + "4" + "8"


C'est vrai que les masques binaires sont bien pratiques. Cela dit, j'ai
remarqué que leur traitement était long, les fonctions booléennes n'étant
par le fort de VBA, j'ai l'impression.

De plus, une fois qu'un indicateur est sélectionné, comment retournes-tu
son contenu ?

Avatar
franE7ois
Bonjour les amis,

Du point de vue relationnel, je dirais que cette solution est plus
propre. Après, faut voir à l'usage et surtout réflechir aux ouvertures
futures.


Tiens, en parlant d'ouverture. Dans la tables des lots de production, Tu
peux créer un jeux d'enegistrements pour une production théorique et y
associer les valeurs normatives dans la table des IQ. Après tapluka
comparer tes autres lots avec celui-ci. Et là, tu vois que cette
fonctionnalité est rajoutée sans changer ta structure. Eventuellement
rajouter un champ «lot de référence» dans la table des lots de production
afin d'établir un lien direct dans une requête SQL qui calculerait les
écarts pour chaque lot échantilloné.

En allant plus loin, dans la table des IQ, tu peux introduire la notion de
tolérance avec un ou deux champs : ecart inférieur, supérieur.

En gros, avec une seule requête bien ficelée, tu peux établir un bilan de
contrôle qualité que tu pourras mettre sous le nez de tes investisseurs en
5 mn.

Je peux t'en trouver bien d'autres. A vrai dire, c'est ce genre de problème
qui m'éclate, parce que le VBA et moi, ça fait un et demi (je ne suis quand
même pas complètement une bille).