Fusionner deux tables dans Base

Bonjour,

Vous trouverez ici http://www.cjoint.com/c/FADfiCktmtw

un exemple de ce que je voudrais obtenir.

Soit une table1 avec diverses données (données1) et une table2 qui a
d'autres informations (données2) relatives à quelques enregistrements (nom)
de table1. Le point commun entre ces deux tables, c'est le champ « nom ».

Avec Base (ou Calc, pourquoi pas...), je voudrais fusionner ces deux tables
à l'image de la « table_fin » (toutes les données et tous les
enregistrements de table1 enrichis des quelques données spécifiques de
table2)

Quelle solution pourriez vous me proposer ?

Je sais relier 2 tables, ce n'est pas un problème. J'obtiendrai le résultat
recherché mais seulement pour les enregistrements communs (nom) aux deux
tables. Les enregistrements qui ne seront pas communs seront ignorés et je
veux les conserver.

Je vous remercie et vous souhaite une agréable journée,

Dominique

Bonjour,

La solution consiste à créer une vue avec une jointure gauche ou droite (selon l'ordre des tables)

En pratique :
- dans la partie "tables", choirir "Créer une vue"
- ajouter les tables voulues dans la requête
- Si on n'a pas défini de relation à la création des tables, joindre les tables par cliquer-glisser entre les champs communs (ici on clique sur un champ "noms" de "table1", par exemple, et on vient le déposer sur le champ "noms" de "table2")
- double cliquer sur le trait entre les deux champs
- dans option - type, choisir "Jointure gauche" ou "jointure droite", selon le cas. Le texte en bas de la boîte de dialogue explique à quoi cela correspond.
- Ins&rer le champs "noms" de "table1", et les champs "données1" et "données2"

Attentiond de rester cohérent si l'on utilise ce genre de jointure sur plus de deux tables...

Cordialement

Christian FOURCROY

----- Mail original -----

Bonjour,

Bonjour,

Vous trouverez ici http://www.cjoint.com/c/FADfiCktmtw

un exemple de ce que je voudrais obtenir.

Soit une table1 avec diverses données (données1) et une table2 qui a
d'autres informations (données2) relatives à quelques enregistrements (nom)
de table1. Le point commun entre ces deux tables, c'est le champ « nom ».

Avec Base (ou Calc, pourquoi pas...), je voudrais fusionner ces deux tables
à l'image de la « table_fin » (toutes les données et tous les
enregistrements de table1 enrichis des quelques données spécifiques de
table2)

Quelle solution pourriez vous me proposer ?

Il y a des solutions dans Calc et Base :

Dans Calc ajouter une RechercheV dans la colonne données2 qui va explorer le contenu de la table2 à partir de "noms" et en traitant les erreurs.

=SIERREUR(RECHERCHEV(A15;Table2;2;0);"")

Je sais relier 2 tables, ce n'est pas un problème. J'obtiendrai le résultat
recherché mais seulement pour les enregistrements communs (nom) aux deux
tables. Les enregistrements qui ne seront pas communs seront ignorés et je
veux les conserver.

Il faut paramétrer la relation pour conserver tous les enregistrements de la Table1. Clic droit sur la relation pour choisir le bon paramétrage.

Cordialement.

Bonjour,

Un exemple ici https://db.tt/Spy1K8YQ
Enregistrer le fichier puis l'ouvrir depuis votre DD

Cordialement,
François

Bonjour,

Bonjour,

La solution consiste à créer une vue avec une jointure gauche ou droite (selon l'ordre des tables)

En pratique :
- dans la partie "tables", choirir "Créer une vue"
- ajouter les tables voulues dans la requête
- Si on n'a pas défini de relation à la création des tables, joindre les tables par cliquer-glisser entre les champs communs (ici on clique sur un champ "noms" de "table1", par exemple, et on vient le déposer sur le champ "noms" de "table2")
- double cliquer sur le trait entre les deux champs
- dans option - type, choisir "Jointure gauche" ou "jointure droite", selon le cas. Le texte en bas de la boîte de dialogue explique à quoi cela correspond.
- Ins&rer le champs "noms" de "table1", et les champs "données1" et "données2"
  Attentiond de rester cohérent si l'on utilise ce genre de jointure sur plus de deux tables...

Cordialement

Christian FOURCROY

----- Mail original -----
De: "Dominique_sextant" <dominique.sextant@orange.fr>
À: users@fr.libreoffice.org
Envoyé: Vendredi 29 Janvier 2016 06:14:35
Objet: [fr-users] Fusionner deux tables dans Base

Bonjour,

Vous trouverez ici http://www.cjoint.com/c/FADfiCktmtw

un exemple de ce que je voudrais obtenir.

Soit une table1 avec diverses données (données1) et une table2 qui a
d'autres informations (données2) relatives à quelques enregistrements (nom)
de table1. Le point commun entre ces deux tables, c'est le champ « nom ».

Avec Base (ou Calc, pourquoi pas...), je voudrais fusionner ces deux tables
à l'image de la « table_fin » (toutes les données et tous les
enregistrements de table1 enrichis des quelques données spécifiques de
table2)

Quelle solution pourriez vous me proposer ?

Je sais relier 2 tables, ce n'est pas un problème. J'obtiendrai le résultat
recherché mais seulement pour les enregistrements communs (nom) aux deux
tables. Les enregistrements qui ne seront pas communs seront ignorés et je
veux les conserver.

Je vous remercie et vous souhaite une agréable journée,

Dominique

--
View this message in context: http://nabble.documentfoundation.org/Fusionner-deux-tables-dans-Base-tp4173379.html
Sent from the Users mailing list archive at Nabble.com.

Pour compléter la réponse de Christophe, le sujet avait été évoqué ici : http://nabble.documentfoundation.org/apparier-les-informations-dans-2-tableaux-de-taille-differente-tp4153322.html. Il s'agissait au départ d'apparier deux tableaux dans Calc, mais on peut y trouver un exemple de jointure externe pour apparier deux tables dans Base.

Bernard

Désolé, c'est Christian et non pas Christophe.

C'est exactement ce que je voulais. Merci !

Je suis étonné du mal qu'on peut dire du module Base. Il n'est certes pas vraiment intuitif mais je le trouve, avec un peu d'habitude, très performant.

Bon week-end pluvieux à tous,

C'est exactement ce que je voulais. Merci !

Je suis étonné du mal qu'on peut dire du module Base.

Moi aussi ! :slight_smile:

Ce qui se passe c"est que ce module est un peu le "parent pauvre" de la suite et n'évolue pas, mais c'est vrai qu'on peut faire pas mal de choses quand même.

C'est exactement ce que je voulais. Merci !

Je suis étonné du mal qu'on peut dire du module Base.

Moi aussi ! :slight_smile:

Ce qui se passe c"est que ce module est un peu le "parent pauvre" de la suite et n'évolue pas, mais c'est vrai qu'on peut faire pas mal de choses quand même.

Surtout lorsqu'on connait un peu le langage SQL :wink:
Parent pauvre oui mais gratuit qui donne Access (lol) à une Base de données
Claude

... Vouich, on le compare souvent à Access. Mais Access est surtout un requêteur, voire RAD avant d'être un SGBD.
Il me semble d'ailleurs que, professionnellement, beaucoup de gens utilisent Access comme requêteur en se connectant sur un autre moteur de base de données que celui fourni.

Pour ne pas perdre mon côté formateur :
RAD : Rapid Application Development : automatiser au maximum la création des formulaires de saisie, des états à imprimer des menus...
Requêteur : gérer les requêtes (les filtres, comme on dit dans les tableurs) et la mise en forme des résultats.
SGBD : Système de Gestion de Bases de Données : création de tables, de relations entre les tables, de requêtes .. Le règne du langage SQL

Bref je pense que Base est plutôt à comparer avec SQL Server, plutôt qu'avec Access

Bonne fin de week end

Christian Fourcroy

Et Base peur se connecter à de nombreux SGBD (MySQL, Firebird, PostgreSQL, HSQLDB, etc. ) en mode client-serveur via des connecteurs (ODBC, JDBC, SDBC... selon les SGBD).

Et même aux bases Access... :slight_smile:

Bernard

Et Base peur se connecter à de nombreux SGBD (MySQL, Firebird, PostgreSQL, HSQLDB, etc. ) en mode client-serveur via des connecteurs (ODBC, JDBC, SDBC... selon les SGBD).

Et même aux bases Access... :slight_smile:

Bernard

Puisque nous sommes dans une longue séquence d'éloges de ce remarquable Module Base,
on peut ajouter le Rapport qui en est devenu partie intégrante. Il peut affricher des cases cochées, des diagrammes, des photos.
Il lui manque encore une petite fonction : lancer le Rapport, sans Macro, depuis le formulaire affichant l'enregistrement courant ce qui permettrait l'édition/impression de fiches, d’ordonnances médicales, de factures ... directement.