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
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
Tu mets une bascule sur le premier enregistrement trouvé et tu supprimes les autres ?![]()
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:
mais cela ne fonctiopnnne pas, j'ai l'impression que l'on peut pas faire deux fois recherhce sur une table....
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
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.
merci pour ta reponse, j'ai entre temps trouvé la solution, voici le code:
Cela ressemble d'ailleurs a ce que tu proposes!
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")
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager