[Résolu] Produit erroné avec valeur décimale sous Firebird

Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
demanu974
Fraîchement OOthentifié
Messages : 3
Inscription : 31 juil. 2019 21:07

[Résolu] Produit erroné avec valeur décimale sous Firebird

Message par demanu974 »

Bonjour,
Tout d'abord, je tiens à préciser que je suis complètement novice dans le domaine des bases de données.
Dans une requête, je souhaite calculer le produit d'une quantité par un prix unitaire.
J'utilise une syntaxe du type "quantité" * "prix unitaire".
Mais lors du calcul, j'obtiens un résultat erroné : le résultat affiché est le résultat du produit attendu multiplié par 10 puissance n, où n semble être la somme du nombre de décimales déclaré dans la table.
Exemple :
exemple de résultats obtenus
exemple de résultats obtenus
CaptureTable.PNG (3.32 Kio) Consulté 1010 fois
J'imagine que je fais une erreur dans le choix du type de champ.
Merci de m'expliquer mon erreur.
Pièces jointes
Exemple pour Forum.odb
base exemple
(10.83 Kio) Téléchargé 118 fois
Dernière modification par demanu974 le 01 août 2019 12:20, modifié 2 fois.
LibreOffice Version: 6.2.3.2 (x64)
Windows 10
Avatar de l’utilisateur
Dredd
Membre cOOnverti
Membre cOOnverti
Messages : 362
Inscription : 24 mai 2006 11:15
Localisation : Mega-City One

Re: Le calcul d'un produit est multiplié par une puissance d

Message par Dredd »

Bonjour,

Tu utilises le format Firebird que OpenOffice ne peut pas ouvrir.

Publie déjà la requête que l'on regarde comment tu fais pour avoir une erreur sur une simple multiplication.


.
Propulsé par OpenOffice 4.1.6 sous Windows 10 x64
demanu974
Fraîchement OOthentifié
Messages : 3
Inscription : 31 juil. 2019 21:07

Re: Le calcul d'un produit est multiplié par une puissance d

Message par demanu974 »

Tout d'abord, merci d'avoir prêté attention à mon problème.
En langage SQL, ma requête est la suivante :

SELECT "ref", "PU", "Qte", "PU" * "Qte" FROM "Table1"

En continuant de chercher, il s'avère qu'en remplaçant le type de champ "DECIMAL" par "FLOAT", le calcul se passait mieux.
Cependant, le nombre de décimales semble invariablement égal à 1 (mais on peut en mettre 2 dans l'exemple de format !?).
Et je ne comprends pas pourquoi ça ne fonctionne pas avec le type "DECIMAL" :roll: ...
LibreOffice Version: 6.2.3.2 (x64)
Windows 10
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25143
Inscription : 03 mars 2006 08:45
Localisation : 127.0.0.1
Contact :

Re: Le calcul d'un produit est multiplié par une puissance d

Message par Dude »

Salut,
Dans ta signature, il y a écrit :LibreOffice Version: 6.2.3.2 (x64)
Windows 10
Tu as installé une version expérimentale non recommandée sur ce forum :
https://forum.openoffice.org/fr/forum/v ... =2&t=49867
demanu974 a écrit :Et je ne comprends pas pourquoi ça ne fonctionne pas avec le type "DECIMAL"
Et comme le précise Dredd, tu utilises en plus le format Firebird qui pour moi, n'est pas abouti.

Avec le format natif HSQL, il n'y a aucun problème :
no_problemo.PNG
demanu974
Fraîchement OOthentifié
Messages : 3
Inscription : 31 juil. 2019 21:07

Re: Le calcul d'un produit est multiplié par une puissance d

Message par demanu974 »

Bonjour,
Merci beaucoup pour ces recommandations.
Je vais en tenir compte.
Cordialement.
LibreOffice Version: 6.2.3.2 (x64)
Windows 10
Verrouillé