Afficher un résultat suivant qu'il est positif ou négatif

Résolu/Fermé
DCA25 Messages postés 3 Date d'inscription mardi 15 janvier 2013 Statut Membre Dernière intervention 17 janvier 2013 - 16 janv. 2013 à 11:18
Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 - 18 janv. 2013 à 10:04
Bonjour,




Je vous expose mon problème: sur Access 2007. Dans un état j'ai 2 contrôles, dans lesquels je voudrais afficher le résultats d'une opération, suivant la valeur positive de ce résultat je l'affiche dans l'un des contrôles et'l'autre affiche 0.
J'espère avoir été assez clair. et merci d'avance je commence sur Access. C'est puissant, mais c'est rageant quand on butte .

Merci pour votre aide.

3 réponses

Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 587
16 janv. 2013 à 11:23
Salut,

Dans une DB, les champs affichent toujours leur contenu. Pour effectuer ce que tu demandes, tu dois créer une expression du genre:
[mon-champ]:IIF([mon-calcul]>0;[mon-calcul];0)

tu peux également jouer avec la mise en forme conditionnelle pour rendre "invisible" les résultats négatifs que tu ne veux pas montrer.
0
Tessel75 Messages postés 192 Date d'inscription lundi 17 décembre 2012 Statut Membre Dernière intervention 19 janvier 2013 22
16 janv. 2013 à 11:27
Bonjour,
Dans chacun des 2 contrôles, vous entrez la formule alternative

=Vraifaux(ChampsNombre>=0;ChampsNombre;0)
et l'autre
=Vraifaux(ChampsNombre<=0;ChampsNombre;0)
Bon courage

NB qui me tient à coeur : Proscrivez de vos noms d'objets (tables, requêtes, champs, formulaires, etc, etc, tout) les espaces et les accents. Vous vous éviterez de très graves désagréments.
https://forums.commentcamarche.net/forum/affich-26623299-fichiers-corrompus-erreurs-lecture-seule-sur-access
0
Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 587
16 janv. 2013 à 11:34
Je plussoie sur ton NB, et j'ajoute que se pencher sur une convention de nommage avant de commencer, c'est gagner du temps par après ^^
0
DCA25 Messages postés 3 Date d'inscription mardi 15 janvier 2013 Statut Membre Dernière intervention 17 janvier 2013
17 janv. 2013 à 10:55
Merci Tessel75
J'ai pris ta solution elle répond encore mieux à mon problème pour la suite de mon application.
0
DCA25 Messages postés 3 Date d'inscription mardi 15 janvier 2013 Statut Membre Dernière intervention 17 janvier 2013
17 janv. 2013 à 10:53
Bonjour Bruce


Merci pour la réactivité (qques minutes). Cela marche! génial!.J'utilisais les fonctions IF ou SI mais cela ne fonctionnais pas.
Encore merci
0
Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 587
17 janv. 2013 à 10:55
Oui, j'ai jamais pigé pourquoi dans Access le IF s'acrivait IIF ^^
0
Tessel75 Messages postés 192 Date d'inscription lundi 17 décembre 2012 Statut Membre Dernière intervention 19 janvier 2013 22
17 janv. 2013 à 21:00
Bonsoir à chacun ,
Pour répondre à la question de Bruce : c'est parce que le "SI" de Excel s'écrit "VraiFaux" en Access Français, et il ne faut pas le confondre avec le "If ... Then ... Else ... End if" du VBA. Par contre ce que je n'ai jamais compris c'est pourquoi la formule Excel "=SI( A est vrai; B; C) s'écrit "=VraiFaux(... ; ... ; ...) en Access. Je ne sais pas comment s'écrit en anglais le "SI()" de Excel.
0
Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 587
18 janv. 2013 à 10:04
Yop,

Moi je les utilise en anglais tous les deux, et la syntaxe est exactement la même, sauf le doublement du "i"

En Excel: =IF(condition;vrai;faux)
En Access: =IIF(condition;vrai;faux)

Jamais compris pourquoi ^^
0