Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


/Le 27/10/2011 10:54, Hugues Bousquet (Prof) a écrit :/
/Bonjour,

j'ai une base de donnée, sous base, comportant plusieurs tables en relation. Je souhaite, dans un formulaire, obtenir une liste de choix déroulante, qui me permette d'affecter à l'enregistrement en cours un numéro de relation contenu dans la table de relation entre deux autres. Mais pour faciliter la saisie, je souhaite voir s'afficher le contenu d'un champ d'une des tables en relation. Je ne sais comment m'y prendre...

Pour faire bref :

J'ai

   une table de membres (id_membre, nom, prénom, adresse)
   une table d'enfants (id_enfant, nom, prénom)
   une table relation_membre_enfants (id_relation, id_membre, id_enfant)

et je souhaite réaliser un formulaire "enfants" où je pourrai inscrire les enfants (nom, prénom...) ainsi que leur attribuer le membre dont ils dépendent, en utilisant une liste de choix qui me ferait apparaître les noms des différents membres.

Si l'un d'entre vous peut me mettre sur la voie...

D'avance merci

Hugues /
Bonjour,
Voici la solution :

Ajoute d'abord un champ "ref_membre" dans ta table enfant et créée la relation ad-hoc

Une fois ton formulaire enfants créé /(logiquement à partir de ta table enfants)/ tu crée, à l'intérieur de celle-ci un sous formulaire membres.
Voilà comment faire :

En mode édition
Ouvre le navigateur de formulaires par Affichage | Barre d'outils | Ébauche de formulaires
clique sur le bouton "Navigateur de formulaires" pour l'afficher
Bouton droit sur MainForm /(en haut de liste)/, puis Nouveau | formulaire
Le sous-formulaire qui vient de se créer est sélectionné, en bas de liste. Profites-en pour le renommer "sf_membres", par exemple
Bouton droit sur le sous-formulaire puis Propriétés
Dans la boîte qui s'affiche : onglet "Données"
Dans le champ "contenu" choisis la table membres
Dans le champ "Lier les champs maîtres" choisis les champ de la relation qui existe entre les deux tables "enfants" et "membres" /(normalement ref_enfant et id_membre)
/Enfin affiche les contrôles de formulaires par Affichage | Barre d'outils
Choisis zone de liste et crée ce champ dans ton formulaire
Clic droit sur ce nouveau champ | Contrôle... et onglet "Données" dans la boîte qui s'affiche Dans le champ "champ de données" choisis nom (parmi les champs de la table membre qui doivent y figurer)
Dans le champ "Type du contenu de liste" choisis Sql
Dans le champ contenu de liste tapes : SELECT `nom`, Id_membre FROM `tabase`.`ta_table_membres` ORDER BY `nom` ASC

Et si ça marche, SURTOUT, ne me demande pas pourquoi...
Cordialement. Lucien.






--
Envoyez un mail à users+help@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être 
supprimés

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.