Division donne E-02

Le
eric
Bonjour,
Je n'arrive pas à trouver l'origine du problème
Dans les colonnes de ma table, j'ai les chiffres 126, 6 et 2
Je divise 126 par la somme (134), j'obtiens 0.94
et quand je divise 6 par 134, j'obtiens 4,47761194029851E-02
au lieu de 0,044776119

J'ai remplacé le réel double par entier , mais toujours le même rés=
ultat

Merci de vos réponses
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
db
Le #26341194
Le 27/02/2015 11:46, eric a écrit :
Bonjour,
Je n'arrive pas à trouver l'origine du problème
Dans les colonnes de ma table, j'ai les chiffres 126, 6 et 2
Je divise 126 par la somme (134), j'obtiens 0.94...
et quand je divise 6 par 134, j'obtiens 4,47761194029851E-02
au lieu de 0,044776119




Bonjour,

Par défaut, Access affiche le format scientifique.

Utilisez la fonction cDec : cDec(6/134) -> 0,0447761194029851

db
eric
Le #26341207
Le vendredi 27 février 2015 14:29:29 UTC+1, db a écrit :
Le 27/02/2015 11:46, eric a écrit :
> Bonjour,
> Je n'arrive pas à trouver l'origine du problème
> Dans les colonnes de ma table, j'ai les chiffres 126, 6 et 2
> Je divise 126 par la somme (134), j'obtiens 0.94...
> et quand je divise 6 par 134, j'obtiens 4,47761194029851E-02
> au lieu de 0,044776119
>

Bonjour,

Par défaut, Access affiche le format scientifique.

Utilisez la fonction cDec : cDec(6/134) -> 0,0447761194029851

db



message d'erreur
http://support.microsoft.com/kb/225931
eric.zzzz
Le #26341206
Le vendredi 27 février 2015 14:29:29 UTC+1, db a écrit :
Le 27/02/2015 11:46, eric a écrit :
> Bonjour,
> Je n'arrive pas à trouver l'origine du problème
> Dans les colonnes de ma table, j'ai les chiffres 126, 6 et 2
> Je divise 126 par la somme (134), j'obtiens 0.94...
> et quand je divise 6 par 134, j'obtiens 4,47761194029851E-02
> au lieu de 0,044776119
>

Bonjour,

Par défaut, Access affiche le format scientifique.

Utilisez la fonction cDec : cDec(6/134) -> 0,0447761194029851

db


message d'erreur
L'expression entrée comporte une fonction dont le nombre d'arguments inco rrect.
db
Le #26341211
Le 27/02/2015 16:01, eric a écrit :

Utilisez la fonction cDec : cDec(6/134) -> 0,0447761194029851

db



message d'erreur
http://support.microsoft.com/kb/225931



cDec est utilisable en Visual Basic, mais pas dans les requêtes.
La solution est donnée dans le lien que vous indiquez.

db
eric.zzzz
Le #26341792
Le vendredi 27 février 2015 16:32:46 UTC+1, db a écrit :
Le 27/02/2015 16:01, eric a écrit :
>
>> Utilisez la fonction cDec : cDec(6/134) -> 0,0447761194029851
>>
>> db
>
> message d'erreur
> http://support.microsoft.com/kb/225931

cDec est utilisable en Visual Basic, mais pas dans les requêtes.
La solution est donnée dans le lien que vous indiquez.

db



J'ai plusieurs tables et plusieurs colonnes et je ne vois pas du tout comme nt utiliser cette fonction ci-dessous dans un module ? Comment lier le modu le à chacune des tables et à chacune des colonnes ?
Voici ce que je cherche à obtenir pour chacune des tables
SELECT code, Somme, [3meGen]/[Somme] AS Expr1, [Frag]/[Somme] AS Expr2, [pr ebac]/[Somme] AS Expr3, , [Autres]/[Somme] AS Expr4
FROM Table1;


Function NewCDec(MyVal)
NewCDec = CDec(MyVal)
End Function
db
Le #26341798
Le 03/03/2015 15:16, a écrit :


J'ai plusieurs tables et plusieurs colonnes et je ne vois pas du tout comment utiliser cette fonction ci-dessous dans un module ? Comment lier le module à chacune des tables et à chacune des colonnes ?
Voici ce que je cherche à obtenir pour chacune des tables
SELECT code, Somme, [3meGen]/[Somme] AS Expr1, [Frag]/[Somme] AS Expr2, [prebac]/[Somme] AS Expr3, , [Autres]/[Somme] AS Expr4
FROM Table1;


Function NewCDec(MyVal)
NewCDec = CDec(MyVal)
End Function




Après avoir déclaré votre fonction dans un module, la requête devient :

SELECT code, Somme, NewCDec([3meGen]/[Somme]) AS Expr1,
NewCDec([Frag]/[Somme]) AS Expr2, NewCDec([prebac]/[Somme]) AS Expr3,
NewCDec([Autres]/[Somme]) AS Expr4
FROM Table1;


db
erik
Le #26342225
Le mardi 3 mars 2015 15:42:43 UTC+1, db a écrit :
Le 03/03/2015 15:16, a écrit :

>
> J'ai plusieurs tables et plusieurs colonnes et je ne vois pas du tout c omment utiliser cette fonction ci-dessous dans un module ? Comment lier le module à chacune des tables et à chacune des colonnes ?
> Voici ce que je cherche à obtenir pour chacune des tables
> SELECT code, Somme, [3meGen]/[Somme] AS Expr1, [Frag]/[Somme] AS Expr2, [prebac]/[Somme] AS Expr3, , [Autres]/[Somme] AS Expr4
> FROM Table1;
>
>
> Function NewCDec(MyVal)
> NewCDec = CDec(MyVal)
> End Function
>

Après avoir déclaré votre fonction dans un module, la requête dev ient :

SELECT code, Somme, NewCDec([3meGen]/[Somme]) AS Expr1,
NewCDec([Frag]/[Somme]) AS Expr2, NewCDec([prebac]/[Somme]) AS Expr3,
NewCDec([Autres]/[Somme]) AS Expr4
FROM Table1;


db



Bonjour,
J'ai un message d'erreur : "Erreur de compilation Attendu : Case"
Toute la ligne SELECT est en rouge

Option Compare Database
Function NewCDec(MyVal)
NewCDec = CDec(MyVal)
SELECT code, Total, NewCDec([3me]/[Total]) AS trois, NewCDec([frag]/[Total] ) AS Fragil, NewCDec([prebac]/[Total]) AS pre_bac, NewCDec([postbac]/[Total ]) AS post_bac, NewCDec([Autres]/[Total]) AS Autre FROM OrBac13
End Function

Que je mette point virgule à la fin ou pas, meme message d'erreur
db
Le #26342230
Le 06/03/2015 11:34, erik a écrit :

Bonjour,
J'ai un message d'erreur : "Erreur de compilation Attendu : Case"
Toute la ligne SELECT est en rouge

Option Compare Database
Function NewCDec(MyVal)
NewCDec = CDec(MyVal)
SELECT code, Total, NewCDec([3me]/[Total]) AS trois, NewCDec([frag]/[Total]) AS Fragil, NewCDec([prebac]/[Total]) AS pre_bac, NewCDec([postbac]/[Total]) AS post_bac, NewCDec([Autres]/[Total]) AS Autre FROM OrBac13
End Function

Que je mette point virgule à la fin ou pas, meme message d'erreur





Hum… Il va falloir reprendre au début...

Où était votre requête SELECT avant votre problème de division ?
eric.zzzz
Le #26342273
Le vendredi 6 mars 2015 13:01:24 UTC+1, db a écrit :
Le 06/03/2015 11:34, erik a écrit :

> Bonjour,
> J'ai un message d'erreur : "Erreur de compilation Attendu : Case"
> Toute la ligne SELECT est en rouge
>
> Option Compare Database
> Function NewCDec(MyVal)
> NewCDec = CDec(MyVal)
> SELECT code, Total, NewCDec([3me]/[Total]) AS trois, NewCDec([frag]/[To tal]) AS Fragil, NewCDec([prebac]/[Total]) AS pre_bac, NewCDec([postbac]/[T otal]) AS post_bac, NewCDec([Autres]/[Total]) AS Autre FROM OrBac13
> End Function
>
> Que je mette point virgule à la fin ou pas, meme message d'erreur
>


Hum... Il va falloir reprendre au début...

Où était votre requête SELECT avant votre problème de division ?



Je n'ai pas bien compris le sens de la question
Je n'utilise pas VBA
J'utilise les requetes simples, requetes Union, Analyse croisée, etc...
Mes requetes et mes tables sont dans la zone gauche de l'écran "Tous les objets Access". Je suis sous Access 2007
db
Le #26342300
Le 06/03/2015 18:12, a écrit :

Mes requetes et mes tables sont dans la zone gauche de l'écran "Tous les objets Access". Je suis sous Access 2007




Un exemple vaut mieux qu'un long discours :

http://cjoint.com/?ECgt6VU6BsR

(cliquer sur "Activer le contenu" à l'ouverture, si besoin

db
Publicité
Poster une réponse
Anonyme