Création d'un formulaire avec sous-formulaire

Bonjour à tous,

Je souhaite, à l’aide de libreoffice base, me constituer une base de donnée bibliothèque.

Pour cela, je prévois deux tables :
-Une table (T_livres) pour enregistrer tous les livres consultés, avec leurs références, et beaucoup de caractéristiques.
-Une table (T_références) pour enregistrer des citations de ces livres, des pages intéressantes.

Je crée alors une relation entre les deux tables : la clef primaire de T_livre devient clef étrangère de T_référence, dans un champ “ref_livre”.
De cette manière, pour chaque référence entrée, j’insère dans l’enregistrement toutes les caractéristiques du livre à l’aide de la relation de table.

Je crée un formulaire pour saisir mes livres, un autre pour les références.
Pour le formulaire “références”, plutôt que d’entrer la clef primaire de T_livres (qui est peu parlante), je voudrais pouvoir choisir le titre du livre dans une zone de liste. A l’aide d’un sous-formulaire, j’aimerais au passage afficher certaines des références du livre.

Problème : en créant le formulaire “références”, il est impossible de choisir “sous-formulaire basé sur une relation existante”, ce qui m’empêche de modeler mon formulaire comme je le souhaite.

Auriez-vous une solution pour cela ?
Merci d’avance !

Bonjour ,
Il faut créer un formulaire basé sur la table “T_livres” et y intégrer un sous-formulaire basé sur la table “T_références” .
Dans les propriétés du sous-formulaire ,sous l’onglet données ,il y a l’option pour établir une relation maître -esclave .Cette relation peut s’appuyer sur plusieurs champs .
Par après ,vous pouvez masquer les champs qui ne sont pas nécessaires .Tout ceci peut se faire également à l’aide de l’assistant .

Merci beaucoup, je vais essayer votre solution.

J’en profite pour une question de surcroît :
J’aimerais aussi enregistrer des références d’articles de revues, si possible dans la même table T_références.
Dans cette optique, j’imagine que le mieux est de créer une table T_articles afin de pouvoir y entrer les données idoines. Mais dans ce cas, est-il possible d’avoir une relation de T_références simultanément avec T_livres et T_articles ?
Il faudrait alors une clef primaire automatique différente pour T_articles, mais comment faire ?
Merci d’avance !

Bonjour ,
Je suppose que quand vous parlez de table T_références ,vous voulez parler de formulaire ?Il est possible d’insérer plusieurs sous-formulaires dans le formulaire principal basé sur “T_Livres” pour autant qu’il y ait au moins un champ commun dans les 2 tables pour qu’il y ait relation .La relation ne s’effectue pas nécessairement sur la clef primaire .Mais il est aussi possible d’insérer un sous-formulaire indépendant . Le mieux c’est que vous annexiez votre fichier pour y voir plus clair .

1 Like

Bonjour,
J’utilise un formulaire pour remplir la table T_référence.
J’aimerais n’avoir qu’une table de référence, en relation avec T_livres et T_articles, de manière à pouvoir faciliter l’exploitation lorsque je recherche une citation.

Voici ci-dessous l’ébauche de base de donnée ; elle est encore sous l’ancien format (sans la modification recommandée).

Ebauche Bibliothèque.odb (28.0 KB)

Bonjour ,
J’ai rapidement créé un formulaire essai basé sur T_livres avec T_references comme sous-formulaire avec une relation basée sur la référence du livre et un autre sous-formulaire article basée sur id_ref de references et id de la table articles que j’ai créée .J’ai fait ceci à l’aide du navigateur de formulaire et de l’onglet Formulaire .


Ebauche Bibliothèque.odb (38.6 KB)

Je pense que ça correspond à ce que vous voudriez .

Merci beaucoup pour ce travail, cela approche en effet beaucoup de ce que je souhaite obtenir.
Le sous-formulaire “article” pourrait être en grille, puisque purement consultatif, mais c’est un détail facilement modifiable.
Un problème subsiste : comment entrer dans Ref_livre (qui dès lors porte mal son nom, il faudrait plutôt ref_livre/article…) une référence d’un article ?
Prenons un exemple :
Si dans l’état actuel j’entre 7 dans “ref_livre”, la référence sera enregistrée automatiquement avec le livre portant cet id, “La dure montée” le cas échéant. Comment alors enregistrer une référence en relation à l’article portant l’id n°7 ? (ou même un autre id.)
Le but étant d’enregistrer dans la table T_références, via le formulaire, des citations en relation (liées) soit avec un livre, soit avec un article.
Merci pour votre patience…

Bonjour ,
Il ne serait pas plus simple que la table qui porte le nom actuellement de T_Livres reprennent également la liste des articles avec un champ qui spécifie si c’est un livre ou un article .D’où l’opportunité de faire la sélection (Livres ou articles) ?

Bonjour @ambroisegb

Je me permets d’indiquer un tutoriel expliquant différentes méthodes, notamment l’utilisation de listes déroulantes pour faciliter la saisie (et rendre transparents les identifiants).

Il est ancien (je l’avais écrit du temps d’OpenOffice et il est stocké sur le forum “apache”) mais les principes restent les mêmes.

Cordialement

1 Like

Bonjour,
Aboulafia, quant au fait de mettre une sélection livre/article, j’y ai pensé, mais le problème est que les champs ne correspondent pas parfaitement, ceux de l’un ne sont pas adaptés à l’autre et vice-versa.
PYS, merci pour ce lien, je vais aller voir cela.