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

WinDev Discussion :

[windev11] comment supprimer les doublons avec l'editeur de requete.


Sujet :

WinDev

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 551
    Points : 260
    Points
    260
    Par défaut [windev11] comment supprimer les doublons avec l'editeur de requete.
    bonjour,

    Comment faire pour supprimer les doublons de nomRue dans ma table Rue?
    Si ce n'est pas possible avec l'editeur de requete, comment faire?

    Merci d'avance
    Nath

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Tu mets une bascule sur le premier enregistrement trouvé et tu supprimes les autres ?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 551
    Points : 260
    Points
    260
    Par défaut
    une bascule???

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Un boléen que tu bascules vrai/faux

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 551
    Points : 260
    Points
    260
    Par défaut
    Il me faut donc rajouter un champs dans ma table si je comprends bien ou c'est autre chose?
    Je suis pas sure de comprendre....

    En fait je voulais faire un truc du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    sRue est une chaîne
     
     
    HLitPremier(Rue)
    TANTQUE HTrouve(Rue)
    	sRue = Rue.nomRue
    	HLitRecherchePremier(Rue,Rue.nomRue,sRue)
    	HLitSuivant()
    	TANTQUE HTrouve() 
    		HSupprime(Rue)
    		HLitSuivant()
    	FIN
    	HLitSuivant()
    FIN
    mais cela ne fonctiopnnne pas, j'ai l'impression que l'on peut pas faire deux fois recherhce sur une table....

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    J'ai posté un peu vite tout à l'heure.
    Tu veux sortir tous les doublons pour toutes les rues (et pas les doublons d'une rue), donc ça ne marchera pas avec une simple bascule

    Le langage SQL (en w-langage du moins) ne propose pas une fonction de détection des "doublons".

    Donc il faut :
    parcourir le fichier du début à la fin
    pour chaque nouveau nom trouvé, ajout dans une table des noms trouvés
    lors de chaque lecture (sauf la première) comparaison de la valeur lue avec la table des noms trouvés
    Si le nom s'y trouve c'est un doublon --> suppression
    Si le nom ne s'y trouve pas --> ajout dans la table des noms trouvés.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 551
    Points : 260
    Points
    260
    Par défaut
    merci pour ta reponse, j'ai entre temps trouvé la solution, voici le code:

    Code : 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
    17
    18
    19
    20
     
    nNoEnregistrement est un entier
     
    HLitPremier(Rue)
    TANTQUE HTrouve(Rue)
    	REQ_SupprimeDoublonRue.PCodePostal=Rue.CodePostal
    	REQ_SupprimeDoublonRue.PNomRue = Rue.nomRue
    	REQ_SupprimeDoublonRue.pIdRue = Rue.IdRueParis
    	HExécuteRequête(REQ_SupprimeDoublonRue)
    	HLitPremier(REQ_SupprimeDoublonRue)
    	SI PAS HEnDehors(REQ_SupprimeDoublonRue) ALORS
    		SI OuiNon("Celui ci est a double     " + Rue.nomRue + " cp " + Rue.CodePostal + " id " + Rue.IdRueParis +RC...
    			     +"Voulez vous supprimer " +REQ_SupprimeDoublonRue.nomRue + " cp " + REQ_SupprimeDoublonRue.CodePostal +" id " + REQ_SupprimeDoublonRue.IdRueParis) ALORS
    			HSupprime(Rue) 
    		FIN
    	FIN
    	HLitSuivant(Rue)
    FIN
     
    Info("fin")
    Cela ressemble d'ailleurs a ce que tu proposes!

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

Discussions similaires

  1. Comment supprimer les doublons
    Par djelloulc dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 17/09/2013, 14h30
  2. Comment supprimer les doublons d'une table?!
    Par JauB dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/01/2006, 08h48
  3. Comment supprimer les doublons?
    Par Dnx dans le forum Langage SQL
    Réponses: 3
    Dernier message: 24/11/2005, 16h35
  4. [vbexcel]Comment supprimer les doublons dans une combobox?
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 24/11/2005, 11h12

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