Lier 2 tables et sélectionner nom dans une liste

Le
jojosyl.xyz
Bonjour, je n'ai pas fait de Access depuis longtemps et là on me
demande mon aide pour un projet. En gros, il y a 2 tables, une
contenant les individus et l'autre contenant les compagnies. Un
individu peut être lié à plus d'une compagnie et une compagnie est li=
é
à plus d'un individu. Ce que je dois faire c'est associé l'individu à
la ou les compagnies. Étant donné qu'il y a moins de 20 compagnies,
j'avais pensé faire une zone de liste reliée à la table compagnies et
la personne n'aurait qu'à choisir la ou les compagnies pour lequel
l'individu travaille. Là est mon problème, je ne sais plus comment
faire. Je me demande si je ne devrais pas créer une 3e table que
j'appellerai "relation" pour garder toutes les relations qui peut
exister en individus et compagnies.

Un coup de main serait apprécié. Merci à l'avance.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Richard_35
Le #11388111
Bonjour Jojo,

Ne te demandes plus !... et cela n'a rien à voir avec Access en
lui-même.
Il s'agit d'une relation dite "complexe" (N <=> N), donc tu as
absolument besoin de créer une table de relation comprenant :
- Id_Individu
- Id_Société
Ensuite, tu peux attaquer (et/ou) :
- l'affectation des sociétés dans la fiche Individu et alimenter ta
table Relation
- l'affectation des Individus dans la fiche Société
- la saisie de ta table Relation par choix du couple
Individu/Société

Bon courage,
Richard.


Bonjour, je n'ai pas fait de Access depuis longtemps et là on me
demande mon aide pour un projet. En gros, il y a 2 tables, une
contenant les individus et l'autre contenant les compagnies. Un
individu peut être lié à plus d'une compagnie et une compagnie est lié
à plus d'un individu. Ce que je dois faire c'est associé l'individu à
la ou les compagnies. Étant donné qu'il y a moins de 20 compagnies,
j'avais pensé faire une zone de liste reliée à la table compagnies et
la personne n'aurait qu'à choisir la ou les compagnies pour lequel
l'individu travaille. Là est mon problème, je ne sais plus comment
faire. Je me demande si je ne devrais pas créer une 3e table que
j'appellerai "relation" pour garder toutes les relations qui peut
exister en individus et compagnies.

Un coup de main serait apprécié. Merci à l'avance.
jojosyl.xyz
Le #11388101
Bonjour Richard,

Merci pour la réponse rapide. Ok j'ai fait ma table "relations", mais
je n'arrive pas à faire en sorte que d'afficher dans mon formulaire
Individus la liste de toutes les compagnies où l'individu travaille.
J'ai essayé de mettre un sous-formulaire "relations" dans celui
d'individu et de mettre un sous-formulaire "compagnie" dans le
formulaire "relations", mais le lien ne se fait pas comme je souhaite.
Si je vais sur l'employé numéro I-0004 et que j'affiche sa fiche, je
vois dans le bas du sous-formulaire "relations" qu'il y a 3
enregistrements, mais je dois cliquer sur le bouton suivant pour voir
les autres. Je voudrais qu'il affiche les 3 l'un en dessous de
l'autre.

Au départ, j'aurais aimé que toutes les compagnies s'affichent sous
une zone de liste, mais j'ignore comment faire en passant par la table
"relations".

Ton aide serait grandement appréciée

Merci à l'avance.

On 6 juil, 12:46, "Richard_35"
Bonjour Jojo,

Ne te demandes plus !... et cela n'a rien à voir avec Access en
lui-même.
Il s'agit d'une relation dite "complexe" (N <=> N), donc tu as
absolument besoin de créer une table de relation comprenant :
- Id_Individu
- Id_Société
Ensuite, tu peux attaquer (et/ou) :
- l'affectation des sociétés dans la fiche Individu et alimen ter ta
table Relation
- l'affectation des Individus dans la fiche Société
- la saisie de ta table Relation par choix du couple
Individu/Société

Bon courage,
Richard.


Bonjour, je n'ai pas fait de Access depuis longtemps et là on me
demande mon aide pour un projet. En gros, il y a 2 tables, une
contenant les individus et l'autre contenant les compagnies. Un
individu peut être lié à plus d'une compagnie et une compagnie est lié
à plus d'un individu. Ce que je dois faire c'est associé l'individu à
la ou les compagnies. Étant donné qu'il y a moins de 20 compagnies,
j'avais pensé faire une zone de liste reliée à la table compagnies et
la personne n'aurait qu'à choisir la ou les compagnies pour lequel
l'individu travaille. Là est mon problème, je ne sais plus comment
faire. Je me demande si je ne devrais pas créer une 3e table que
j'appellerai "relation" pour garder toutes les relations qui peut
exister en individus et compagnies.

Un coup de main serait apprécié. Merci à l'avance.


jojosyl.xyz
Le #11388091
J'ai trouvé comment corriger le sous-formulaire et faire afficher
toutes les compagnies. Présentement pour faire la relation entre
individus et compagnies, j'entre manuellement le numéro de la
compagnie dans le sous-formulaire inclut dans le formulaire Individus.

Cependant ce que j'aimerais vraiment, c'est de pouvoir choisir
(cliquer sur) la ou les compagnies dans une zone de liste à partir du
formulaire Individus et que la relation se créé automatiquement. À
l'aide SVP.

Merci.

On 6 juil, 13:43, wrote:
Bonjour Richard,

Merci pour la réponse rapide. Ok j'ai fait ma table "relations", mais
je n'arrive pas à faire en sorte que d'afficher dans mon formulaire
Individus la liste de toutes les compagnies où l'individu travaille.
J'ai essayé de mettre un sous-formulaire "relations" dans celui
d'individu et de mettre un sous-formulaire "compagnie" dans le
formulaire "relations", mais le lien ne se fait pas comme je souhaite.
Si je vais sur l'employé numéro I-0004 et que j'affiche sa fiche, je
vois dans le bas du sous-formulaire "relations" qu'il y a 3
enregistrements, mais je dois cliquer sur le bouton suivant pour voir
les autres. Je voudrais qu'il affiche les 3 l'un en dessous de
l'autre.

Au départ, j'aurais aimé que toutes les compagnies s'affichent sous
une zone de liste, mais j'ignore comment faire en passant par la table
"relations".

Ton aide serait grandement appréciée

Merci à l'avance.

On 6 juil, 12:46, "Richard_35"
> Bonjour Jojo,

> Ne te demandes plus !... et cela n'a rien à voir avec Access en
> lui-même.
> Il s'agit d'une relation dite "complexe" (N <=> N), donc tu as
> absolument besoin de créer une table de relation comprenant :
> - Id_Individu
> - Id_Société
> Ensuite, tu peux attaquer (et/ou) :
> - l'affectation des sociétés dans la fiche Individu et alim enter ta
> table Relation
> - l'affectation des Individus dans la fiche Société
> - la saisie de ta table Relation par choix du couple
> Individu/Société

> Bon courage,
> Richard.

> >
> Bonjour, je n'ai pas fait de Access depuis longtemps et là on me
> demande mon aide pour un projet. En gros, il y a 2 tables, une
> contenant les individus et l'autre contenant les compagnies. Un
> individu peut être lié à plus d'une compagnie et une compagnie es t lié
> à plus d'un individu. Ce que je dois faire c'est associé l'individu à
> la ou les compagnies. Étant donné qu'il y a moins de 20 compagnies,
> j'avais pensé faire une zone de liste reliée à la table compagnie s et
> la personne n'aurait qu'à choisir la ou les compagnies pour lequel
> l'individu travaille. Là est mon problème, je ne sais plus comment
> faire. Je me demande si je ne devrais pas créer une 3e table que
> j'appellerai "relation" pour garder toutes les relations qui peut
> exister en individus et compagnies.

> Un coup de main serait apprécié. Merci à l'avance.


Gloops
Le #11388081
a écrit, le 06/07/2008 20:03 :
J'ai trouvé comment corriger le sous-formulaire et faire afficher
toutes les compagnies. Présentement pour faire la relation entre
individus et compagnies, j'entre manuellement le numéro de la
compagnie dans le sous-formulaire inclut dans le formulaire Individus.

Cependant ce que j'aimerais vraiment, c'est de pouvoir choisir
(cliquer sur) la ou les compagnies dans une zone de liste à partir du
formulaire Individus et que la relation se créé automatiquement. À
l'aide SVP.

Merci.



Bonjour,

Pöur faire ça, je ne vois pas tant que ça de solutions différente s.

Un formulaire lié à un individu présente deux listes de compagnies.

Dans la liste de gauche, toutes les compagnies existantes.
Dans la liste de droite, les compagnies liées à l'intéressé.

Entre les deux, deux boutons présentant des flèches horizontales.

La flèche vers la droite permet, après avoir sélectionné une comp agnie
dans la liste de gauche, de l'associer à l'individu et donc de la faire
apparaître dans la liste de droite.

La flèche vers la gauche permet, après avoir sélectionné une comp agnie
dans la liste de droite, de rompre l'association avec l'individu et donc
de retirer la compagnie de la liste de droite.

Il y a une autre solution, c'est de partir du formulaire de la
compagnie, et alors en bas, ce sont deux listes d'individus qu'on
présente, selon le même principe : la liste de droite présente les
individus liés à la compagnie.

On peut très bien proposer les deux, et l'utilisateur choisira le momen t
venu selon les saisies qu'il a à faire.

L'interface sera plus claire si on place un intitulé suffisamment
explicite au-dessus de chacune des deux listes. Il faut aussi prévoir
des messages d'erreur pour le cas où on clique sur le bouton avec la
flèche vers la droite sans avoir rien sélectionné à gauche, ou su r le
bouton avec la flèche vers la gauche sans rien avoir sélectionné à droite.

On trouve ce genre d'interface dans le domaine système, attendez voir
que je me rappelle, oui, l'appartenance d'un individu à un groupe pour
l'attribution de droits. Il doit bien y avoir d'autres exemples, aussi.

Alors après, bien entendu, d'autres présentations sont possibles. Si on
a un contrôle qui permet des enrichissements de texte sur une liste, on
peut mettre en gras les compagnies liées à l'individu (ou les individ us
liés à la compagnie). Il peut toutefois, souvent, être considéré comme
un avantage de pouvoir lire la liste des compagnies liées à l'individ u
sans avoir à défiler la liste de toutes les compagnies. Après on pe ut
aussi imaginer de trier le contrôle en mettant les éléments en gras en
tête. Attention que l'ordre des éléments reste intuitif dans ce cas .

Au niveau de l'implémentation (=la mise en œuvre), il s'agira d'ajo uter
ou retirer un enregistrement dans la table de liaison (AddNew ou Delete
sur un jeu d'enregistrements, ou encore INSERT ou DELETE en SQL), puis
rafraîchir la liste de droite (Requery).

Ne pas omettre de tester, en ajoutant puis retirant toutes les
compagnies une à une, obtenant une liste de droite pleine, puis vide. S e
rendre compte si il y a besoin d'un message différent.
Publicité
Poster une réponse
Anonyme