Gérer les Homonymes

Résolu/Fermé
lorenzozo201 Messages postés 15 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 17 février 2012 - 19 janv. 2012 à 17:08
lorenzozo201 Messages postés 15 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 17 février 2012 - 23 janv. 2012 à 09:09
Bonjour,

Access 2007/2010

J'ai une tables avec des noms et prénoms et un identifiant numérique unique par ligne. J'utilise cette table dans un formulaire où j'utilise le nom et le prénom.

J'aimerais qu'une fois le nom sélectionné, le prénom apparaisse dans le champ prénom. Si deux noms identiques, dans la liste déroulante des noms je dois avoir le choix entre les deux noms identiques mais chaque nom sera lié à un seul prénom. Pour cela on doit, je pense, utiliser l'identifiant numérique unique de la table des Noms et prénoms mais comment ?

Quelqu'un peut-il m'aider ? Je débute sur Access et là je nage ;-)))

14 réponses

vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
Modifié par vordano le 19/01/2012 à 17:15
tu peux différencier les homonyme par la date de naissance, l'adresse, le numéro de téléphone , etc...
quand tu génère ta liste déroulante, tu peux mettre l'identifiant unique comme valeur a coté du prénom (bien qu'utiliser le prénom dans une liste déroulante généré par un nom de famille, c'est moyen je trouve)
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
19 janv. 2012 à 21:28
Bonsoir lorenzozo201,

L'orthodoxie stipule qu'un enregistrement doit contenir des informations
dites homogènes.
Autrement dit, je partage pleinement l'opinion de vordano :

Comme chaque individu a un nom et un prénom,
Chaque enregistrement contiendra ces 2 informations.

Donc, dans les cas d'homonymie, il y aura 2 enregistrements distincts

La discrimination des homonymes doit être gérées autrement. Ainsi, par exemple, les N° de sécurité sociale permettent de distinguer tous les Dupont ayant le même prénom .......

Cordialement
0
lorenzozo201 Messages postés 15 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 17 février 2012
19 janv. 2012 à 22:42
Je suis d'accord, il y a en effet deux enregistrements distincts avec chacun un champ Id unique. Mais comment lors de l'utilisation de ces champs dans un formulaire faire, comme l'indique vordano, apparaître l'identifiant unique ? Celui-ci devra d'ailleurs aussi apparaître au niveau du nom afin de vérifier la concordance. Là est mon problème... J'y suis depuis cette après-midi et je sèche. Résultat je rentre des données incohérentes dans la base avec des noms qui n'ont pas le même Id que les prénoms sélectionnés, un contrôle peut-il être créé facilement pour tester la cohérence d'ailleurs ?

Merci pour votre aide.
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
20 janv. 2012 à 07:45
Bonjour lorenzozo201,

Dans le formulaire, les propriétés du champ «prénom» définissent le champ de la table sous-jacente qui doit-être affiché.
Voici une copie d'écran pour illustrer les propriétés du champ dans le formulaire :

https://www.cjoint.com/?3Auhx1gbvH6

Cet exemple provient de la base spécimen nommée 'Contacts' qui est normalement fournie par défaut avec access.
Votre Id peut être utilisé comme «détrompeur».

Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
20 janv. 2012 à 09:23
je suppose que tu récupère tes homonyme via une requète pour ensuite mettre les résultats dans un tableau ou une liste ? (a moins que tu affiche directement la liste déroulante avec le recordset de la requète)

dans le cas ou tu stocke tes donnée dans un tableau, tu peux aussi stocker l'id de la personne, et ainsi tu retrouve la bonne personne grace à la valeur numérique retourné par la liste déroulante lors du clic (valeur de la liste = valeur du tableau -> retourne l'id de la personne concerné)
0
lorenzozo201 Messages postés 15 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 17 février 2012
20 janv. 2012 à 09:31
Merci pour ces réponses.
Pour Vordano, je récupère en effet les homonyme via une requête, une fois que j'ai sélectionné le nom dans le formulaire, une requête intervient et présente plusieurs prénom, car cette requete ce base sur le nom et pas sur l'id, ensuite ce nom et prénom est enregistré dans une autre table qui intervient pour gérer un planning. Et là parfois j'ai les incohérence.

Je ne comprend pas ton explication, comment stocker l'id de la personne sans l'avoir sélectionné dans le formulaire et faire un contrôle de cohérence ?

Merci pour ton aide.
0
lorenzozo201 Messages postés 15 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 17 février 2012
20 janv. 2012 à 09:37
Pour donner plus d'info, au niveau des propriétés de la liste déroulante des Prénoms j'ai dans :
La source de Contrôle : Prénom RH
Contenu : SELECT [Requête_Prenom].[Prénom RH] FROM Requête_Prenom;

Dans la Requête_Prenom, j'ai au niveau du champs Nom dans la ligne critère :
[Formulaires]![Saisie Planning]![Nom RH]

De cette manière les prénoms liés à un nom remonte mais si plusieurs fois le même nom cela fait remonter plusieurs prénom..., mon idée était au lieu de chercher par le nom était de chercher par l'Id mais là je bloque car l'id n'est pas dans le formulaire.
0
vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
20 janv. 2012 à 09:40
déjà gérer les informations en utilisant le nom et prénom pour remplacer l'id unique, c'est completement absurde, s'il y as un id unique, c'est pas pour faire joli hein...
t'as pas besoin de recopier 10 fois la même info dans toutes les tables, tu gère ça avec l'id de la personne qui s'occupe du planning en question

pour ton deuxième paragraphe:
tu peux utiliser une structure (c'est l'équivalent d'un objet, mais en moins performant), ca te sert a stocker toutes les infos d'une personne sur un seul emplacement d'un tableau ou d'une liste,
ca fait un truc du genre tableau[i].nom pour ressortir le nom, pareil pour l'id
0
lorenzozo201 Messages postés 15 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 17 février 2012
20 janv. 2012 à 09:55
Merci pour ta rapidité Vordano, donc si je comprend bien, dans la table planning, je dois enregistrer uniquement l'id de la personne qui pourra renvoyer à la table des noms et prénoms où est stockée l'ensemble des données des personne, logique, du bon sens même. Mais comment faire cela au niveau du formulaire, y-at-il un moyen de faire apparaître une liste déroulante avec le nom et le prénom dedans afin d'être certains de saisir les bones données et après d'envoyer le bon id dans la table planning ?
0
vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
20 janv. 2012 à 10:24
a mon avis tu n'utilise jamais de jointures dans tes requètes, non ?

bon admettons que tu possède une table personne et une table planning
déjà il faut que tu détermine un moyen fiable de trouver la bonne personne parmis les homonymes
tu peux faire un petit formulaire de choix de personne qui affiche les infos d'une personne (nom, prénom, date de naissance etc...) afin de permettre a l'utilisateur de choisir la bonne personne.
ensuite tu peux faire un bouton "afficher le planning" qui affichera le planning de la personne choisi. le fait est que lorsque tu affiche les informations de la personne à l'utilisateur, tu as aussi l'id de la personne.

tu vois ce que je veux dire ?
0
lorenzozo201 Messages postés 15 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 17 février 2012
20 janv. 2012 à 10:37
Les jointures, non, c'est quoi ?

A côté de cela, j'ai réussi à créer une liste déroulante où je vois le nom, le prénom et l'id, donc permet de choisir correctement la bonne personne, manque plus qu'à envoyer ces données dans la table planning (du moins que l'id). Je vais essayer cela cette après-midi. Je te tiens au courant.
0
vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
20 janv. 2012 à 11:00
comment est ce que tu fais tes requètes ?
0
lorenzozo201 Messages postés 15 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 17 février 2012
20 janv. 2012 à 18:33
Je n'ai pas vraiment de règle pour faire les requète, je les utilise plus pour analyser les données d'une table.

J'ai trouvé le moyen de faire apparaître plusieurs colonnes dans une liste déroulante, donc le problème des doublons est réglé. Maintenant, je dois juste lier ce formulaire la table planning pour l'alimenter et la je galère, du moins je nage...
0
lorenzozo201 Messages postés 15 Date d'inscription jeudi 5 novembre 2009 Statut Membre Dernière intervention 17 février 2012
23 janv. 2012 à 09:09
Merci à Vorano et Jean-Jacques,

En suivant vos conseils j'ai enfin résolu mon problème, je gère les homonymes en faisant apparaître dans la liste déroulent, le nom, prénom et email. Ainsi plus de problème et derrière cela est rattaché à une id unique qui est enregistrée dans la base. Et j'ai réussi à lier cela dans la table que je voulais. Je vais continuer à apprendre comme cela.

Merci pour votre aide.

Lorenzozo201
0