Formulaire de demande d'aide

Bonjour

Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide (http://fr.libreoffice.org/assistance/).
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.

De la part de : -
- yg.largillet@gmail.com

Texte de la question : -
- Bonjour, j'arrive ici car je bloque sur quelque chose depuis plusieurs jours sans m'en sortir! En espérant que la communauté puisse m'aider!

Donc,

en premier lieu, j'ai une base de donnée LibreOffice Base avec des tables.
Ces tables ont été des données Calc que j'ai copié-collé dans Base pour en faire des tables.
Les champs ont été bien définis, j'ai une clé primaire, pas de soucis.

Par contre, et c'est le cas dans mes données, j'ai besoin de les mettre à jour assez régulièrement, et ce sur plusieurs enregistrements, le faire un à la fois paraît bien long et un peu rébarbatif.
J'aurais aimé savoir s'il était possible de copier-coller les cellules de Calc à jour dans les champs et enregistrements correspondants dans ma table Base.
J'ai essayé via F4 dans Calc mais je ne peux pas copier-coller les mises à jour.

Est-ce possible par une certaine façon ?

Bonjour,
Si vous n'avez pas besoin des fonctions avancées de base, il vaudrait mieux
créer votre base en se connectant à CALC de type classeur classeur et bien
entendu en enregistrant votre base et en la référençant.
Base récupérera toutes les feuilles qui deviendront des tables. Vous pourrez
y faire ensuite vos requêtes, sur une seule table à la fois (limite de cette
technique), mais vous pourrez faire des modifications multiples dans calc
qui après actualisation et enregistrement seront intégrées à base.
Le passage de CALC à base se fait par F4 pour faire apparaître la base de
données.
Peut-être cette solution peut-elle vous aider et vous satisfaire.
Bonne journée.
Jean-Paul DELÉPINE

Merci pour ta réponse et ton conseil!

Je vais y réfléchir alors, peut-être que ce sera plus simple, étant donné
que je dois mettre en oeuvre la base mais que les opérations de mise à jour
ne seront pas à ma charge...
Le hic, c'est que ma table à mettre à jour contient déjà plus de 110 000
enregistrements, donc en passant par Calc, ils devront toujours travailler
via des requêtes pré-établies, et alors là, avoir des requêtes sur plusieurs
tables, serait plus judicieux.

La méthode qu'on m'a donné aujourd'hui sur un forum pour mettre à jour une
table si ça peut aider certains :

UPDATE table SET colonne = Expression [, ...] [WHERE Expression]
avec exemple :
UPDATE "Clients"
SET "Nom" = (SELECT "Nom" FROM "AjoutClients" WHERE "AjoutClients"."ID" =
"Clients"."ID")

à écrire dans Outils > SQL...

Bonjour

Message du 21/03/14 14:34

j'ai une base de donnée LibreOffice Base avec des tables.
Ces tables ont été des données Calc ...
j'ai besoin de les mettre à jour assez régulièrement, et ce sur plusieurs
enregistrements, le faire un à la fois paraît bien long et un peu rébarbatif.
J'aurais aimé savoir s'il était possible de copier-coller les cellules de Calc à
jour dans les champs et enregistrements correspondants dans ma table Base.

Les mises à jour peuvent en effet se faire par SQL. Explications et exemples ici:
https://wiki.documentfoundation.org/FR/FAQ/Base/138

D'autres éléments devraient aussi t'intéresser :
https://wiki.documentfoundation.org/FR/FAQ/Base

Cela dit, je ne comprends pas bien ton "organisation" du travail :
- pourquoi avoir "migré" dans Base si les données continuent d'être
modifiées dans Calc ?
- pourquoi ne pas faire les mises à jour dans Base ?

Si tu réponds, merci de penser à utiliser la fonction Répondre à tous
(ou à la liste) du webmail ou du logiciel de messagerie afin que la
liste reçoive la réponse.

Cordialement
Pierre-Yves

pierre-yves samyn wrote

Les mises à jour peuvent en effet se faire par SQL. Explications et
exemples ici:
https://wiki.documentfoundation.org/FR/FAQ/Base/138

D'autres éléments devraient aussi t'intéresser :
https://wiki.documentfoundation.org/FR/FAQ/Base

Cela dit, je ne comprends pas bien ton "organisation" du travail :
- pourquoi avoir "migré" dans Base si les données continuent d'être
modifiées dans Calc ?
- pourquoi ne pas faire les mises à jour dans Base ?

Si tu réponds, merci de penser à utiliser la fonction Répondre à tous
(ou à la liste) du webmail ou du logiciel de messagerie afin que la
liste reçoive la réponse.

J'espère avoir fait la bonne manip pour que la réponse soit envoyée à tous.

Merci pour les liens, comment ai-je fait pour passer à côté du premier lien,
je me le demande encore...
Bref, concernant Base, étant donné le nombre d'enregistrements, LibreOffice
Base me semblait l'outil adéquat pour centraliser mes données, surtout
concernant des relevés, mis à jour ou ajoutés tous les 6 mois/1 an, qui sont
journaliers.
Ma méthode consiste à les intégrer dans Base, une fois qu'ils ont été épurés
et "nettoyés" dans Calc (car je les importe d'un fichier txt, avec des
informations à supprimer, des champs à compiler (par exemple, transformer un
champ de l/sec en m3/s),...Base me semblait être parfait pour accueillir ces
données propres.

Pour les mises à jours directement dans Base, je voulais bien, mais je ne
pouvais le faire qu'enregistrement par enregistrement donc pas évident.
Sachant que je n'aurai sûrement pas beaucoup de mise à jour à faire, mais
surtout de l'ajout de données, traiter le fichier texte dans Calc puis
sauvegarder ces données dans Base me semblait la meilleure solution (pour
l'instant). Les données n'ont pas à être modifiées à fortiori, la mise à
jour ne concerneraient que certains enregistrements dont les informations ne
seraient pas complètes au moment de l'ajout des données.
Pour donner un exemple, j'ai des relevés dont je n'ai pas d'informations
pour l'année 1994, cependant, allant jusqu'à aujourd'hui, je les ai quand
même intégré à la base avec des champs vides. Si d'avance, je réussis à
trouver les informations via un autre support, je pourrai les intégrer dans
Base facilement via UPDATE, sans me farcir les 365 enregistrements à
compléter à la main.

J'espère avoir été un peu plus clair, si jamais tu as des conseils, n'hésite
pas!

Bonjour

Message du 23/03/14 12:25
J'espère avoir fait la bonne manip pour que la réponse soit envoyée à tous.

Oui, merci :slight_smile:

et merci pour les précisions, je comprends mieux...

si jamais tu as des conseils, n'hésite pas!

1. Pense à faire des sauvegardes régulières de ta base et à les vérifier
- le format base de données n'est pas "réparable" comme un classeur
- les bases de données ne sont pas concernées par les copies de sécurité
automatique de libreoffice
- hsqldb charge toutes les données en mémoire, accroissant le risque de
corruption des données (ne soyons pas parano non plus... mais quand même)

2. Pour les ajouts de données on peut éviter le sql. Technique expliquée
dans la FAQ : https://wiki.documentfoundation.org/FR/FAQ/Base/139

Bon dimanche
Pierre-Yves