BonjourtousMalgrla consultation des forums je n'arrive pascrer une
relation entre deux tablesSoit 2 tables pour une me associationLa premire concerne les adhrents avec les champs: ID, Nom, Prnom,
adresse mail, adresse postale, code postal, ville ,tlphone, date
inscript, date renouvellement.La deuxime concerne les personne ayant passer une formation avec la
date de cette formation.Ellepeut contenir les mme personnes, maisgalement d'autres qui
ne sont pas dans la premire tableQue dois je mettre en relation afin que dans mon formulaire la date
de la formation puisse apparatre ?Merci
Mon premier conseil serait déjà de laisser tomber Base à la poubelle. Soit vous travaillez en mode hsql intégré et au moindre plantage vous perdez tout, mais on peut facilement sauvegarder le fichier.
Soit vous travaillez en mode hsqldb donc externe théoriquement plus sécurisé et là pour les sauvegardes, personne ne sait comment faire et encore moins comment les restaurer, en tous cas LibO n'est pas prévu pour ça...
Sinon, ne vous embêtez pas trop à créer des relations qu'on ne peut pas maîtriser entre les tables (j'ai essayé aussi, Base fait ce qu'il veut) si vous n'avez pas de connaissances du langage sql. Jouez plutôt avec les formulaires et sous-formulaires. On peut lier plus d'un champ. Après, personnellement je ferais des formulaires en fonction de ce que je veux obtenir.
Si je comprends bien l'idée, un formulaire pour les adhérents avec un sous-formulaire formation serait la solution.
Bonjour
Ashok Imap wrote
je n'arrive pascrer une relation entre deux tables
Soit 2 tables pour une me association
La premire concerne les adhrents avec les champs: ID, Nom, Prnom, adresse
mail, adresse postale, code postal, ville ,tlphone, date inscript, date
renouvellement.
La deuxime concerne les personne ayant passer une formation avec la date
de cette formation.
Ellepeut contenir les mme personnes, maisgalement d'autres qui ne sont
pas dans la premire table
Que dois je mettre en relation afin que dans mon formulaire la date de la
formation puisse apparatre ?
En préambule je voudrais dire que ce qui suit a pour but de t'aider, pas te
décourager... 
Le module Base de LibreOffice peut être utilisé de manière "bureautique",
assez simplement.
Il est utilisé couramment, depuis maintenant plusieurs années (et davantage
si on remonte
à OpenOffice).
Par usage "bureautique" j'entends : manipuler une table de contacts, un
fichier d'adresses,
une collection, etc. dans une base créée au format "natif".
Dès qu'on passe à la nécessité de gérer *plusieurs* tables, le module peut
tout à fait
répondre au besoin mais se pose alors le problème de *savoir* comment
répartir
les données dans les différentes tables, et comment les relier. On atteint
rapidement
les limites de ce que permet un usage "intuitif" et il y a un minimum de
connaissances
à acquérir pour éviter de perdre son temps, voire ses données.
L'exemple que tu cites illustre cette limite : deux tables ne permettraient
pas de
gérer tes données et il est donc normal que tu aies des difficultés à les
relier.
On aborde là la notion de "formes normales" (voir par exemple
http://fr.wikipedia.org/wiki/Forme_normale_(bases_de_données_relationnelles))
Nota: ne pas se laisser impressionner par les définitions, les exemples
donnés ensuite
éclairent les choses.
Je te suggère de prendre le temps de repenser ton besoin à la lumière de ces
explications.
Par parenthèse une excellente question à se poser quand on commence un tel
projet
est : est-ce que ce que je veux faire n'existe pas déjà ailleurs ? II est
extrêmement
rare que ce ne soit pas le cas. Les moteurs de recherche nous facilitent les
choses...
Quand le "modèle relationnel" est au point, il reste à passer à sa mise en
œuvre (pour dire
les choses simplement). Tu trouveras un exemple *simplifié* de quelques
techniques sur
cette page :
https://forum.openoffice.org/fr/forum/viewtopic.php?f=29&t=6460
Comme il est indiqué dans ce tutoriel l'objectif est de montrer des
techniques à utiliser
dans les formulaires pour relier les tables. Ce n'est pas un modèle de
données "réaliste"
(il manque des informations).
Pour terminer j'ajoute que LibreOffice Base peut être utilisé pour se
connecter à des
"moteurs" externes (MariaDB, MySQL, Postgres...).
Ceci répond à un usage plus professionnel quant aux possibilités offertes,
aux performances,
à la sécurité des données, etc. La "base de données" créée dans LibreOffice
ne contiendra
que les informations de connexion, les formulaires de saisie/consultation,
des requêtes,
rapports, etc. mais l'essentiel, les données, seront stockées et gérées par
ce moteur externe.
Il va de soi que la gestion des données (création des tables, relations,
triggers,
intégrité référentielle, sauvegardes, restaurations, etc.) sera à la charge
du logiciel
en question... ainsi que la documentation spécifique sur ces questions.
Il faudra donc se reporter pour chaque logiciel à sa documentation sur ces
questions.
Cordialement
Pierre-Yves