Poser votre question
0

[Base] Effectuer des calculs dans une requête

posée 2019-01-25 21:59:39 +0200

Image Gravatar de Jacques-64

Bonjour, Dans MSaccess, j'ai la possibilité d'effectuer des calculs relativement complexes dans le choix des champs de la requête. Je cherche sans succès le procédé qui me permettrait de faire la même chose dans LO. Sans problème, j'arrive à effectuer un calcul sur UN champ (par exemple "Table"."Valeur"6.57 pour passer des Euros en Francs) mais n'arrive pas à faire cette opération si PLUSIEURS champs sont impliqués (par exemple, SI "Table"."Devise" THEN "Table"."Valeur"6.57 ELSE "Table"."Valeur" ). La réponse systématique est : "La colonne '...' n'existe pas.

Auriez vous une idée (autre que d'exporter mes tables dans Calc et effectuer les calculs par ce biais).

Jacques

éditer requalifier signaler fermer fusionner supprimer

3Réponses

0

répondue 2019-01-26 08:02:47 +0200

Image Gravatar de pierre-yves samyn

Bonjour

Sans disposer de ta base et de la requête concernée je ne peux répondre que sur des principes généraux...

La FAQ comprend quelques exemples courants.

L'un d'entre eux illustre comment tester la valeur de champs avec CASEWHEN (il existe d'autres instructions pour tester...) ou encore celle-ci qui concatène des champs.

Le calcul sur plusieurs champs fonctionne donc... il semble que le problème soit lié à la syntaxe que tu emploies. Un "truc" pour éviter des erreurs de frappe peut être par exemple de sélectionner tables et champs en mode ébauche avant de basculer en mode SQL pour "terminer" la requête.

Cordialement

éditer signaler supprimer permalien plus
0

répondue 2019-01-26 22:04:26 +0200

Image Gravatar de Jacques-64

updated 2019-01-27 18:42:56 +0200

Bonsoir, Merci pour les liens indiqués. Mon erreur était que dans la syntaxe de MS-Access, je n'ai pas besoin d'effectuer un select sur les champs que je veux utiliser dans mes calculs, seulement si je souhaite les afficher dans la "table" résultat alors que LO me l'impose. C'est un détail que je n'avais pas vu dans la documentation alors qu'il est primordial. Cordialement,

Jacques

éditer signaler supprimer permalien plus
0

répondue 2019-01-26 14:40:01 +0200

Image Gravatar de jmp

updated 2019-01-26 14:46:48 +0200

Bonjour, A regarder le texte du code, il manque le FROM pour nommer les Tables d'origine, le SELECT en début de code, etc... Pour passer d'Euros en Francs, il manque aussi l'opérateur de multiplication. Le code à tester :

SELECT "Valeur" * 6.57 FROM "Table"

Autre précision, s'agit-il d'une Base en HSQLDB ou en Firebird où le SQL est parfois différent ?

En joignant la base, l'Aide est aussi plus facile pour ceux qui répondent.

éditer signaler supprimer permalien plus
S'identifier/S'inscrire pour répondre

Outils de question

1 suiveurs

Stats

Posée: 2019-01-25 21:59:39 +0200

Consultée: 50 fois

Mise à jour: Jan 27