/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.