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

2 réponses

  1. blux Messages postés 5031 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Salut,

    quel est le texte de la requête et comment est la source du contrôle du formulaire qui affiche ce total ?
    0
    1. 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
    2. blux Messages postés 5031 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      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
    3. 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
    4. blux Messages postés 5031 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      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
    5. 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
  2. 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
    1. A.G. Messages postés 23 Statut Membre
       
      Ai été dans signaler et cliqué sur question résolue
      mais fonctionne pas
      0
    2. A.G. Messages postés 23 Statut Membre
       
      Voilà qui est fait baladur !
      Merci
      0
    3. baladur13 Messages postés 47318 Date d'inscription   Statut Modérateur Dernière intervention   14 386
       
      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