LO Base : problème de SQL

bonjour

je suis bloqué et je demande de l'aide

- j'utilise une table, de références de livres, dont certains champs sont vides

voici les champs :

ID ; Auteur ; Année ; Titre ; Collection ; n°collection ; N°

la clé est sur le champ ID

- je veux en tirer le catalogue sous forme d'un fichier-texte, donc en concaténant les champs

SELECT (Auteur ||' / '|| Année ||' / '||Titre||' / '|| Collection||' / '|| n°collection||' - '||"N°" ) AS Réf_par_Auteur FROM Table1

cette requête fonctionne , et me donne par exemple les références comme ceci (ça me convient) :

LECOINTE Arthur / 1996 / Viux métiers et traditions - La terre / Eklitra in 8° / LXXVI - 20

- mais le problème est que ça ne fonctionne que pour les enregistrements dont aucun champ n'est vide

en ce moment, sur 2404 enregistrements, je n'en récupère que 139 ! (tous les autres enregistrements donnent des lignes vides)

- quand j'ai construit la table, je n'avais pas mis de "valeur par défaut" ; alors j'ai rectifié ce point, mais il ne s'applique qu'aux nouveaux enregistrements (donc après 2404)

- ensuite j'ai voulu remplacer "champ vide" par une valeur, à savoir "-" ou "e" : et là je n'y arrive pas

j'ai essayé avec ceci :

update "table1" set "auteur" = "e" where "auteur" = NULL (ou VIDE) (avec ou sans guillemets, résultat identique : blocage avec le message suivant :

"La commande n'est pas une instruction SELECT. Seules les requêtes sont autorisées"

MERCI d'avance si vous pouvez me tirer de cette impasse !

Et il y a encore un truc qui m'intrigue : on trouve dans l'aide de Libreoffice , ici et là, la phrase :

"la syntaxe exacte dépend du système de base de données que vous utilisez."

J'utilise Firebird, parce que Libreoffice m'a proposé de l'installer : pourquoi me le demande-t-il ?

Et où trouve-t-on quelle version de SQL est installée sur mon ordi ?

Bref, c'est dur d'être bébé !

merci d'avance !

Bonjour,

tu y es presque, essaie avec :
update "table1" set "auteur" = 'inconnu' where "auteur" is NULL

Yves

merci, Yves, tu me remontes le moral... mais ce n'est pas la solution car j'obtiens :

La commande n'est pas une instruction SELECT.
Seules les requêtes sont autorisées.

et dans les détails :

Statut SQL: HY000
Code d'erreur: 1000

La commande n'est pas une instruction SELECT.
Seules les requêtes sont autorisées.

rappel : j'ai utilisé

"créer une requête en mode SQL"

c'est là que ça coince ?

à bientôt ?

Oops ai oublié de te préciser :
tu dois cocher "direct sql" car par défaut, ce sont des select qui sont
autorisés (car ça retourne des données), alors qu'un update/delete n'en
donne pas.
(c'est un bouton ou dans les menus).

Yves

Décidément, c'est la chaleur....
passe par Outils -SQL ... pour que ta requête fonctionne ...

Yves

derechef !

j'ai ajouté le bouton

j'ai fait ceci :

requetes > créer une requete en mode SQL > edition > exécuter

directement l'instruction SQL >

update "table1" set "auteur" = 'inconnu' where "auteur" is NULL

[bouton : exécuter directement l'instruction SQL]

là, pas de réponse, et quand je regarde la "table1", rien n'a été modifié

???

Bonjour,
Pour les commandes SQL, et en particulier UPDATE, voir ici :

https://wiki.openoffice.org/wiki/FR/Documentation/HSQLDB_Guide/ch09#SELECT

Pour l’affichage des enregistrements avec valeurs nulles, voir la commande COALESCE (ou IFNULL)

Jean-Michel PIERRE
Tél : 05.49.255.333
Tél : 06.19.55.73.22

oui mais non, j'ai essayé et j'obtiens ceci :

*table1
*At line 1, column 17
caused by
'isc_dsql_prepare'

???

Jean-michel, si ta base est pas confidentielle, peux-tu me l'envoyer à mon
adresse personnelle car je suis sûr que cela devrait fonctionner via Outils
- Sql

as-tu bien respecté les apostrophes et guillemets ?
Aussi, on dirait qu'il râle sur table1, ce serait pas plutôt Table1 avec
une majuscule ??

Yves

Bonjour,

Si je fais ceci :

UPDATE "Table1" SET "Texte" = 'Encore' WHERE ID = 1;

ça fonctionne. Il est VITAL de respecter la casse ainsi que les guillemets / apostrophes dans l'expression des requêtes.

Ici, j'ai une table Table1, qui a une colonne ID (numérique) et une colonne Texte (Varchar)...

En espérant que ça marche chez vous,

Thierry

Dans Writer il nous arrive tous d’inclure des images JPG dans le texte. Actuellement, je suis sur un document de 47 pages j’en suis à 23 Mo (ce qui me semble beaucoup) !

Si je veux limiter le poids du document final EN GARDANT DES IMAGES PAS TROP NULLES, sur quels paramètres dois-je jouer ?

– Soit limiter la taille des images (y pixels X z pixels). Dans mon cas j’ai limité à 1000 pixels dans la plus grande dimension, car certaines de ces images occupent toute la largeur des pages (18 cm).

– Soit limiter la définition (résolution) de l’image (en pixels par pouce ou pixels par centimètre). Dans ce cas une résolution de 150 pixels/pouce vous semble trop ? Puis-je descendre ?

Il est bien évident que le « bricolage » sur les images ne se fera pas avec LO, mais avec un logiciel spécialisé (Pixelmator dans mon cas, je suis sur macOS)…

Que faire ? Dimension ou résolution ?
Je sais, je suis « presque hors sujet » !

Merci pour vos réponses...

Bonjour,

Il aurait été préférable de créer un nouveau fil que renommer un fil existant....

Dans Writer il nous arrive tous d’inclure des images JPG dans le texte. Actuellement, je suis sur un document de 47 pages j’en suis à 23 Mo (ce qui me semble beaucoup) !

Si je veux limiter le poids du document final EN GARDANT DES IMAGES PAS TROP NULLES, sur quels paramètres dois-je jouer ?

– Soit limiter la taille des images (y pixels X z pixels). Dans mon cas j’ai limité à 1000 pixels dans la plus grande dimension, car certaines de ces images occupent toute la largeur des pages (18 cm).

– Soit limiter la définition (résolution) de l’image (en pixels par pouce ou pixels par centimètre). Dans ce cas une résolution de 150 pixels/pouce vous semble trop ? Puis-je descendre ?

Il est bien évident que le « bricolage » sur les images ne se fera pas avec LO, mais avec un logiciel spécialisé (Pixelmator dans mon cas, je suis sur macOS)…

Que faire ? Dimension ou résolution ?
Je sais, je suis « presque hors sujet » !

Merci pour vos réponses...

Tout dépend de la sortie final du document. Si cela doit rester pour une lecture à l'écran, les images peuvent avoir une résolution à 96ppp, pour une impression perso : 150ppp, pour une édition 300pp
Ensuite, taille réelle dans le document ce qui veut dire que chaque image doit-être traitée séparément.
Writer dispose de cela en interne sur les versions récentes : clic droit(menu contextuel) sur l'image/Compresser
on peut jouer sur la taille, résolution et compression

Gérard