[Résolu] Ajouter des tables pour créer des relations

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
jjber
Membre lOOyal
Membre lOOyal
Messages : 33
Inscription : 17 mars 2021 15:00

[Résolu] Ajouter des tables pour créer des relations

Message par jjber »

Bonjour
J'ai créé 3 tables T-CONSTANTES (clé = NOMAPPART) T-PRESTATIONS(cle = NOMAPPART) et T-OPERATEURS (clé = NOMOPER) et saisit quelques enregistrements dans chacune d'elles.
Je souhaite créer des relations entre chaque table.
J'ouvre les 3 bases, mais en utilisant OUTILS / RELATIONS / AJOUTER TABLES, impossible d'afficher toutes les tables : une seule s'affiche
Comment procéder pour que les 3 tables s'affichent ?
Merci
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par jjber le 19 mars 2021 17:56, modifié 2 fois.
JJB - Libre Office 7.1.4.2 (x64) sous Windows 10
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9251
Inscription : 28 août 2010 08:45

Re: Comment ajouter des tables pour créer des relations ?

Message par micmac »

Bonjour,

Inutile d'encapsuler une image dans un PDF. Le forum accepte les formats images.

Joindre un fichier au format ODF facilite le travail des bénévoles en évitant de jouer aux devinettes et de recréer quelque chose qui, au final, pourrait ne pas convenir pour le traitement d'une question.
Comment joindre un fichier.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Comment ajouter des tables pour créer des relations ?

Message par jeanmimi »

Bonjour,
jjber a écrit :J'ouvre les 3 bases, mais en utilisant OUTILS / RELATIONS / AJOUTER TABLES, impossible d'afficher toutes les tables : une seule s'affiche
C'est normal, puisque pour ajouter une Table dans une Relation, il faut qu'elle soit une Table de la Base et non pas une Table d'une autre Base.
jjber a écrit :Comment procéder pour que les 3 tables s'affichent ?
Première condition : mettre les 3 Tables dans la même Base.
Deuxième condition : que chaque Table puissent entrer en relation par un de leurs champs. De ce point de vue, les Tables ne sont pas conformes : absence de clé primaire de Type INTEGER en Auto-Valeur, absence de champ pour les relations.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
jjber
Membre lOOyal
Membre lOOyal
Messages : 33
Inscription : 17 mars 2021 15:00

Re: Comment ajouter des tables pour créer des relations ?

Message par jjber »

Bonjour ... et merci
J'ai regroupé les 3 tables dans une même base .. c OK
J'ai pu établir une relation entre la clé NOMOPER de la table T-OPERATEURS et NOMOPER de la table T-PRESTATIONS (bien que ce ne soit pas des champs Integer)
Mais je ne peux pas établir de relation entre les champs NOMAPART des tables T-PRESTATIONS et T-CONSTANTES ?
Je n'arrive pas à cerner le problème ...
Ci-joint la base contenant les 3 tables
Merci d'avance
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
JJB - Libre Office 7.1.4.2 (x64) sous Windows 10
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25173
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: Comment ajouter des tables pour créer des relations ?

Message par Dude »

Salut,

Relis ce que t'écrit jeanmimi :
jeanmimi a écrit :absence de clé primaire de Type INTEGER en Auto-Valeur,
Ton ODB ne respecte pas ce principe élémentaire.

Tu devrais lire les tutoriels du site : Techniques pour débuter avec le module Base
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Comment ajouter des tables pour créer des relations ?

Message par jeanmimi »

En modifiant les Tables, voilà les Relations qui peuvent être établies (je n'ai pas bien compris les champs PUHN et PUHM de la Table Opérateurs) :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
jjber
Membre lOOyal
Membre lOOyal
Messages : 33
Inscription : 17 mars 2021 15:00

Re: Comment ajouter des tables pour créer des relations ?

Message par jjber »

Bonjour
:D parfait merci
Avec vos corrections, j'ai compris la logique des relations de tables.
Je m'attaque maintenant au langage SQL ........
Précision
PUHN et PUHM = prix unitaire heure normale et heure majorée
JJB - Libre Office 7.1.4.2 (x64) sous Windows 10
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 16960
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: Comment ajouter des tables pour créer des relations ?

Message par jeanmimi »

jjber a écrit :PUHN et PUHM = prix unitaire heure normale et heure majorée
J'aurais plutôt attendu ces données dans la Table Prestations.
A quel moment la durée des prestations est il saisi ?
LibreOffice : Version : 24.2 (x64)(12 avril 2024)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
jjber
Membre lOOyal
Membre lOOyal
Messages : 33
Inscription : 17 mars 2021 15:00

Re: Comment ajouter des tables pour créer des relations ?

Message par jjber »

La durée de la prestations est fixée par contrat : elle est fixe et dépend de la taille de l'appart (elle est attachée à l'appart ForfaitH de Tappartements)
Dans la table Tprestations on indique la date d'une prestation; le nombre (en principe 1); le type (1 si Majo); l'appart concerné; et l'opérateur (+ un certains nombre de détails complémentaires)
Ensuite on va calculer la remuneration de l'opérateur (Duree Prest dans TAppart x PUHN ou M dans TOperateurs) et on va calculer la facturation au proprietaire (PUHN ou M * ForfaitH * dans Tappart * Nbreprest de TPrestations)
JJB - Libre Office 7.1.4.2 (x64) sous Windows 10
Avatar de l’utilisateur
jeanmi2403
SuppOOrter
SuppOOrter
Messages : 1398
Inscription : 18 janv. 2008 09:02
Localisation : Val de Marne

Re: Comment ajouter des tables pour créer des relations ?

Message par jeanmi2403 »

Bonsoir,
jjber a écrit :Je m'attaque maintenant au langage SQL ........
Tu as besoin de SQL pour quoi faire ?
Quelle est la finalité de cette base ? Des rapports ?
Bonne soirée,
Jean-Michel
LibO 7.5.9 et AoO 4.1.15 sur Windows 11 & Ubuntu 22.04
LibO 7.6 sur OpenSuse & Linux MX
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12226
Inscription : 08 nov. 2005 16:23
Localisation : Caen, France

Re: Comment ajouter des tables pour créer des relations ?

Message par Bidouille »

Bonjour,

Évitons les digressions.
Si ce fil qui traite d'un ajout de tables pour créer des relations est résolu, merci de l'indiquer(*).
Et d'ouvrir un nouveau fil avec un titre en rapport pour une autre question.


(*) Suivez ce sujet pour savoir comment procéder : http://forum.openoffice.org/fr/forum/ftopic3299.html