Affichage spécial sur la DataGrid

Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   -  
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je travaille sur VB6 avec Acces. Dans ma table ( BD ), j'ai
- champ appelé NomComplet
- champ appelé Rubrique
- champ appelé Nbre
- champ appelé Montant
Je cherche à faire afficher sur ma DataGrid le contenu de ces trois champs sans répétion, avec le total du champ Montant et le total du champ Nbre pour chaque NomComplet, à l'exception du contenu du champ Nbre lorsque le champ Rubrique est différent au filtre "H.N"

Merci pour votre aide

1 réponse

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, tu as cessé d'être clair au moment où tu donnes une liste de 4 champs puis tu écris "ces trois champs". qu'entends-tu par "est différent au filtre "H.N""?
    à tout hasard:
    select NomComplet, sum(Montant) as Montants, sum(iif(Rubrique="H.N", 0, Nbre)) as Nombres 
    from BD;
    0
    1. Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
       
      Bonjour

      Merci pour votre attention.
      En réponse à votre question (qu'entends-tu par "est différent au filtre "H.N)
      Je me permets de vous expliquer plus.
      Lores des entegistrement des opérations, il se peut qu'une seule personne peut être entegistrée pour plus d"une Rubrique ( H.N, H.SUP, H.Recup ..)c'est à dire tant de lignes que le nombre des rubriques saisies pour cette personne
      Mais à laffichage je veux avoir une seule ligne pour cette personne, avec le nombre des H.N seulement et le total des montants de toutes les rubriques enregistrées pour cette personne
      0
    2. Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
       
      Bonjour

      J'ai fais ce que vous m'aviez proposè , mais l'application me renvoie un message d'erreur
      ( Erreur d'execution
      Vous avez essayer d'executer une requête ne comprenant pas l'expression specifièe 'NomComplet' comme une partie de la fonction d'agregat)
      0
    3. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention  
       
      alors, sans doute:
      select NomComplet, sum(Montant) as Montants, sum(iif(Rubrique="H.N", Nbre, 0)) as Nombres 
      from BD;
      0
    4. Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
       
      Rebonjour

      Toujours rien.
      Peut être que je n'ai bien expliquer mon cas. Voilà je vous donne l'exemple d'une seule personne et pour une seule journée

      Dans ma BD il y ' a 3 lignes avec le même nom

      La première ligne
      Champ ( Nom ) = Ouvrier x
      Champ ( Rubrique ) = H.N
      Champ ( Nbre ) = 8
      Champ ( Montant ) = 70

      La deuxième ligne
      Champ ( Nom ) = Ouvrier x
      Champ ( Rubrique ) = H.SUP
      Champ ( Nbre ) = 2
      Champ ( Montant ) = 10,94

      Je cherche à faire afficher sur ma DataGrid une seule ligne avec

      Champ ( Nom ) = Ouvrier X
      Champ (Rubrique ) = H.N
      Champ ( Nbre) = 8
      Champ ( Montant ) = 80,94

      Merci pour votre bonne patience
      0
    5. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention  
       
      select NomComplet, "H.N" as Rubrique, sum(iif(Rubrique="H.N", Nbre, 0)) as Nbre, 
      sum(Montant) as Montant 
      from BD group by NomComplet;
      0