[Base] Effectuer des calculs dans une requête

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

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

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.

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