Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/05/2011, 15h48   #1
Invité de passage
 
Homme
Ingénieur en construction
Inscription : mai 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur en construction
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 18
Points : 4
Points : 4
Par défaut Fonction IIf sur champs monétaires

Salut tout le monde,

J'ai un petit souci sur une fonction IIf placée dans une requête, la voici :

Code :
IIf(([Factures - Requête 2].[Montant TVAC]=[CA 2].[Total TVAC]),0,1) AS Expr1
Les champs "Montant TVAC" et "Total TVAC" sont des champs monétaires.

La fonction IIf me renvoi TOUJOURS la valeur 1.

Alors que quand je fais la soustraction simple de ces deux champs (Montant TVAC-Total TVAC) j'obtiens bien 0 si ils sont égaux.

Il y a donc forcement un problème venant du IIf mais je ne vois pas lequel !

Es ce le fait que ce soit des nombres monétaires, je ne comprends pas


Merci pour votre aide
flogo2323 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 18h11   #2
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Flogo2323,

Le VraiFaux sait tester les champs de type "Monétaire". En revanche, si les deux champs sont Null, alors Access les considére comme différents !...

As-tu affiché, en clair, dans la même requête, la valeur de tes deux champs [Factures - Requête 2].[Montant TVAC] et [CA 2].[Total TVAC] ?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 09h21   #3
Invité de passage
 
Homme
Ingénieur en construction
Inscription : mai 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur en construction
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 18
Points : 4
Points : 4
Bonjour Richard,

Et bien en effet j'ai bien affiché les deux champs dans ma requête.

En fait même quand ces champs ne sont pas nul mais égaux, mon iif me rend toujours 1.

De plus, je viens de constater un autre problème assez analogue :
Etant donné que mon iif ne fonctionnait pas, je me suis contenté de faire la soustraction des deux puis dans un formulaire j'ai fait une mise en forme conditionnelle suivant le résultat de la soustraction.

C'est à dire, si le résultat est nul alors "case" verte sinon "case" rouge.

Et là non plus cela ne marche pas, elle reste tous le temps rouge alors que je vois que le contenu de la "case" en question est bien égale à 0.00 E (E = Euros).

Que ce passe t il, on a l'impression que cette valeur n'est pas exploitable !


Merci d'avance pour votre aide
flogo2323 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 09h27   #4
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Bonjour Flogo2323,

Peux-tu, directement dans la table, et sur un enregistrement concerné :
  • supprimer, manuellement, les 2 montants ;
  • sauvegarder l'enregistrement ;
  • saisir, manuellement, ces 2 montants ;
  • lancer ta requête et vérifier le résultat pour cet enregistrement.
?
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 09h29   #5
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 446
Points : 4 446
bonjour,

Citation:
Envoyé par flogo2323 Voir le message
.. le contenu de la "case" en question est bien égale à 0.00 E (E = Euros).
probablement un problème d'arrondi avec un résultat qui est égal en fait à un truc du genre 0.00005154 E

peut-être une solution dans la discussion:
http://www.developpez.net/forums/d97...centimes-pres/

puis dans la contribution:
http://www.developpez.net/forums/d97...arrondir-prix/
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 27/05/2011, 09h32   #6
Invité de passage
 
Homme
Ingénieur en construction
Inscription : mai 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur en construction
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 18
Points : 4
Points : 4
En faite je viens de comprendre ce qui ce passait :

Mon champ [CA 2].[Total TVAC] est un champ calculé qui me retourne 2 décimales visuellement alors qu'en fait lorsque l'on place le curseur dessus, 3 décimales sont présentes.

Mon champ [Factures - Requête 2].[Montant TVAC] est un champ saisi qui comportera donc forcément 2 décimales


Et c'est de là que vient l'erreur !


Mais voilà, je n'arrive pas à limiter le calcul sur 2 décimales. Car lorsque je vais dans les propriétés du champ, et que je demande 2 décimales, c'est en réalité que l'affichage du nb de décimales qui changent pas leurs nb calculé.

Merci de vos réponse
flogo2323 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 09h46   #7
Expert Confirmé
 
Avatar de Richard_35
 
Homme
Inscription : juillet 2007
Messages : 2 176
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Ille et Vilaine (Bretagne)

Informations forums :
Inscription : juillet 2007
Messages : 2 176
Points : 2 805
Points : 2 805
Le diagnostic de Fabien (que je salue) est le bon, donc.

Il faut agir, en amont, pour arrondir tes montant avant de les éditer/afficher et, donc, avant de les stocker dans la table.
__________________
Dis-nous et à bientôt,
Richard.
----------------------------------------------------------------------------------------------
En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
Richard_35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2011, 10h15   #8
Invité de passage
 
Homme
Ingénieur en construction
Inscription : mai 2011
Messages : 18
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur en construction
Secteur : Bâtiment

Informations forums :
Inscription : mai 2011
Messages : 18
Points : 4
Points : 4
UN GRAND MERCI A VOUS DEUX
flogo2323 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h51.


 
 
 
 
Partenaires

Hébergement Web