Libre office

Bonjour

Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide (http://fr.libreoffice.org/get-help/poser-une-question/).
Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que le demandeur reçoive une copie de votre réponse.

Email:: steborza@yahoo.fr
Sujet:: Libre office
OS:: Linux
Version:: 5.0.x
Question:: Bonjour, je suis en charge d'un projet complexe qui, a mon avis, doit impliquer toutes les composantes de Libre Office. Je voudrais faciliter le travail de saisie en mettant en place un masque de saisie pour remplir une base de donnée ou un tableau (informations nominatives avec des dates des numéros d'ordre) qui permet ensuite de sortir un tableau avec certains renseignements puis un un imprimé type.
Actuellement je travaille à partir d'un tableau d'enregistrement puis je saisie (copie) les renseignements utiles dans un autre tableau puis je compile des renseignements de ces 2 tableaux vers une fiche unique pour chaque nom.
J'avais pensé à monter une base avec plusieurs tables pour mettre en place un formulaire de saisie les liant (chaque table avait quelques renseignements) afin d'automatiser la saisie au moyen de menus déroulant (ce que je fais sur le tableau actuellement) - par exemple une table générale regroupant toutes les informations, plusieurs tables regroupant chacune une information (type : service en abrégé et en long ; ville ; département ; ...) que je voulais utiliser pour alimenter la principale (et je n'y arrive pas), je voulais ensuite automatiser les sorties (un tableau de choix) puis un document.
Comment faire ?
Merci de votre aide.

Bonjour,

Me trouvant un peu dans votre situation il y a quelques temps, j' ai trouvé
ici une aide très appréciable :
http://thefrugalcomputerguy.com

Ces vidéos sont aussi disponibles directement sur YouTube :
https://youtu.be/jWU0WdMJ2Kw?list=PLy7Kah3WzqrEerJ0VPNWVaR4CYHMr4wmV

Le gars présente aussi les notions de base du modèle relationnel, ce qui
vous sera utile si vous ne le maîtrisez pas encore.

Thierry

Bonjour

Voici une nouvelle question envoyée à l'aide du formulaire de demande
d'aide (http://fr.libreoffice.org/get-help/poser-une-question/).

Sujet:: Libre office

OS:: Linux

Version:: 5.0.x

Ce qui serait bien, c'est d'avoir une version plus récente (une 5.4 par
exemple).

Question:: Bonjour, je suis en charge d'un projet complexe qui, a mon
avis, doit impliquer toutes les composantes de Libre Office. Je
voudrais faciliter le travail de saisie en mettant en place un masque
de saisie pour remplir une base de donnée ou un tableau (informations
nominatives avec des dates des numéros d'ordre) qui permet ensuite de
sortir un tableau avec certains renseignements puis un un imprimé
type. Actuellement je travaille à partir d'un tableau
d'enregistrement puis je saisie (copie) les renseignements utiles
dans un autre tableau puis je compile des renseignements de ces 2
tableaux vers une fiche unique pour chaque nom. J'avais pensé à
monter une base avec plusieurs tables pour mettre en place un
formulaire de saisie les liant (chaque table avait quelques
renseignements) afin d'automatiser la saisie au moyen de menus
déroulant (ce que je fais sur le tableau actuellement) - par exemple
une table générale regroupant toutes les informations, plusieurs
tables regroupant chacune une information (type : service en abrégé
et en long ; ville ; département ; ...) que je voulais utiliser pour
alimenter la principale (et je n'y arrive pas), je voulais ensuite
automatiser les sorties (un tableau de choix) puis un document.

Comment faire ?

Ça dépend de la complexité.

Personnellement mes connaissances en SQL sont à peu près égal à zéro et
je me suis développée une base client relativement complexe avec une
table pour les coordonnées (dont un champs liste déroulante Civilité),
une table suivi avec aussi des listes déroulantes. Pour cela, j'utilise
les formulaires et sous-formulaires et je ne m'occupe pas des histoires
de jointure.

Pour les sorties il faut faire des rapports. Une fonctionnalité que
j'utilise peu. Je devrais sans doute. Mais vous en auriez l'usage.

Sinon, très utile, je suggère de télécharger ce document pour savoir
comment avoir une connexion externe et partager votre base. Bien
qu'écrit pour Windows, s'applique globalement à Linux :

https://numericoach.net/LibreOffice-Base-et-HSQLDB

Sachant que, d'après mes constats, j'ai développé mes bases sous Windows
et ensuite suis passée sous Linux, on ne peut pas sous Linux (pas sous
ma Mageia pour rester sur ma seule expérience) commencer par développer
la base en version connexion embarquée puis ensuite la passer en
connexion externe. Il faut passer tout de suite à la connexion externe
hsqldb. Et c'est ou une connexion externe ou une connexion embarquée.

Si vous choisissez la connexion embarquée Firebird, euh j'avoue n'avoir
jamais rien réussi à obtenir avec et Firebird semble encore assez buggué
mais l'avenir de LibreOffice en connexion embarquée sera Firebird afin
de s'affranchir de Java. Je ne crois pas toutefois, pas plus qu'avec une
connexion embarquée hsqldb, qu'il soit possible avec une connexion
embarquée Firebird d'avoir une connexion multi-utilisateurs.

Pour finir voir un peu ce qui peut se faire et piquer deux ou trois
trucs peut-être pourriez-vous faire un tour sur le site des modèles (en
anglais) de LibreOffice et récupérer des bases de données exemple :

https://extensions.libreoffice.org/@@search?SearchableText=database

Compote tenu de mon ignorance totale en matière de sql, ça m'avait servi
pour mes listes déroulantes à un moment donné (j'ai piqué le code, voyez).

Si vous répondez, merci de penser à utiliser la fonction "répondre à
tous" de votre logiciel de courrier électronique de façon que la liste
reçoive une copie de votre réponse.

Bonjour,
Le bon Module est bien Base.
Pour alimenter la Table principale, avec les éléments comme les villes ou les départements ou les Services, il faut utiliser les Zones de liste déroulantes. La Table principale ne stockera alors que le ID des Tables secondaires.
Pour la sortie sous forme de listing, de fiche, ou de tableau, c’est possible avec le Rapport de Base.

Bonjour,
Sous Linux, il faut savoir que MySQL (ou Mariadb) est TOUJOURS installé
dans le système par défaut. Alors, autant s'en servir car c'est un
gestionnaire de base de données extraordinairement stable, puissant et
bien documenté. Les tables sont, certes, stockées dans un endroit peu
accessible (/var/lib/mysql) et dans un format très particulier mais ce
n'est pas gênant car l'export est facile (mysqldump fait cela très bien).
Il n'y a plus qu'à connecter LibreOffice à MySQL, ce qui peut se faire
avec le connecteur JDBC (nécessite Java) ou bien avec le connecteur
natif MySQL. Dès lors, LO accède très proprement aux tables, aux vues et
les requêtes fonctionnent bien.
J'ajoute qu'au niveau performance il n'y a pas de comparaison entre
HSQLdb et MySQL.

Tu aurais de l'info (si possible aussi en français) sur la connexion
MySQl Base ou Mariadb Base ?

Merci.

(ben oui moi aussi ça m'intéresse).

bonjour,
moi aussi ça m’intéresse, j'ai des bases de données "base" pour faire
des étiquettes à partir de fichiers calc.
j'ai fait quelques essais autres avec mariadb, mais je savais pas qu'on
pouvais intégrer base à mysql (mariadb).
@steborza j'ai installé la version 6 de libre office, un régal (avec les
icones "tango" ) je la trouve plus fluide, plus rapide et plus lisible.
Merci les développeurs !
jipe

Rebonjour,

Sous Linux, il faut savoir que MySQL (ou Mariadb) est TOUJOURS installé
dans le système par défaut. Alors, autant s'en servir car c'est un
gestionnaire de base de données extraordinairement stable, puissant et
bien documenté. Les tables sont, certes, stockées dans un endroit peu
accessible (/var/lib/mysql) et dans un format très particulier mais ce
n'est pas gênant car l'export est facile (mysqldump fait cela très bien).
Il n'y a plus qu'à connecter LibreOffice à MySQL, ce qui peut se faire
avec le connecteur JDBC (nécessite Java) ou bien avec le connecteur
natif MySQL. Dès lors, LO accède très proprement aux tables, aux vues et
les requêtes fonctionnent bien.
J'ajoute qu'au niveau performance il n'y a pas de comparaison entre
HSQLdb et MySQL.

Tu aurais de l'info (si possible aussi en français) sur la connexion
MySQl Base ou Mariadb Base ?

A la base c'est ici :
https://help.libreoffice.org/Common/JDBC_Connection/fr
bien que pas très explicite, je le reconnais.
Il faut avoir java installé dans le système (c'est standard sous Linux,
avec le java qui va bien avec le système, pas de discussion oiseuse
entre 32 bits et 64 bits, et d'ailleurs depuis 10 ans Linux fonctionne
nativement en 64 bits). Il faut aussi avoir le paquet
mysql-connector-java d'installé, et dont le descriptif est le suivant :

MySQL Connector/J is a native Java driver that converts JDBC (Java
Database Connectivity) calls into the network protocol used by the
MySQL database. It lets developers working with the Java programming
language easily build programs and applets that interact with MySQL
and connect all corporate data, even in a heterogeneous environment.
MySQL Connector/J is a Type IV JDBC driver and has a complete JDBC
feature set that supports the capabilities of MySQL.

On le trouve ici :
https://dev.mysql.com/downloads/connector/j/5.1.html
Pour Ubuntu ça semble être ici :
https://packages.ubuntu.com/fr/trusty/libs/libmysql-java
mais je n'ai pas essayé.

Il existe aussi un pilote (driver) spécifique pour MySQL qui ne passe
pas par java, je l'ai essayé mais ça m'a semblé moins stable donc je
n'ai pas insisté.

Ensuite, dans LO on déclare l'endroit où le "connecteur JDBC" va se
trouver : voir Outils/Options/Avancé/cliquer sur le bouton Chemin de
classe et donner le chemin d'accès complet pour le fichier
mysql-connector-java.jar. Chez moi c'est :
/usr/share/java/mysql-connector-java.jar
Toujours dans les options de LO on va dans celles de Libreoffice Base /
Connexions, où il faut activer les connexions JDBC et MySQL.

Voila pour les réglages. Maintenant, on veut accéder à une base MySQL
existante (il faut l'avoir créée d'abord, ça se fait par exemple en
ligne de commande). On va dans le menu Fichier, Nouveau, Base de données.
Choisir Connecter à une base de données existante, puis MySQL, puis
Connecter en utilisant JDBC (ODBC c'est une horreur à configurer !).
Donner le nom de la base de données tel qu'il a été choisi précédemment
(attention : sous Linux les majuscules se distinguent des minuscules),
le serveur (localhost si c'est en local) ; la classe de pilote doit
apparaitre (com.mysql.jdbc.Driver) et on peut tester si elle fonctionne.
Et terminer.
Dis-nous si ça t'éclaire suffisamment !
Bob