Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

relations tables compliquées dans formulaire

5 réponses
Avatar
La Pêche!
Ma table principale a plusieurs variables=20
num=E9riques "Voiture1", "Voiture2" et "Voiture3" li=E9es =E0 la=20
cl=E9 primaire AutoNum d'une autre table "Voiture".

En cr=E9ant un formulaire avec l'assistant, Access me=20
demande de renseigner les champs ci-dessus avec une valeur=20
num=E9rique alors que je voulais remplir les champs li=E9s=20
(cr=E9er un enregistrement dans la table "Voiture" au moment=20
de chaque entr=E9e seulement car les 3 champs ne sont pas=20
syst=E9matiquement utilis=E9s).

5 réponses

Avatar
Michel Walsh
Salut,


Le design ne semble pas "normalisé". Il semble qu'il faille faire TROIS
relation 1 à plusieurs, depuis la table Voiture vers la table ayant 3 champs
voitures, une relation par champ VoitureN. Faire appliquer la relation. Si
Voiture3 n'est pas utilisée, l'assigner à la valeur NULL. En effet, NULL a
l'avantage de satisfaire les relations d'intégrité.



Espérant être utile,
Vanderghast, Access MVP


"La Pêche!" wrote in message
news:1c3601c49b62$7f9380d0$
Ma table principale a plusieurs variables
numériques "Voiture1", "Voiture2" et "Voiture3" liées à la
clé primaire AutoNum d'une autre table "Voiture".

En créant un formulaire avec l'assistant, Access me
demande de renseigner les champs ci-dessus avec une valeur
numérique alors que je voulais remplir les champs liés
(créer un enregistrement dans la table "Voiture" au moment
de chaque entrée seulement car les 3 champs ne sont pas
systématiquement utilisés).
Avatar
La Pêche!
Il semble qu'il faille faire TROIS relation 1 à
plusieurs, depuis la table Voiture vers la table ayant 3

champs voitures, une relation par champ VoitureN. Faire
appliquer la relation.

J'ai toujours une valeur à inscrire dnas les champs
Voiture1 2 et 3. Comment faire apparaitre les champs de la
table Voiture dans le formulaire? En prenant soin que
chaque variable VoitureX reçoive la clé primaire en cours
d'enregistrement dans la table Voiture. Et la, faire
apparaître les champs Voiture.

Si Voiture3 n'est pas utilisée, l'assigner à la valeur
NULL. En effet, NULL a l'avantage de satisfaire les

relations d'intégrité.

Là, je défini NULL par défaut dans les propriétés?

Avatar
Sylvain Lafontaine
Une autre solution serait de diviser la table principale en plusieurs
enregistrements, chaque enregistrement désignant une voiture, et créer une
relation 1-N.

Cependant, avant d'aller plus, il serait peut-être bon que vous nous
indiquiez la structure de vos tables; ce qui permettrait de mieux comprendre
votre design général.

S. L.

"La Pêche!" wrote in message
news:2ff701c49b6f$dcc21ac0$

Il semble qu'il faille faire TROIS relation 1 à
plusieurs, depuis la table Voiture vers la table ayant 3

champs voitures, une relation par champ VoitureN. Faire
appliquer la relation.

J'ai toujours une valeur à inscrire dnas les champs
Voiture1 2 et 3. Comment faire apparaitre les champs de la
table Voiture dans le formulaire? En prenant soin que
chaque variable VoitureX reçoive la clé primaire en cours
d'enregistrement dans la table Voiture. Et la, faire
apparaître les champs Voiture.

Si Voiture3 n'est pas utilisée, l'assigner à la valeur
NULL. En effet, NULL a l'avantage de satisfaire les

relations d'intégrité.

Là, je défini NULL par défaut dans les propriétés?

Avatar
Yann
Salut,
A partir du moment ou on comment à faire des chose du
style V1 V2... il est largement préférable de mettre une
relation 1-n (infini), donc bien étudier ses besoins pour
en définir une structure correcte. Si tu as la curiosité
de fouiller dans les archives, tu trouveras des cas où
cela parraissait plus complexe des faire ce genre de
structure, mais finalement, au niveau du traitement, cela
se révéla plus simple... Par exemple, je cherche
l'utilisation de la voiture N°51 ???? Il faut aller
chercher dans V1/V2 et V3.... Autre exemple ? Que fais-tu
si tu veux ajouter une 4ème voiture ? Un autre champ,
OK !!! Mais toutes tes requêtes derrière, tous tes
formulaire et états (sans compter le code VBA etc...) ...
Bref tu refais beaucoup de chose. Alors qu'avec l'autre
organisation, tu n'as rien à refaire : gain de
productivité :o)
De plus, si tu n'as que 2 voitures à renseigner, tu pers
de la place car Access réserve la place pour enregistrer
l'information, qu'elle soit utilisé ou non...

Sur ces belles paroles, hasta luego...

Bye
Yann

-----Message d'origine-----
Une autre solution serait de diviser la table principale
en plusieurs

enregistrements, chaque enregistrement désignant une
voiture, et créer une

relation 1-N.

Cependant, avant d'aller plus, il serait peut-être bon
que vous nous

indiquiez la structure de vos tables; ce qui permettrait
de mieux comprendre

votre design général.

S. L.

"La Pêche!" wrote
in message

news:2ff701c49b6f$dcc21ac0$

Il semble qu'il faille faire TROIS relation 1 à
plusieurs, depuis la table Voiture vers la table ayant 3

champs voitures, une relation par champ VoitureN. Faire
appliquer la relation.

J'ai toujours une valeur à inscrire dnas les champs
Voiture1 2 et 3. Comment faire apparaitre les champs de
la

table Voiture dans le formulaire? En prenant soin que
chaque variable VoitureX reçoive la clé primaire en cours
d'enregistrement dans la table Voiture. Et la, faire
apparaître les champs Voiture.

Si Voiture3 n'est pas utilisée, l'assigner à la valeur
NULL. En effet, NULL a l'avantage de satisfaire les

relations d'intégrité.

Là, je défini NULL par défaut dans les propriétés?


.




Avatar
Michel Walsh
Salut,


Une façon simple est peut-être de définir le champ via un "Lookup" ou
"assistant de liste de choix ."


Si il faut toujours, sans exception aucune, une valeur sous Voiture1, 2
et 3, il est déconseillé d'utiliser NULL, voire même de le permettre dans le
design de cette table.


Espérant être utile,
Vanderghast, Access MVP


"La Pêche!" wrote in message
news:2ff701c49b6f$dcc21ac0$

Il semble qu'il faille faire TROIS relation 1 à
plusieurs, depuis la table Voiture vers la table ayant 3

champs voitures, une relation par champ VoitureN. Faire
appliquer la relation.

J'ai toujours une valeur à inscrire dnas les champs
Voiture1 2 et 3. Comment faire apparaitre les champs de la
table Voiture dans le formulaire? En prenant soin que
chaque variable VoitureX reçoive la clé primaire en cours
d'enregistrement dans la table Voiture. Et la, faire
apparaître les champs Voiture.

Si Voiture3 n'est pas utilisée, l'assigner à la valeur
NULL. En effet, NULL a l'avantage de satisfaire les

relations d'intégrité.

Là, je défini NULL par défaut dans les propriétés?