Kayıt arama işlemi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

Kayıt arama işlemi

Mesaj gönderen AliRiza »

Arkadaşlar arama yaptırıyorum.Eğer kayıt yoksa bazı işlemleri yapmamasını istiyorum.Buraya kadar herşey tamam .Şöyle bir problemim var.Kayıt yoksa Messagedlg ile gelen mesajda okeye mouse ile tıklandığında istediğim işlem gerçekleşiyor.Gelen mesaja enter tuşu ile okey dediğimde yapmak istediğim işlem gerçekleşmiyor.Ayrıca aramayı yaptırırken aslında locate metodunu kullanıyorum.Adoquery'nin locate metodu ile işlemi yapıyorum.Çünkü kayıt filtrelenmeden kayıta konumlanmam gerekiyor.Sadece kayıtın bulunup bulunmadığını aşağıdaki kodla kontrol ettriyorum.Bunu yapmamın nedenide locatede lopartialkey'in aktif olmasıdır.Yani kaydın ilk harfini vs. girerse kullanıcının sonuca erişmesi gerekiyor.

Kod: Tümünü seç

adoquery5.SQL.Clear;
 adoquery5.Close;
 adoquery5.SQL.Add('select * from allproducts where ntno LIKE'+QuotedStr('%'+xpEdit1.Text+'%'));
 adoquery5.Open;

 if (adoquery5.recordcount=0) then
 begin
   acilis:=1;
image2.Visible:=true;
xpedit4.Text:='';
xpedit5.Text:='';
xpedit6.Text:='';
memo1.Clear;
 Messagedlg('Search query record not found',mtwarning,[mbok],0);

end;
Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
Kullanıcı avatarı
pentiumkivanc
Üye
Mesajlar: 350
Kayıt: 19 Şub 2004 10:24
İletişim:

Mesaj gönderen pentiumkivanc »

Aramayı

Kod: Tümünü seç

 if adoquery1.locate('ntno', XpEdit1.text,[loCaseInsensitive, loPartialKey]) then
then showmessage('Bulundu') else
  else showmessage('Bulunamadı');
şeklinde yaptırsanız işinizi görürmü? Hem sanırım ado da fetchall yaptırmayada gerek yok.
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

Çok teşekkürler

Mesaj gönderen AliRiza »

Ben problemi giderdim.Problemin nedeni kayıt bulunduktan sonra dbgrid'e set etmem (dbgrid1.setfocus) oluyormuş.Adoquery'nin afterscroll olayıda tabiki buna sebep olmakta.Bende dbgrid yerine başka nesneye set ettim..
Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
Cevapla