SQL = "Update PDR set Vente = DernierPrixachat * 2.5 * " & Coefmulti & "
where repere='021'"
DoCmd.RunSQL (SQL)
où Vente et DernierPrixachat sont des champs numériques dans la table PDR et
Coefmulti une variable single dans le code.
Cette ligne renvoie 0 dans le champ vente, tandis que si je remplace 2.5 par
une valeur entière, le calcul est correct.
Pour info, si je passe Coefmulti en Variant et les champs de la table en
Texte, le calcul et correct avec ou sans décimales (mais ça ne m'arrange pas
pour la suite).
Oui, tous les champs numériques sont en Réel double...
Merci.
"Gafish" a écrit dans le message de news:
JM wrote:
Ca me semble un peu tordu, mais je ne suis pas spécialiste !
Je pourrais laisser le champ Vente en texte, là ça fonctionne, mais cela n'est pas très logique. Par exemple, ça me bloque pour faire :
SQL = "UPDATE PDR set Vente = Vente * 10 Where Vente < 1"
Avec Vente en texte, ça ne veut rien dire.
Bigre...
Je me suis mis dans des conditions similaires, j'ai fait la même requête, ca
passe bien. Ton champ Vente est bien en réel double et pas en integer ?
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
JM
Par contre, le champ DernierPrixachat, qui est bien numérique dans la table PDR, est lui même renseigné par une requête Update à partir de données d'une table SQL Server dans laquelle le champ (origine) est de type Float. J'ai pensé que ça pouvait être la cause du problème (encore que...) mais je vois pas bien pourquoi ça fonctionne avec des valeurs entières et pas avec de décimales (?).
Dans la table PDR, le champ DernierPrixachat a des valeurs correctes, décimales.
Je dubite...
:-)
"Gafish" a écrit dans le message de news:
JM wrote:
Ca me semble un peu tordu, mais je ne suis pas spécialiste !
Je pourrais laisser le champ Vente en texte, là ça fonctionne, mais cela n'est pas très logique. Par exemple, ça me bloque pour faire :
SQL = "UPDATE PDR set Vente = Vente * 10 Where Vente < 1"
Avec Vente en texte, ça ne veut rien dire.
Bigre...
Je me suis mis dans des conditions similaires, j'ai fait la même requête, ca
passe bien. Ton champ Vente est bien en réel double et pas en integer ?
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Par contre, le champ DernierPrixachat, qui est bien numérique dans la table
PDR, est lui même renseigné par une requête Update à partir de données d'une
table SQL Server dans laquelle le champ (origine) est de type Float. J'ai
pensé que ça pouvait être la cause du problème (encore que...) mais je vois
pas bien pourquoi ça fonctionne avec des valeurs entières et pas avec de
décimales (?).
Dans la table PDR, le champ DernierPrixachat a des valeurs correctes,
décimales.
Je dubite...
:-)
"Gafish" <---gafish@free.fr----nospam> a écrit dans le message de
news:uiSjlG0lFHA.2904@TK2MSFTNGP14.phx.gbl...
JM wrote:
Ca me semble un peu tordu, mais je ne suis pas spécialiste !
Je pourrais laisser le champ Vente en texte, là ça fonctionne, mais
cela n'est pas très logique.
Par exemple, ça me bloque pour faire :
SQL = "UPDATE PDR set Vente = Vente * 10 Where Vente < 1"
Avec Vente en texte, ça ne veut rien dire.
Bigre...
Je me suis mis dans des conditions similaires, j'ai fait la même requête,
ca
passe bien.
Ton champ Vente est bien en réel double et pas en integer ?
Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Par contre, le champ DernierPrixachat, qui est bien numérique dans la table PDR, est lui même renseigné par une requête Update à partir de données d'une table SQL Server dans laquelle le champ (origine) est de type Float. J'ai pensé que ça pouvait être la cause du problème (encore que...) mais je vois pas bien pourquoi ça fonctionne avec des valeurs entières et pas avec de décimales (?).
Dans la table PDR, le champ DernierPrixachat a des valeurs correctes, décimales.
Je dubite...
:-)
"Gafish" a écrit dans le message de news:
JM wrote:
Ca me semble un peu tordu, mais je ne suis pas spécialiste !
Je pourrais laisser le champ Vente en texte, là ça fonctionne, mais cela n'est pas très logique. Par exemple, ça me bloque pour faire :
SQL = "UPDATE PDR set Vente = Vente * 10 Where Vente < 1"
Avec Vente en texte, ça ne veut rien dire.
Bigre...
Je me suis mis dans des conditions similaires, j'ai fait la même requête, ca
passe bien. Ton champ Vente est bien en réel double et pas en integer ?
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Jessy Sempere [MVP]
Bonjour
Je pense que ça vient du fait que tu multiplis 2 types de données différents. Cette multiplication a pour impacte de transformer tes données doubles en donnée single.
Essais de faire : SQL = "Update PDR set Vente = cDbl(DernierPrixachat) * cDbl(2.5) * " & cdbl(Coefmulti) & "Where repere='021'" DoCmd.RunSQL (SQL)
@+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "JM" a écrit dans le message news:
Par contre, le champ DernierPrixachat, qui est bien numérique dans la table
PDR, est lui même renseigné par une requête Update à partir de données d'une
table SQL Server dans laquelle le champ (origine) est de type Float. J'ai pensé que ça pouvait être la cause du problème (encore que...) mais je vois
pas bien pourquoi ça fonctionne avec des valeurs entières et pas avec de décimales (?).
Dans la table PDR, le champ DernierPrixachat a des valeurs correctes, décimales.
Je dubite...
:-)
"Gafish" a écrit dans le message de news:
JM wrote:
Ca me semble un peu tordu, mais je ne suis pas spécialiste !
Je pourrais laisser le champ Vente en texte, là ça fonctionne, mais cela n'est pas très logique. Par exemple, ça me bloque pour faire :
SQL = "UPDATE PDR set Vente = Vente * 10 Where Vente < 1"
Avec Vente en texte, ça ne veut rien dire.
Bigre...
Je me suis mis dans des conditions similaires, j'ai fait la même requête,
ca
passe bien. Ton champ Vente est bien en réel double et pas en integer ?
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour
Je pense que ça vient du fait que tu multiplis 2 types de données
différents.
Cette multiplication a pour impacte de transformer tes données doubles en
donnée single.
Essais de faire :
SQL = "Update PDR set Vente = cDbl(DernierPrixachat) * cDbl(2.5) * " &
cdbl(Coefmulti) & "Where repere='021'"
DoCmd.RunSQL (SQL)
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"JM" <jm@bidon.bidon> a écrit dans le message news:
OqwM9N0lFHA.3656@TK2MSFTNGP09.phx.gbl...
Par contre, le champ DernierPrixachat, qui est bien numérique dans la
table
PDR, est lui même renseigné par une requête Update à partir de données
d'une
table SQL Server dans laquelle le champ (origine) est de type Float. J'ai
pensé que ça pouvait être la cause du problème (encore que...) mais je
vois
pas bien pourquoi ça fonctionne avec des valeurs entières et pas avec de
décimales (?).
Dans la table PDR, le champ DernierPrixachat a des valeurs correctes,
décimales.
Je dubite...
:-)
"Gafish" <---gafish@free.fr----nospam> a écrit dans le message de
news:uiSjlG0lFHA.2904@TK2MSFTNGP14.phx.gbl...
JM wrote:
Ca me semble un peu tordu, mais je ne suis pas spécialiste !
Je pourrais laisser le champ Vente en texte, là ça fonctionne, mais
cela n'est pas très logique.
Par exemple, ça me bloque pour faire :
SQL = "UPDATE PDR set Vente = Vente * 10 Where Vente < 1"
Avec Vente en texte, ça ne veut rien dire.
Bigre...
Je me suis mis dans des conditions similaires, j'ai fait la même
requête,
ca
passe bien.
Ton champ Vente est bien en réel double et pas en integer ?
Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Je pense que ça vient du fait que tu multiplis 2 types de données différents. Cette multiplication a pour impacte de transformer tes données doubles en donnée single.
Essais de faire : SQL = "Update PDR set Vente = cDbl(DernierPrixachat) * cDbl(2.5) * " & cdbl(Coefmulti) & "Where repere='021'" DoCmd.RunSQL (SQL)
@+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "JM" a écrit dans le message news:
Par contre, le champ DernierPrixachat, qui est bien numérique dans la table
PDR, est lui même renseigné par une requête Update à partir de données d'une
table SQL Server dans laquelle le champ (origine) est de type Float. J'ai pensé que ça pouvait être la cause du problème (encore que...) mais je vois
pas bien pourquoi ça fonctionne avec des valeurs entières et pas avec de décimales (?).
Dans la table PDR, le champ DernierPrixachat a des valeurs correctes, décimales.
Je dubite...
:-)
"Gafish" a écrit dans le message de news:
JM wrote:
Ca me semble un peu tordu, mais je ne suis pas spécialiste !
Je pourrais laisser le champ Vente en texte, là ça fonctionne, mais cela n'est pas très logique. Par exemple, ça me bloque pour faire :
SQL = "UPDATE PDR set Vente = Vente * 10 Where Vente < 1"
Avec Vente en texte, ça ne veut rien dire.
Bigre...
Je me suis mis dans des conditions similaires, j'ai fait la même requête,
ca
passe bien. Ton champ Vente est bien en réel double et pas en integer ?
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
JM
Bonjour.
Oui, je n'ai plus le problème avec la conversion en Dbl. Merci à vous deux. J'ai un paquet de lignes à modifier !!!
Bravo.
"Jessy Sempere [MVP]" a écrit dans le message de news:42ef3d38$
Bonjour
Je pense que ça vient du fait que tu multiplis 2 types de données différents. Cette multiplication a pour impacte de transformer tes données doubles en donnée single.
Essais de faire : SQL = "Update PDR set Vente = cDbl(DernierPrixachat) * cDbl(2.5) * " & cdbl(Coefmulti) & "Where repere='021'" DoCmd.RunSQL (SQL)
@+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "JM" a écrit dans le message news:
Par contre, le champ DernierPrixachat, qui est bien numérique dans la table
PDR, est lui même renseigné par une requête Update à partir de données d'une
table SQL Server dans laquelle le champ (origine) est de type Float. J'ai
pensé que ça pouvait être la cause du problème (encore que...) mais je vois
pas bien pourquoi ça fonctionne avec des valeurs entières et pas avec de décimales (?).
Dans la table PDR, le champ DernierPrixachat a des valeurs correctes, décimales.
Je dubite...
:-)
"Gafish" a écrit dans le message de news:
JM wrote:
Ca me semble un peu tordu, mais je ne suis pas spécialiste !
Je pourrais laisser le champ Vente en texte, là ça fonctionne, mais cela n'est pas très logique. Par exemple, ça me bloque pour faire :
SQL = "UPDATE PDR set Vente = Vente * 10 Where Vente < 1"
Avec Vente en texte, ça ne veut rien dire.
Bigre...
Je me suis mis dans des conditions similaires, j'ai fait la même requête,
ca
passe bien. Ton champ Vente est bien en réel double et pas en integer ?
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour.
Oui, je n'ai plus le problème avec la conversion en Dbl.
Merci à vous deux.
J'ai un paquet de lignes à modifier !!!
Bravo.
"Jessy Sempere [MVP]" <jessy.sempere@prg.sncf.fr> a écrit dans le message de
news:42ef3d38$1@news.sncf.fr...
Bonjour
Je pense que ça vient du fait que tu multiplis 2 types de données
différents.
Cette multiplication a pour impacte de transformer tes données doubles en
donnée single.
Essais de faire :
SQL = "Update PDR set Vente = cDbl(DernierPrixachat) * cDbl(2.5) * " &
cdbl(Coefmulti) & "Where repere='021'"
DoCmd.RunSQL (SQL)
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"JM" <jm@bidon.bidon> a écrit dans le message news:
OqwM9N0lFHA.3656@TK2MSFTNGP09.phx.gbl...
Par contre, le champ DernierPrixachat, qui est bien numérique dans la
table
PDR, est lui même renseigné par une requête Update à partir de données
d'une
table SQL Server dans laquelle le champ (origine) est de type Float.
J'ai
pensé que ça pouvait être la cause du problème (encore que...) mais je
vois
pas bien pourquoi ça fonctionne avec des valeurs entières et pas avec de
décimales (?).
Dans la table PDR, le champ DernierPrixachat a des valeurs correctes,
décimales.
Je dubite...
:-)
"Gafish" <---gafish@free.fr----nospam> a écrit dans le message de
news:uiSjlG0lFHA.2904@TK2MSFTNGP14.phx.gbl...
JM wrote:
Ca me semble un peu tordu, mais je ne suis pas spécialiste !
Je pourrais laisser le champ Vente en texte, là ça fonctionne, mais
cela n'est pas très logique.
Par exemple, ça me bloque pour faire :
SQL = "UPDATE PDR set Vente = Vente * 10 Where Vente < 1"
Avec Vente en texte, ça ne veut rien dire.
Bigre...
Je me suis mis dans des conditions similaires, j'ai fait la même
requête,
ca
passe bien.
Ton champ Vente est bien en réel double et pas en integer ?
Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Oui, je n'ai plus le problème avec la conversion en Dbl. Merci à vous deux. J'ai un paquet de lignes à modifier !!!
Bravo.
"Jessy Sempere [MVP]" a écrit dans le message de news:42ef3d38$
Bonjour
Je pense que ça vient du fait que tu multiplis 2 types de données différents. Cette multiplication a pour impacte de transformer tes données doubles en donnée single.
Essais de faire : SQL = "Update PDR set Vente = cDbl(DernierPrixachat) * cDbl(2.5) * " & cdbl(Coefmulti) & "Where repere='021'" DoCmd.RunSQL (SQL)
@+ Jessy Sempere - Access MVP
------------------------------------ Site @ccess : http://access.jessy.free.fr/ Pour l'efficacité de tous : http://users.skynet.be/mpfa/ ------------------------------------ "JM" a écrit dans le message news:
Par contre, le champ DernierPrixachat, qui est bien numérique dans la table
PDR, est lui même renseigné par une requête Update à partir de données d'une
table SQL Server dans laquelle le champ (origine) est de type Float. J'ai
pensé que ça pouvait être la cause du problème (encore que...) mais je vois
pas bien pourquoi ça fonctionne avec des valeurs entières et pas avec de décimales (?).
Dans la table PDR, le champ DernierPrixachat a des valeurs correctes, décimales.
Je dubite...
:-)
"Gafish" a écrit dans le message de news:
JM wrote:
Ca me semble un peu tordu, mais je ne suis pas spécialiste !
Je pourrais laisser le champ Vente en texte, là ça fonctionne, mais cela n'est pas très logique. Par exemple, ça me bloque pour faire :
SQL = "UPDATE PDR set Vente = Vente * 10 Where Vente < 1"
Avec Vente en texte, ça ne veut rien dire.
Bigre...
Je me suis mis dans des conditions similaires, j'ai fait la même requête,
ca
passe bien. Ton champ Vente est bien en réel double et pas en integer ?
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr