Elimde bir liste var (100000 kişi ) listede adres bilgileri var amacımız listedeki herkese gazete göndermek (derneğimizin ücretsiz gazetesi) fakat aynı adreste birden fazla kişi olabiliyor yani,
ADRES_IL_ADI
ADRES_ILCE_ADI
KAPI_NO
DAIRE_NO
aynı olan 5 kayıt varsa 1'e düşürsün 4 tanesini gizlesin (silebilirde backup var )
Kod: Tümünü seç
SN varchar(50) Checked
TC_NO varchar(50) Checked
ADI varchar(50) Checked
SOYADI varchar(50) Checked
ANA_ADI varchar(50) Checked
BABA_ADI varchar(50) Checked
CINSIYET varchar(50) Checked
DOGUM_YERI varchar(50) Checked
DOGUM_TARIHI datetime Checked
NUFUS_ILI varchar(50) Checked
NUFUS_ILCESI varchar(50) Checked
ADRES_IL_ADI varchar(50) Checked
ADRES_ILCE_ADI varchar(50) Checked
ADRES_MUHTARLIK varchar(50) Checked
ADRES_CAD_SOK varchar(50) Checked
KAPI_NO varchar(50) Checked
DAIRE_NO varchar(50) Checked
Eğer ekleyebilirsem bu koda eklemek istiyorum ama benim için önemli olan sonuç listeyi teke düşürsün de bu kod olmasada olur
Kod: Tümünü seç
Memo1.Clear;
DERNEK_LISTE_DB.Close;
DERNEK_LISTE_DB.sql.Clear;
DERNEK_LISTE_DB.SQL.Add('SELECT * FROM DERNEK_TABLO WHERE (DOGUM_TARIHI BETWEEN :Tar1 and :Tar2)');
DERNEK_LISTE_DB.Parameters.ParamByName('Tar1').Value := FormatDateTime('DD/MM/YYYY',DateTimePicker1.date);
DERNEK_LISTE_DB.Parameters.ParamByName('Tar2').Value := FormatDateTime('DD/MM/YYYY',DateTimePicker2.date);
if Edit3.Text<>'' then begin
DERNEK_LISTE_DB.SQL.Add(' and ADI='+QuotedStr(Edit3.Text)+'');
End;
if Edit4.Text<>'' then begin
DERNEK_LISTE_DB.SQL.Add(' and SOYADI='+QuotedStr(Edit4.Text)+'');
End;
Memo1.Lines.add(DERNEK_LISTE_DB.sql.text);
DERNEK_LISTE_DB.Open;
if DERNEK_LISTE_DB.Fields.Fields[0].Value= null then
showmessage(' Aradığınız Kriterlere uygun Kayıt Bulunamamıştır. ');
if DERNEK_LISTE_DB.Fields.Fields[0].Value> null then
ShowMessage(' Kriterlere Uygun # ' + inttostr(DERNEK_LISTE_DB.RecordCount)+ ' # Kişi Bulundu ');
StatusBar1.Panels[1].Text:='Kriterlere Uygun # ' + inttostr(DERNEK_LISTE_DB.RecordCount)+ ' # Kişi Bulundu '