IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Comment désigner son conjoint dans une liste de noms


Sujet :

IHM

  1. #1
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2014
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Comment désigner son conjoint dans une liste de noms
    Bonjour,
    j'ai créer une petite base de donnée pour une association pour faire une fiche par adhérant et il me reste quelques points que je n'arrive pas a régler .
    1_la table [listeapp] contient entre autre les champs : nom, prenom, nomconjoint, prenomconjoint- (nom et prenom sont clé primaire). Deux formulaire, un pour la saisie et l'autre la lecture .
    2_ lors de la saisie d'un enregistrement dans le formulaire de saisie, j'ai créer entre autre, une liste déroulante [choi_cj] a double colonne contenant [nom,prenom] et qui permet de sélectionner le nom du conjoint si il est déjà présent dans les autres enregistrements.Cela fonctionne parfaitement dans le formulaire saisie.

    Ma question est simple, comment mettre pour chaque enregistrement d'un adhérant de la table [listeapp] , le nom de son conjoint dans les champs: nomconjoint, prenomconjoint issus de la liste déroulante en prévoyant aussi un champ vide si pas de conjoint, pour pouvoir les afficher dans le formulaire lecture de chaque adhérent.

    Je débute et j'ai essayé pleins de chose ..mais j'ai pas trouvé la soluce .
    Merci de votre aide.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour et bienvenu dans le monde merveilleux de Access.

    Je te recommande de ne pas utiliser le nom et prénom comme clef primaire. C'est un peu moins fréquent en France mais il existe des personnes qui portent le même nom et le même prénom et qui ne sont pas la même personne. Je connais dans mon environnement personnel environ une douzaine de "Martin ROY".

    La solution habituelle est d'attribuer un numéro unique à la personne (Champ de type Numero Auto) au moment de la saisie et de s'en servir par la suite..

    Ta table ressemble alors à cela :

    Table Personne
    ClefPersonne (Numero Auto)
    Nom
    Prenom
    Autres infos sur personne
    ClefConjoint (Entier long, valeur par défaut "Null", Null indque que la valeur n'est pas connue ou utilisée.)

    Avec une relation entre Personne et Personne_1 (une seconde fois la table Personne) sur ClefConjoint et ClefPersonne

    La source liste de sélection resssemble à cela

    [CODE=sql]Select Personne.ClefPersonne, Personne.Nom & " " & Personne.Prenom as NomPrenom form Personne order by Personne.Nom, Personne.Prenom;[/CODE=sql]

    Les paramètres de la liste de sélection sont :

    Nombre de colonnes : 3
    Largeur Colonne : 0cm;10cm;10cm (À ajuster mais c'est une bonne estimation, le 0 va masquer la colonne ClefPersonne)
    Largeur liste : 20.44cm (le .44 sert à avoir de la place pour l'ascenseur)

    Pour ta question :

    Ma question est simple, comment mettre pour chaque enregistrement d'un adhérant de la table [listeapp] , le nom de son conjoint dans les champs: nomconjoint, prenomconjoint issus de la liste déroulante en prévoyant aussi un champ vide si pas de conjoint, pour pouvoir les afficher dans le formulaire lecture de chaque adhérent.
    Je ne saisi pas bien ton besoin, si à la saisie tu as entré les informations de Nom et Prénom du conjoint elles sont disponibles immédiatement.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Bonjour,
    Marot a tout à fait raison
    Voici un petit exemple :
    conjoints.zip

    Attention : j'ai mis une ligne de code VBA sur l’événement onCurrent() du formulaire pour rafraîchir la liste des conjoints si jamais il y avait eu un ajout, une modification ou une suppression avant d'arriver sur la fiche d'une personne.
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

  4. #4
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2014
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Déjà je vous remercie pour vos réponses aussi rapide .
    Mais c'est vrai qu'il est difficile d'exposer clairement ce que l'on veut en quelques lignes. Je vais donc reprendre ma question sous un angle différent:
    1 _ j'ai créer deux formulaire l'un en lecture uniquement et l'autre en saisie, comportant les mêmes champs cités dans le 1er messages . Cela pour éviter que en mode lecture des saisies involontaires soient possible mais que cela n’empêche pas de consulter la table .
    2 _ En mode saise j'ai aucun problèmes , avec la liste de sélection .. ( j'en ai profité pour suivre le conseil et ajouter un champ numérique auto en clef primaire) . Avec la liste de sélection, j'ai en surbrillance le noms et prénom sélectionné du conjoint .
    donc jusque la ... pas de problèmes ...

    Maintenant en mode lecture, je veux afficher tous les champs (renseignés par formulaire saisie )... Je sais afficher tous les champs divers de la table SAUF et c'est la que j'ai le problème : le noms et prénoms du conjoint sélectionner dans le formulaire saisie par la liste de sélection et qui correspond a nomconjoint,et prenomconjoint .
    Voila j’espère avoir été plus clair .
    PS: en attendant la solution j'ai contourné le problème en faisant renseigné nomconjoint, prenomconjoint de façon manuel sans liste de sélection .. mais cela est pas très satisfaisant ...

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Salut,
    Désolé mais non : ce n'est pas plus clair
    As-tu regardé ma petite base exemple ?
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

  6. #6
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2014
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    oui j'ai vu ton exemple mais il correspond a ce que j'ai déjà fait dans le formulaire saisie ... je vais essayer de poser le problème d'une autre façon plus général ...Est il possible de mettre le résultat d'un choix multiple (dans ce cas 2 colonnes) dans un autre champs de la même table pour pouvoir afficher le résultat ultérieurement sans afficher la liste déroulante ?
    voila a quoi ma question correspond en définitif ..

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2010
    Messages : 801
    Points : 1 107
    Points
    1 107
    Par défaut
    Aaaaahhhhh !
    Il suffit d'écrire cette requête comme source de données de ton formulaire en lecture seule Pas besoin de stocker le nom et le prénom du conjoint (ça ferait doublon). Juste son ID suffit, comme dans ma base exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT listeapp.IDpersonne, listeapp.nom_personne, listeapp.prenom_personne, listeapp_1.IDpersonne AS IDconjoint, [listeapp_1].[nom_personne] & ", " & [listeapp_1].[prenom_personne] AS conjoint
    FROM listeapp INNER JOIN listeapp AS listeapp_1 ON listeapp.id_conjoint = listeapp_1.IDpersonne;
    D'ailleurs, ce n'est pas nécessaire de faire plusieurs formulaires dans ton cas. Un seul suffit. Tu peux choisir de l'ouvrir en lecture seule ou en modif grâce à la méthode Docmd.OpenForm . Tu peux même empêcher l'ajout ou la suppression. Tout ça ce sont des propriétés du formulaire manipulables en VBA
    L'informatique fait gagner beaucoup de temps. A condition d'en avoir beaucoup devant soi !!!

  8. #8
    Candidat au Club
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2014
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    1/ j'ai recopie tes 2 lignes de code et je les ai coller dans le formulaire que tu as creer en fichier zip ..
    -onglet données et dans le generateur d'expression source controle...
    mais j'ai le code erreur :
    Cette expression comporte une sous-requete erronée - placez la sous-requete entre paranthese
    donc j'ai essaye plusieurs solution de mise de paranthese .. mais tjrs la meme chose ...

    peut etre me joindre la solution que tu viens de me donner en fichier zip ...

    2/ pour ce qui est du formulaire de lecture et de saisie , j'aime bien la soluce que j'ai adopté car malgres que les champs soient les même dans les deux formulaires , je peux dans le formulaire de saisie donner beaucoup de consignes et d'aide pour la saisie qui s’avère inutile pour la lecture seule ...

    encore un grand merci pour ta patience ... car pour moi la manipulation des codes c'est comme du martien ...

Discussions similaires

  1. Comment supprimer des "0" dans une liste
    Par solorac dans le forum Excel
    Réponses: 4
    Dernier message: 04/09/2007, 12h22
  2. comment ajouter des élements dans une liste ?
    Par ryoussef19 dans le forum VC++ .NET
    Réponses: 5
    Dernier message: 15/06/2007, 16h02
  3. Comment Manipuler des objets dans une liste de type TList ?
    Par PadawanDuDelphi dans le forum Delphi
    Réponses: 1
    Dernier message: 02/11/2006, 15h40
  4. Réponses: 1
    Dernier message: 08/09/2006, 17h21
  5. [langage] Comment rajouter des champs dans une liste
    Par toto_titi dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2003, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo