Gerer champ vide dans etat access

Fermé
shaka17 Messages postés 15 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 1 avril 2009 - 31 mars 2009 à 08:46
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 - 26 févr. 2016 à 21:33
Bonjour,

j'ai un etat puisant ces informations dans une requete analyse croisée qui me renvoi une synthèse de ma table.

en fonction des enregistrements de la table je peux avoir des champs vide qui me fausse les calculs dans mon etat (les sommes ne se font pas quand un des champ est vide) il faudrait, sur mes champs de issue de la requête mettre la valeur 0 lorsqu'ils sont vide ou null

j'ai vu sur un post du fofo une requête conditionnel pour afficher 0 si le resultat été vide qui utilise la fonction "iif" mais je n'arrive pas a la mettre en application. voici ce que j'ai ecrit dans "Source de contrôle" du champ

SELECT iif(isnull(En cours)),0,Somme(En cours))

PS : "En cours" est le champ qui peut être vide et dont je voudrais mettre la valeur 0 dans ce cas

je précise que je connais trés peu le sql sortie des assistants ...

pouvez vous m'aider a completer ma ligne de code pour que cela fonctionne ou bien me donner une autre solution en vba?

Merci d'avance

7 réponses

Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
31 mars 2009 à 09:45
Bonjour Shaka17,

Je n'ai pas essayé, mais en saisissant le format suivant dans propriété/onglet format du contrôle... il se pourrait bien que ça passe ..

# ##0,00" €"

A vérifier donc

Cordialement
0
shaka17 Messages postés 15 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 1 avril 2009 1
31 mars 2009 à 15:39
Merci pour votre suggestion, mais malheureusement cela ne marche pas. Je crois que pour que cela marche il faut au moins une valeur hors moi je n'en ai pas.



Je pense qu'il faut faire une requête SQL ou un code VBA pour conditionner la source de contrôle.



Si vous avez une idée dans se sens …



Merci quand même.
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
31 mars 2009 à 15:48
Shaka 17,

Pour faire avancer le Schmilblick, et avant d'aller plus loin, est-ce que le champ
de la table contient zéro par défaut ?
C'est bien un champ numérique ?

A+
0
shaka17 Messages postés 15 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 1 avril 2009 1
31 mars 2009 à 15:57
il s'agit d'une requete analyse croisée et lorsque le champ ne contient pas d'information il est vide donc pas de 0 par défaut.

C'est justement ce que j'essai de faire de mettre 0 par defaut mais apparement ce n'est pas possible de déterminer une valeur par defaut dans une requete d'analyse croisée

oui il s'agit d'un champ numérique

merci
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
31 mars 2009 à 16:40
Shaka17,

Dans l'état, dans la zone de texte qui doit afficher un "Zéro"

saisir dans source contrôle : =vraifaux([<Nom_champ>]="";0)

NB : remplacer la chaîne de caractères : <Nom_champ>
par le vrai nom du champ

A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
shaka17 Messages postés 15 Date d'inscription vendredi 6 février 2009 Statut Membre Dernière intervention 1 avril 2009 1
1 avril 2009 à 15:51
merci du tuyau. aprés plusieurs tentatives j'ai réussi a adapter mon code et ca donne ca:

=VraiFaux("[Texte85]"<>"";[Texte85]) & VraiFaux(EstNull([Texte85]);0)

j'ai tapé ca dans la propriété source de controle du champ "Attente" (champ indépendant) quand au champ "Texte85" recoit le champ de la requête ce dernier est caché et me sert de tampon pour mon code sinon j'avais une erreur de redondance.

et ca marche trés bien!! merci encore pour l'idée de la fonction.

par contre je ne comprend pas pourquoi j'ai été obligé de gérer les 2 cas champ vide et champ avec une valeur?
sinon si la condition n'était pas rempli cela ne m'affichait rien! se n'est pas comme dans excel
"si(condition,Vrai,Faux)"?

de plus sur votre ligne vous utilisez des , moi access me demande des ; est ce normal ou c'est une histoire de version?

Merci pour vos précisions!

Cordialement

PS: c'est compliqué la synthaxe en sql !!!
0
+1 pour Shaka17
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
1 avril 2009 à 16:07
Shaka17,

Merci pour ce retour d'information.

Ollé ! Belle figure de tauromachie pour éviter le Taureau ! Je plaisante bien sûr.

Je crois qu'il y a une syntaxe qui stipule : si la valeur n'est pas numérique, alors ....
mais je ne la retrouve pas. Mais si ça fonctionne ... pour le moment ça le fait !

Le problème des , et ; est "Normal". C'est une histoire de normes qui se contredisent.. Je n'en sais pas plus.


Bienvenue dans le monde des astuces et autes combines

Cordialement
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
26 févr. 2016 à 21:33
bonjour
faut utiliser la fonction Nz dans une formule de calcule qui transforme un champ vide en zero
0