Database içirsinde harf veya kelime Arama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
MiskinComez
Üye
Mesajlar: 19
Kayıt: 29 Nis 2014 04:40

Database içirsinde harf veya kelime Arama

Mesaj gönderen MiskinComez »

Merhabalar
yaklaşık 100.000 data girişi yapılmıs (dbase for windows) datam var.
örnek olarak ADI,Soyadi,Meslegi,tel,Adres,ili vs.vs.vs.
Edit1. e girilen harf kadar databasede aratabiliyorum.

örnek
With Edit1 do
if Text <> '' then
Table1.FindNearest([Text]);

dbgritte görünüyor ama
ama edit2 ve edit3 aracılığıyla arama yaptıramıyorum.

Edit1 edit2 Edit3 girilen harf kadar databasede arama yapan ve bulunan verileri listeliyeilecek program kodu varmı.
Delphi 7 kullanıyorum.

Saygılar kolay gelsin
ercanskose
Üye
Mesajlar: 62
Kayıt: 18 Eyl 2011 02:31

Re: Database içirsinde harf veya kelime Arama

Mesaj gönderen ercanskose »

daha açıklayıcı yazarmısınız çoklu aramamı yapmak istiyorsunuz.
örnek edit1 deki ahmet adında edit2 deki mesleği öğretmen ve edit3 teki istanbul da ikamet eden verileri listele gibi bişeymi. ben bunu anladım.
tayipk
Üye
Mesajlar: 284
Kayıt: 27 Kas 2013 11:32

Re: Database içirsinde harf veya kelime Arama

Mesaj gönderen tayipk »

sorgulama koduna

Kod: Tümünü seç

'edit1.text'+'edit2.text'+'edit3.text'
şeklinde ilerleyebilirsin. kolay gelsin
Soru Sorarken yazmaya Üşenmeyen Parmaklar Sorunun Çözüldükten Sonra Teşekkür etmeye de Üşenmesin.
Kullanıcı avatarı
Commandx
Üye
Mesajlar: 181
Kayıt: 01 Oca 2008 05:34

Re: Database içirsinde harf veya kelime Arama

Mesaj gönderen Commandx »

Kod: Tümünü seç


    ADOQuery1.Close;
    ADOQuery1.Sql.Clear;
      ADOQuery1.Sql.Add('Select * From TABLO1 Where ADI_SOYADI like "%'+Edit1.text+'%"');
    ADOQuery1.Open;


Kod: Tümünü seç

IBTable1.Filtered:=false;
IBtable1.Filter:='ADI_SOYADI like '+QuotedStr('%'+Edit1.Text+'%' );
IBTable1.Filtered:=true;
IBTable1.open;

Haa anladım çoklu arama (IBQery yerine ADOQuery de kullanabilirsin mantık aynı

Kod: Tümünü seç

ibQuery1.Close;
ibQuery1.SQL.Clear;
ibQuery1.SQL.Add('SELECT * FROM tablo1 WHERE ADI_SOYADI LIKE ''%'+Edit1.text+'%''  and TELEFONU LIKE ''%'+Edit2.text+'%'' and ADRES LIKE ''%'+Edit3.text+'%''     ')  ;
IBQuery1.SQL.Add('ORDER BY ADI_Soyadi ASC');

ibQuery1.Open;
http://www.delphibasics.co.uk/RTL.asp?Name=DaysBetween
http://www.neonhaber.com/Static/mega-co ... index.html
www.delphican.con
Function PARSE( text, ilk, son:String ): String; //
begin
Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);
Result := Copy(Text, 1, Pos(Son, Text)-1);
end;
MiskinComez
Üye
Mesajlar: 19
Kayıt: 29 Nis 2014 04:40

Re: Database içirsinde harf veya kelime Arama

Mesaj gönderen MiskinComez »

yardımlarınız için tesekkür ederim.
yapmak istediğim
örnek olarak söyle birsey
table1 de adı soyadı meseleği var diyelim
kayıt girişi yaparken aynı zamanda girilen kayıt varmı yokmu diye o esnada kontrol etsinki yeniden giriş süresini azaltayım.
aramak istediğim kişiyi hızlı listeleme istiyorum binlerce kayıt içersinde

edit1 table1 de adı na bağlı olsun A harfine basınca A ile baslayan tüm kayıtları dbgritte veya listelemede ekranın bir yerinde göstersin edit2 de table1 soyadına bağlı olsun Edit 2 ye girilen harfte B olsun soyadının ilk karekterini girince Adı A ile ve soyadı B ile başlayanları listelesin sadece
tabi edit3 ilede meseleğinin işlemini yaptık diyelim.
yani editlere girilen harf kadar database de arama yaparak filitreleme yapıp listelesin uygun olan ismi tıkladığımızda bilgilerini getirsin. yoksa yeni kayıt için devam etsin.
Cevapla