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