IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

CpteDom dans Pied de groupe d'un état qui ne fonctionne pas [AC-2013]


Sujet :

IHM

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut CpteDom dans Pied de groupe d'un état qui ne fonctionne pas
    Bonjour,

    J'ai un petit problème que je ne comprends pas et que je n'arrive pas a résoudre.

    Pour résumer, à partir d'un formulaire, j'imprime un état qui liste des clients avec des numéros de factures et leurs montants. Ces clients sont groupés par secteur géographique.

    Je voudrais afficher, pour chaque groupe, le montant total des factures, et le nombre de clients. Je n'ai pas de problème pour le montant des factures puisqu'un simple :

    fonctionne parfaitement.

    En revanche, pas moyen d’avoir le nombre de clients. Je pensais que, comme pour la somme, il suffirait de faire :

    mais cela ne fonctionne pas, j'ai le message suivant : "l'expression entrée comporte une fonction dont le nombre d'arguments n'est pas correct"

    Pourquoi est-ce que ça ne fonctionne pas, j'ai raté un truc tout bête ou il faut procéder autrement ?

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour
    et comme ceci ?

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Bonjour Gayot,

    Ça fonctionne beaucoup mieux en effet, je te remercie...
    Reste le problème de compter le nombre de clients différents car comme un clients peut avoir plusieurs factures, le nombre affiché correspond au nombre total de factures. Je cherche.

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,
    Pour compter par client il faut avoir la notion de client dans un regroupement.
    Lorsque c'est le cas, utiliser le pied de groupe pour y mettre un contrôle texte avec propriétés suivantes :

    Source contrôle : =1
    Cumul : Par groupe

    Normalement ça devrait suffire.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Bonjour Loufab, je te remercie mais que veux tu dire par "il faut avoir la notion de client dans un regroupement" ?

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Créer un regroupement sur le champ client.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Merci loufab, en plus j'ai déjà ce regroupement dans mon état.

    Par contre je ne suis pas sur de comprendre ce que tu me dis de faire, il faut utiliser le pied de goupe du client et mettre le controle avec source controle = 1 et cumul par groupe dedans ? Si c'est bien ça j'ai essayé mais ça ne marche pas

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Oui c'est bien comme ça que l'on fait habituellement.

    Qu'est ce qui ne marche pas ? tu peux être plus précis stp.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Si ce que j'ai fait est correct Loufab, je me retrouve avec, pour chaque client, un chiffre dans la section de son pied de groupe. Ce chiffre est incrémenté à chaque nouveau client et il apparait donc pour le premier client le chiffre 1, pour le deuxième le chiffre 2, etc...

    Si c'est bien ça, ce n'est pas ce que je voudrais faire car je trouve ça redondant au niveau des données. D'autant plus que j'ai aussi un regroupement par sous-secteur en plus de celui par secteur qui fait que ça ne fonctionne pas très bien.

    Est ce qu'il est possible de n'afficher, comme pour les factures, que le montant total, uniquement cette somme de clients uniques dans le pied de groupe du secteur ?

    J'ai essayé quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Count("*")
    FROM (SELECT maRequete.idClient FROM maRequete GROUP BY maRequete.idClient);
    mais le contrôle qui a pour contenu ce code n'affiche rien ensuite. Est ce qu'il y a moyen de fonctionner comme ça ?

  10. #10
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Bonjour,

    Je reprends ta demande.

    En effet tu peux également interroger la source, mais si tu veux mettre le résultat dans un zone texte il faut utiliser Dcount() qui donne une valeur et non une requête qui donne un objet (recordset).

    Une zone de texte n'accepte que des valeurs pas d'objet.

    cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  11. #11
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Bonjour Loufab,

    OK pour la zone de texte j'ai compris, merci !

    Par contre ce que je veux faire ne semble pas possible ou alors je n'ai pas trouvé comment (la deuxième possibilité semble beaucoup plus plausible )

    Je résume : j'ai un premier regroupement sur des secteurs, un deuxième sur des sous-secteurs, et un troisième pour les clients. En suivant ce que tu m'as expliqué, je vois bien le nombre de clients de chaque sous-secteur, mais je ne peux pas avoir la somme des clients de tous les sous-secteurs dans le secteur lui-même, et c'est ça que j'essaye de faire !

    Est-ce qu'il y a un moyen de faire ça ?

  12. #12
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    En utilisant le dcount il y a cette solution :

    http://www.developpez.net/forums/d26...criteres-etat/
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  13. #13
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Je viens de regarder ton lien Loufab, j'ai pu le mettre en pratique et je pense que ça va fonctionner correctement maintenant.

    Juste un petit soucis, le controle d'un des secteurs affiche #erreur, à mon avis parce que le nom du secteur contient une '.

    Comment corriger ça dans le where ci-dessous ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CpteDom("[RE_CODESUITE]","resultaten","[RE_CODESUITE]='" & reports.Monreport.moncontrole & "'")

  14. #14
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 600
    Points
    24 600
    Par défaut
    Quelques conseils:

    Ne jamais utiliser d'espace, de caractères cabalistiques ou d'apostrophe dans les noms d'objets, de champs, de variables. Sinon on est condamner à se taper des crochets en n'en plus finir [] et ça provoque des erreurs difficilement traçables.
    Bref ! maintenant que c'est fait...

    Pour ton problème voici la correction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CpteDom("[RE_CODESUITE]","resultaten","[RE_CODESUITE]=""" & reports.Monreport.moncontrole & """")
    l'astuce est de systématiquement bannir le ' au profit de ", comme il s'agit d'un caractère spécial il faut le doublé.

    Pour ' on met 2 ". Donc si tu veux une string contenant un " il te faudra écrire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    mastring = " " " " 
    'soit
    mastring = """"
    Pour ne jamais utiliser de ' dans les requêtes, where et expression, tout simplement parce que le français comme d'autres langues utilise l'apostrophe.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  15. #15
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    421
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 421
    Points : 132
    Points
    132
    Par défaut
    Voila ça y est tout fonctionne parfaitement.

    OK pour essayer d'éviter les caractères spéciaux comme les apostrophes, sauf que là je ne peux pas car les secteurs proviennent d'une table que je n'ai pas créée moi-même et qui doit rester telle quelle.

    Merci en tous cas pour ton aide et tes explications Loufab

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/11/2013, 08h45
  2. Somme impossible en pied de groupe de l'état
    Par roman33 dans le forum IHM
    Réponses: 2
    Dernier message: 15/01/2010, 12h45
  3. Réponses: 4
    Dernier message: 08/02/2007, 20h01
  4. [FTP] fopen qui ne fonctionne pas dans tous les contextes ..
    Par Christophe Charron dans le forum Langage
    Réponses: 6
    Dernier message: 15/06/2006, 10h25
  5. Taille du pied de groupe d'un état
    Par lito74 dans le forum IHM
    Réponses: 1
    Dernier message: 12/04/2006, 07h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo