Créer un vrai modèle relationnel depuis Calc

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.

Créer un vrai modèle relationnel depuis Calc

Messagepar anatole » 02 Août 2021 20:09


La modération vous a écrit: Titre modifié pour plus de clarté : "créer un vraie bdd relationnelle depuis Calc"


Bonsoir,
Comme Jeanmimi me l'a conseillé, j'ouvre ici un sujet spécifique après un début dans le forum Base https://forum.openoffice.org/fr/forum/viewtopic.php?f=9&t=64264
Dans Calc... j'avais créé un embryon d’outil pour accompagner des recherches historiques autour de trois feuilles :
- une feuille "sourcesInventaire" : pour recueillir les informations générales, cote par cote, sur des dossiers d'archives
- une feuille "inventairePiècesPériode" : pour recueillir les informations précises sur des pièces contenues dans ces dossiers
- une feuille "aFaire" : pour noter des travaux particuliers à faire sur telle ou telle pièce
plus une feuille où j'avais commencer à créer des listes pour pouvoir utiliser des listes déroulantes dans les 3 feuilles principales.
Comme cela s’est révélé rapidement peu efficace, je suis en train d’essayer... de la transformer en « vraie » base relationnelle dans Base
Je mets un pdf avec en résumé ma configuration en Calc
bdd calc projet base 21 08 02.pdf
(20.7 Kio) Téléchargé 10 fois
et mon projet embryonnaire de configuration en Base et je joins aussi un début de commencement en Base
projet bdd forum 21 08 02.odb
(40.13 Kio) Téléchargé 16 fois

Beaucoup, beaucoup de questions se bousculent dans pauvre tête embrumée de senior mais j’essaye de sérier les priorités :
Pour commencer, je cherche à afficher dans mon formulaire “ inventaireLR1940” (=inventairePiecePeriode) les champs : “pieceSourceLieu” & “pieceCoteConcat” de la table “sourceInvenaire”, pour cela, il faut que :
1. je finalise dans la table “sourceInventaire” la rubrique “pieceCoteConcat” qui doit être la concaténation de :
“sourceCote1” [espace] “sourceCote2” [espace] “sourceCote3” [espace] “sourceCote4” ; sachant que “sourceCote1” et “sourceCote4” peuvent être vides… et je ne sais pas du tout comment procéder
2.je crée la relation adéquate basée sur IDsource et piecesourceID : je n’y arrive pas vraiment : par exemple, quel statut donner à l'ID secondaire...
3. j'ajoute un sous-formulaire dans mon formulaire “ inventaireLR1940” pour l’affichage des deux champs extérieurs : là aussi je bloque.

Dans l'embryon Base que je joins les formulaires" contiennent encore certaines des rubriques issues de l'importation depuis Calc et que je cherche justement à remplacer grâce à l'utilisation de "relations"...
Dans un second temps, je poserai des questions sur des "manip" permettant dans "inventairePiècesPériode", pour :
1 les enregistrements déjà existants (provenant de l'importation depuis Calc),d'automatiser le remplissage du champ "piecesourceID" forcément encore vide
2.les nouveaux enregistrements d’aller dans “sourcesInventaire”,soit copier l'ID une source déjà existante à utiliser, soit créer une nouvelle source, avant de retourner copier son ID dans "inventairePiècesPériode !
Mais chaque chose en son temps !

Merci de l'intérêt que vous porterez à mon projet et merci de vos lumières
Bonne soirée
Dernière édition par anatole le 03 Août 2021 20:17, édité 1 fois.
Papy-geek ! Windows 10 Famille 2004 - 19041.746 Experience pack 120.2212.551.0 - {64bits} - Acer-Aspire TC-115 (2014) AMD A4-6210 APU Radeon R3 Graphics 1.80GHz - RAM 8G0 - LibreOffice 7.0.6.2 l'Aventure continue !
Avatar de l’utilisateur
anatole
Membre OOrganisé
Membre OOrganisé
 
Message(s) : 91
Inscrit le : 30 Oct 2010 17:54

Re: créer un vraie bdd relationnelle depuis Calc

Messagepar Dude » 03 Août 2021 16:39

Salut,

Déjà dit, un tableur ne supporte pas de modèle relationnel. Donc, le plus simple est de refaire.
A essayer d'adapter, on perd plus de temps.
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 22730
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: créer un vraie bdd relationnelle depuis Calc

Messagepar anatole » 03 Août 2021 20:17

Bonsoir,
déjà dit, un tableur ne supporte pas de modèle relationnel. Donc, le plus simple est de refaire. A essayer d'adapter, on perd plus de temps
: je comprends bien.
Cela dit la première question que j'ai posée
Pour commencer, je cherche à afficher dans mon formulaire “ inventaireLR1940” (=inventairePiecePeriode) les champs : “pieceSourceLieu” & “pieceCoteConcat” de la table “sourceInvenaire”, pour cela, il faut que :
1. je finalise dans la table “sourceInventaire” la rubrique “pieceCoteConcat” qui doit être la concaténation de :
“sourceCote1” [espace] “sourceCote2” [espace] “sourceCote3” [espace] “sourceCote4” ; sachant que “sourceCote1” et “sourceCote4” peuvent être vides… et je ne sais pas du tout comment procéder
2.je crée la relation adéquate basée sur IDsource et piecesourceID : je n’y arrive pas vraiment : par exemple, quel statut donner à l'ID secondaire...
3. j'ajoute un sous-formulaire dans mon formulaire “ inventaireLR1940” pour l’affichage des deux champs extérieurs : là aussi je bloque.

en fait, n'est quasiment pas dans une logique de transformation, mais bien de création d'une bdd relationnelle.
Comme d'ailleurs aussi une partie de la question que j’envisageais de poser dans un second temps :
2.les nouveaux enregistrements d’aller dans “sourcesInventaire”,soit copier l'ID une source déjà existante à utiliser, soit créer une nouvelle source, avant de retourner dans "inventairePiècesPériode copier son ID !

Bonne soirée
Papy-geek ! Windows 10 Famille 2004 - 19041.746 Experience pack 120.2212.551.0 - {64bits} - Acer-Aspire TC-115 (2014) AMD A4-6210 APU Radeon R3 Graphics 1.80GHz - RAM 8G0 - LibreOffice 7.0.6.2 l'Aventure continue !
Avatar de l’utilisateur
anatole
Membre OOrganisé
Membre OOrganisé
 
Message(s) : 91
Inscrit le : 30 Oct 2010 17:54

Re: créer un vraie bdd relationnelle depuis Calc

Messagepar jeanmimi » 03 Août 2021 20:33

Bonjour,
Lorsqu’un champ est une concaténation de deux champs, on n’est plus stricto senso dans une Table mais dans une Requête, voire dans une Vue d’une requête.
En conséquence, le formulaire ne devrait afficher que les champs des Tables.

Lorsqu’un champ est vide, on peut utiliser COALESCE à la place de CONCAT. Il y a des exemples dans le forum.
Voir ici :
viewtopic.php?f=9&t=47361&p=257305&hilit=+Coalesce+champ+.vide#p257305
LibreOffice : Version : 7.2 (x64)(22 août 2021)
Adoptopen JRE ou Oracle JRE (x64) 1.8.0_xxx, Windows 10, Thunderbird, Firefox
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 16040
Inscrit le : 03 Mars 2006 17:02
Localisation : Venise verte


Retour vers Base de données

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité