filtreleme ile ilgili bir türlü olmuyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
zaxacm
Üye
Mesajlar: 129
Kayıt: 05 Ara 2005 05:48

filtreleme ile ilgili bir türlü olmuyor

Mesaj gönderen zaxacm »

Arkadaşlar çıldırıcam bilgisayar dünyasında şu türkçe problemi nezaman çözülecek çıldırıcam.
Birtürlü yapamıyorum.Veritabanı olarak access kullanıyorum ve kayıt yaparken isimlerin ilk harflerini büyük olarak kaydediyorum.Sonra aşağıdaki kodları kullanarak veritabanında isim aratıyorum.

procedure TFgenel.Edit1KeyPress(Sender: TObject; var Key: Char);
var
sql1 ,sql2,s,kriter : string;
begin
datasource1.DataSet := ADOQuery1;
sql1 := 'select * from ' + tabloadi;
sql2 := 'where '+kriter+' like "' + s + '%"'+ ' or '+kriter+' like "' + uppercase(s) + '%"';
ADOQuery1.Active := false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sql1);
ADOQuery1.SQL.Add(sql2);
ADOQuery1.Active := true;
end;
end;

Güzel çalşıyor Ancak sadece i ve ı harfinde sorun çıkarıyor.

eğer
küçük harf ile edit1e i yazarsam ı ile başlayan kayıtları gösteriyor
küçük harf ile edit1e ı yazarsam hiç kayıt göstermiyor.

eğer
capslocku açıp büyük harf yazdırırsam oluyor ama bu seferde ikinci harfler i ve ı olursa büyük yazdığı için hata veriyor.Bunu nasıl çözeceğm acaba.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7604
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

maalesef bu genel bir sorun. Kendinize özel bir uppercase fonksiyonu yazmanız lazım. Daha önce forumda örnek kodlar verildi.

Kolay gelsin.
Cevapla