Aide en access 2007

Résolu/Fermé
A.G. Messages postés 22 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 26 septembre 2013 - 23 juil. 2013 à 17:58
A.G. Messages postés 22 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 26 septembre 2013 - 26 juil. 2013 à 15:21
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 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
23 juil. 2013 à 21:36
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 22 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 26 septembre 2013
25 juil. 2013 à 15:15
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 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
25 juil. 2013 à 15:21
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 22 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 26 septembre 2013
25 juil. 2013 à 15:43
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 26013 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 26 avril 2024 3 289
25 juil. 2013 à 16:09
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 22 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 26 septembre 2013
25 juil. 2013 à 16:41
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 22 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 26 septembre 2013
24 juil. 2013 à 08:34
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 46403 Date d'inscription mercredi 11 avril 2007 Statut Modérateur Dernière intervention 28 avril 2024 13 224
26 juil. 2013 à 11:53
0
A.G. Messages postés 22 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 26 septembre 2013
26 juil. 2013 à 12:04
Ai été dans signaler et cliqué sur question résolue
mais fonctionne pas
0
A.G. Messages postés 22 Date d'inscription mardi 23 juillet 2013 Statut Membre Dernière intervention 26 septembre 2013
26 juil. 2013 à 12:16
Voilà qui est fait baladur !
Merci
0
baladur13 Messages postés 46403 Date d'inscription mercredi 11 avril 2007 Statut Modérateur Dernière intervention 28 avril 2024 13 224
26 juil. 2013 à 14:05
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