bonjour
j'utilise une requete qui permet de reperer les doublons(tous les champs sont identique y compris l'identifiant PART) d'une table
voici le code:
cette requete trouve tous les enregistrement doublon ,ces doublons sont afficher dans un DBGrid.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT NUMTR, PART, CLE,MON, MONTANT, count (*) as Resultat FROM client Group by NUMTR, GL, PART, CLE,MON, MONTANT
mon pb et de supprimer ces doublos de la table client
j essayer ça :mais ca n'a pas marcher puisque le PART n'est pas unique ,en peut avoir plusieurs record avec le meme PART ( j'utilise DBASE (*.dbf)) donc il peut supprimer un record qui n'est pas doublons.
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
21 QR1.Open; QR1.First; While not QR1.Eof do begin NbreLigne :=QR1.FieldByName('Resultat').AsInteger; if NbreLigne>1 then begin For i:=1 to NbreLigne-1 do begin QR2.Close; QR2.SQL.Clear; //QR2.SQL.Add('Delete from client where PART='+QR1.FieldByName('PART').AsInteger; ); QR2.ExecSQL; end; end; QR1.Next; end; QR1.Close;
j pensé aussi a BATCHMOVE qui supprime tous les elements qui se trouve dans la source(qr1) dans la table(client) mais ici je touve pas comment preserver un seul enregistrement.
il y'a une solution a ce probleme?
MERCI D'AVANCE
Partager