Aide en access 2007

Résolu
A.G. Messages postés 23 Statut Membre -  
A.G. Messages postés 23 Statut Membre -
Bonjour,

Je travail en Access 2007.
J'ai créé un état qui reprend divers "champs" entre autre une liste de titre et le nombre d'individus.
une requête a été créée pour "compter" ces individus.
Mais j'aurai voulu lorsque je n'ai aucun individus inscrit dans la liste il soit indiqué 0.
Comment faire ?
D'avance merci à qui pourra m'aider
A voir également:

2 réponses

blux Messages postés 27826 Statut Modérateur 3 363
 
Salut,

quel est le texte de la requête et comment est la source du contrôle du formulaire qui affiche ce total ?
0
A.G. Messages postés 23 Statut Membre
 
Voilà ce que j'ai essayé
J'ai été dans la reqête et inséré dans critère en dessous du champs
Nz([CompteDeind_nom];0)
mais à ce moment, il ne reprend que les intitulés qui ont des inscrits avec le nombre des inscrits.
Moi je voudrais avoir aussi les intitulés qui non pas d'inscrits avec un 0
D'avance merci
0
blux Messages postés 27826 Statut Modérateur 3 363
 
Ce qui me gêne dans le texte de ta requête, c'est qu'à aucun moment, je ne vois de fonction d'agrégat (type SUM...)
0
A.G. Messages postés 23 Statut Membre
 
Je dois t'avouer que je n'y conais rien. Alors peut-être que je ne travaille pas correctement
En faite le texte de ma requête à été fait à partir d'une autre requête qui est

SELECT Count([COMPTE Nombre d'inscrits].ind_nom) AS CompteDeind_nom, [COMPTE Nombre d'inscrits].sem_ref
FROM [COMPTE Nombre d'inscrits]
GROUP BY [COMPTE Nombre d'inscrits].sem_ref
HAVING ((([COMPTE Nombre d'inscrits].sem_ref) Like "*"));

J'espère que cela peut te permettre de me dire ce que je dois faire
Encore un tout grand merci pour ta gentilesse
0
blux Messages postés 27826 Statut Modérateur 3 363
 
C'est déjà plus clair ! On a enfin un agrégat (count).
Il faut donc que tu remplace dans la requête sur laquelle est basée le formulaire les champs dont tu veux changer la valeur de cette manière :

SELECT IIF(nom_du_champ1>0;nom_du_champ1;"0"),...

La fonction IIF permet de renvoyer deux valeurs en fonction d'un test. Ici, on teste si la valeur de champ est supérieure à 0, si c'est le cas, on renvoie la valeur du champ, sinon, on renvoie la valeur 0.

Ca devrait donner un résultat conforme à tes attentes.
0
A.G. Messages postés 23 Statut Membre
 
Un grand merci
mais, je ne comprend pas bien ! Je dois donc ajouter
SELECT IIF(CompteDeind_nom>0;CompteDeind_nom;"0"),
Au SQL qui se trouve en-dessous de ce message mais où exactement ?
0
A.G. Messages postés 23 Statut Membre
 
Bonjour,

Je débute je ne connais donc rien en access.
Toutes les tables de la base de données ont été créées par quelqu'un d'autre.

voici le texte de la requête
SELECT dbo_Seminaire.sem_ref, dbo_Seminaire.sem_date_debut, dbo_Seminaire.sem_date_fin, [mod_libelle] & " - " & [sem_libelle] AS Expr1, [Nombre d'inscrits par référence séminaire].CompteDeind_nom
FROM (dbo_Seminaire LEFT JOIN (dbo_Module_Details LEFT JOIN dbo_Module ON dbo_Module_Details.mod_code = dbo_Module.mod_code) ON dbo_Seminaire.sem_code = dbo_Module_Details.sem_code) LEFT JOIN [Nombre d'inscrits par référence séminaire] ON dbo_Seminaire.sem_ref = [Nombre d'inscrits par référence séminaire].sem_ref
GROUP BY dbo_Seminaire.sem_ref, dbo_Seminaire.sem_date_debut, dbo_Seminaire.sem_date_fin, [mod_libelle] & " - " & [sem_libelle], [Nombre d'inscrits par référence séminaire].CompteDeind_nom, dbo_Module.mod_libelle, dbo_Seminaire.sem_libelle
HAVING (((dbo_Seminaire.sem_ref) Like "1321A*" Or (dbo_Seminaire.sem_ref) Like "14??a*"))
ORDER BY dbo_Seminaire.sem_date_debut;

La source contrôle du formulaire est "CompteDeind_nom"
J'espère avoir répondu correctement à votre demande ? Encore une fois un grand merci.
0
baladur13 Messages postés 50040 Statut Modérateur 13 709
 
0
A.G. Messages postés 23 Statut Membre
 
Ai été dans signaler et cliqué sur question résolue
mais fonctionne pas
0
A.G. Messages postés 23 Statut Membre
 
Voilà qui est fait baladur !
Merci
0
baladur13 Messages postés 50040 Statut Modérateur 13 709
 
Si le "signaler" fonctionne très bien puisque c'est par lui que je suis venu sur ce topic..
Mais autant que ceux qui ont la possibilité de mettre eux-même leur topic en résolu le fasse..
Cela évite du boulot à la modération... :o)
0