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

Access Discussion :

Multiplication des enregistrements


Sujet :

Access

  1. #1
    Membre du Club Avatar de crovette51101
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 73
    Points : 57
    Points
    57
    Par défaut Multiplication des enregistrements
    Bonsoir!

    j'ai un enorme probléme, j'ai fait une requete permettant de prendre different champs, voici le code sql:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    SELECT DBSTAL_REKP_D.RETOURNR, DBSTAL_REKP_D.RET_POS_NR_GES, DBSTAL_REKP_D.POS_NR_GES, DBSTAL_REKP_D.PACK_POS_NR, DBSTAL_REKP_D.RG_NR, DBSTAL_REKP_D.AU_NR, DBSTAL_REKP_D.AU_POS, DBSTAL_REKP_D.SACHNR, DBSTAL_REKP_D.SACH_GERAET, DBSTAL_REKP_D.MENGE, DBSTAL_REKP_D.VK_PREIS, DBSTAL_REKP_D.BEZ_PREIS, DBSTAL_REKP_D.IST_PREIS, DBSTAL_REKP_D.PREISEINH, DBSTAL_REKP_D.DATUMS_TAB_1, DBSTAL_REKP_D.DATUMS_TAB_3, DBSTAL_REKP_D.DATUMS_TAB_7, DBSTAL_REKP_D.DATUMS_TAB_8, DBSTAL_REKP_D.STATUS, 
     
    IIF(LEFT(DBSTAL_REKP_D.RET_POS_NR_GES,17) & "G" = DBSTAL_REKS_D.RET_POS_NR_GES , MID(DBSTAL_REKS_D.RET_POS_CODE,18, 3), "") AS [Code Type de Probléme], 
    IIF([Code type de Probléme] = DBSTAL_BEAG_D.[BEASCHL], DBSTAL_BEAG_D.BEAMSG_1, "") AS [Libellé Type de Probléme], 
     
    IIF(LEFT(DBSTAL_REKP_D.RET_POS_NR_GES,17) & "F" = DBSTAL_REKS_D.RET_POS_NR_GES , MID(DBSTAL_REKS_D.RET_POS_CODE,18, 3),"" ) AS [Code Défaut Constaté], 
    IIF([Code Défaut Constaté] = DBSTAL_BEAG_D.[BEASCHL], DBSTAL_BEAG_D.BEAMSG_1,"" ) AS [Libellé Défaut Constaté], 
     
    IIF(LEFT(DBSTAL_REKP_D.RET_POS_NR_GES,17) & "W" = DBSTAL_REKS_D.RET_POS_NR_GES , MID(DBSTAL_REKS_D.RET_POS_CODE,18, 3), "") AS [Code Décision Commerciale], 
    IIF([Code Décision Commerciale] = DBSTAL_BEAG_D.[BEASCHL], DBSTAL_BEAG_D.BEAMSG_1, "") AS [Libellé Décision Commerciale], 
     
    IIF(LEFT(DBSTAL_REKP_D.RET_POS_NR_GES,17) & "A" = DBSTAL_REKS_D.RET_POS_NR_GES , MID(DBSTAL_REKS_D.RET_POS_CODE,18, 3), "") AS [Code Résultat Contrôle], 
    IIF([Code Résultat Contrôle] = DBSTAL_BEAG_D.[BEASCHL], DBSTAL_BEAG_D.BEAMSG_1, "") AS [Libellé Résultat Contrôle]
     
    FROM (DBSTAL_REKS_D INNER JOIN DBSTAL_REKP_D ON DBSTAL_REKP_D.RETOURNR = DBSTAL_REKS_D.RETOURNR) INNER JOIN DBSTAL_BEAG_D ON MID(DBSTAL_REKS_D.RET_POS_CODE,18, 3) & "     " = DBSTAL_BEAG_D.BEASCHL;

    Le probléme vient du resultat,les premieres selections ne pose pas de probléme par contre le probléme vient au moment ou j'utilise les IIF!!!!!
    Comme il y a 4 type de IIF, j'obtiens un multiplication des champs (voyez le fichier joint qui est une copie d'ecran des ce que j'obtiens)
    Vous pourrez remarquer que j'obtiens quasiment tout le temps 4 fois le meme "retournr" avec un coup les champs "type" remplie et le reste vide, puis les champs "défaut" remplie et le reste vide, ...
    Ce que souhaiterai c'est avoir les donnée caractérisant le meme code "retournr" aligné sur une meme ligne!

    J'ai testé en faisant un select max sur ces champs "type","defaut",... et en regroupant par "retournr" mais rien ne fonctionne, j'ai aussi tester de creer la meme base mais juste avec les enregistrements du "type" au débt, pour lui rajouter les "défaut" , par la suite avec un ajout puis les 2 autre type de champs comme cela, mais ca a donné le meme resultat.

    Je deséspere, quelqu'un aurait la solution????


    Merci beaucoups a vous.

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Fais un group by

  3. #3
    Membre régulier
    Inscrit en
    Août 2002
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 157
    Points : 112
    Points
    112
    Par défaut
    ca serait peut etre plus simple de le faire dans le programme en vba au liue de le mettre dans la requette

  4. #4
    jnore
    Invité(e)
    Par défaut
    Usine à gaz....

  5. #5
    Membre du Club Avatar de crovette51101
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 73
    Points : 57
    Points
    57
    Par défaut
    je sais que c'est une usine a gaz mais je n'ai pas trouvé comment faire!
    En ce qui concerne le group by,ca ne veut pas se faire car il faudrait une somme ou un complément pour regroupant un ou plusieurs champs ce que j'ai testé mais qui m'a renvoyé le meme resultat

  6. #6
    Membre du Club Avatar de crovette51101
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 73
    Points : 57
    Points
    57
    Par défaut
    Plus besoin de chercher!J'ai trouvé la solution, en fait je fait un selct max() sur tous les IIF (ce que j'avais deja fait) par contre pour le group by je ne prenais que le champs "retournr" alors qu'il fallait prendre tous ceux sur lesquelle on ne fait pas select max()!
    Désolé de t'avoir contredit heureu olly mais c'est bien toi qui avais raison, seulement je ne l'avais pas vu comme ca!
    Merci a toutes et a tous.

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

Discussions similaires

  1. Multiplication des enregistrements
    Par papagei2 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 11/12/2007, 22h41
  2. HELP!Comment supprimer des enregistrements de tables jointes
    Par ROOTPARIS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/06/2004, 16h41
  3. Réponses: 7
    Dernier message: 21/04/2004, 17h16
  4. Réponses: 3
    Dernier message: 29/12/2003, 13h47
  5. Enlever tous les M&Mme des enregistrements
    Par marc olivier dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 17/07/2003, 12h24

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