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

Modélisation Discussion :

Doublon requête + comptage [AC-2010]


Sujet :

Modélisation

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 94
    Points : 29
    Points
    29
    Par défaut Doublon requête + comptage
    Bonjour,

    Je suis en train de créer une BDD afin d’avoir toutes les infos concernant mes clients mais aussi, comme je possède l'agrément de service à la personne, pouvoir envoyer un courrier (publipostage) en début d'année pour la réduction d'impôts.

    Cette base contient une table "Clients" avec un numéro auto + civilité + prénom + nom + adresse... (données habituelles). À chaque nouveau client, j’ajoute les coordonnées dans cette table.

    J’ai créé un formulaire à partir d'une table "intervention". Je saisirai dans ce formulaire les données à chaque fois que j’aurai réalisé une intervention. Ce formulaire contient un numéro auto d'intervention + date d'intervention + paiement en chèque + paiement en CESU + paiement en espèces + numéro automatique du client (que j’aurais au préalable recherché dans la table clients). Sachant que dans cette table soit c'est payé en chèque, soit en CESU, soit en espèces.

    Pour terminer j'ai créé une requête publipostage qui reprend les coordonnées (nom + adresse) du client. Cette requête ne doit reprendre que les interventions de l'année en cours donc j'ai placé un critère pour la date. J'ai également ajouté un "total prestation" dont je ne suis vraiment pas sûr de l'utilité car en fait seuls les paiements par chèque et CESU sont déductibles.
    Capture de la requête :


    Mon souci vient du fait que si je fais plusieurs interventions chez un même client lors de la même année, cela crée des doublons dans cette requête (ce qui va générer plusieurs courriers lors du publipostage sous Word).

    Une deuxième chose mais moins importante : je souhaiterais avoir une colonne qui "compte" le nombre de fois que je suis passé chez ce client pour la même période.

    En gros ma requête devra contenir les coordonnées + le total des paiements en chèque et CESU + le nombre de fois qu'il est intervenu.

    Est-ce que quelqu'un aurait une solution ? En cherchant sur le net, je trouve beaucoup de liens parlant de VBA ou MySQL or je ne les maîtrise pas du tout et j'aurais souhaité que ma BDD reste simple.

    Voici une capture de mes relations :


    Merci d'avance :

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 365
    Points : 23 835
    Points
    23 835
    Par défaut
    • Remplace "regroupement" par "Compte" pour ton numéro d'intervention,
    • Remplace "regroupement" par "somme" dans toutes tes colonnes de montant


    Cela va supprimer tes doublons ET te donner le nombre d'interventions.

    A+

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 94
    Points : 29
    Points
    29
    Par défaut
    Merci pour ton aide mais ça n'a strictement rien changé : toujours des doublons et du coup le comptage est à 1 sur toutes les lignes

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 768
    Points : 58 097
    Points
    58 097
    Billets dans le blog
    42
    Par défaut
    bonsoir,

    sur la date d'intervention, essaye avec "où" à la place de "regroupement".

  5. #5
    Membre éprouvé

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Novembre 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 904
    Points : 1 229
    Points
    1 229
    Par défaut
    Bonsoir

    J'aurais dit comme René, mais ça coince.
    Fait un essai (avec Compte et Nombre), mais en supprimant le champ "Date d'intervention"... mais sans conviction.

    Par contre ce qu'il faudrait, c'est d'abord requêter sur la table Intervention pour n'avoir qu'un seul enregistrement par client. Ensuite baser ta requête sur celle-ci et la table Clients. Et là plus de pb. (1 pour 1)
    Essaie cette nouvelle requête sur Intervention, avec les indications de René.

    titi95

  6. #6
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3 121
    Points : 4 596
    Points
    4 596
    Par défaut
    Bonjour à tous,

    Julianinho, si tu veux 1 ligne par client, il faut :
    • que tous les champs de la table Client soient "regroupement", et seulement ceux-là ;
    • tous les autres doivent être des opérations de calcul.

    Suggestion :
    • ramener N° client à l'extrême gauche (pour la clarté) ;
    • Total prestation => "Somme" ;
    • remplaces N° intervention par Count(*) ;
    • Date d'intervention => "Où".

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 94
    Points : 29
    Points
    29
    Par défaut
    Merci à vous 2.

    Du coup, j'ai testé d'abord la solution de f-leb et ça a fonctionné parfaitement.

    Par contre, je me suis aperçu qu'il fallait que je compte le nombre d'intervention uniquement pour les paiements en chèque et CESU donc pour ceux que ça intéresse, dans ma requête publipostage je suis passé en requête analyse croisée et voici ce que j'ai ajouté :


    Merci à tous

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

Discussions similaires

  1. doublons, requête tirée du cours développez
    Par schwarzy2 dans le forum Requêtes
    Réponses: 5
    Dernier message: 01/03/2009, 23h21
  2. Suppression doublons requête SQL
    Par dimferte dans le forum SQL
    Réponses: 6
    Dernier message: 02/12/2008, 10h02
  3. Requête comptage entre 2 valeurs
    Par dzu1001 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 08/09/2008, 10h31
  4. Tri doublons requête SQL
    Par inc002 dans le forum Bases de données
    Réponses: 10
    Dernier message: 18/07/2007, 16h35
  5. [Requètes] Comptage de valeurs
    Par Virgile59 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 22/09/2006, 08h32

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