delphide yapmış olduğum projemde veritabanı olarak access kullanıyorum. veritabanımda float olan bir alan var.
Bu alandaki değerler 0-100 değişiyor.
dışardan girdiğim bi değerle bu alandaki değeri karşılaştıracağım. ve bana getirirken dışardan girdiğim sayının 3
eksiğinden 100 e kadar getirmesi gerekiyor. Mesela dışardan 6 girdiğim zaman 3 le 100 arasındaki değeleri getiriyor.
Ama ben 6,5 girdiğim zaman 3,5 la 100 arasını getirmesi gerekirken 0,0 dan başlayıp 100 e kadar getiriyor.
yani 3,5 sayısını algılamıyor. hiç girilmemiş gibi davranıp 0 dan itibaren listeleme yapıyor.
veritabanımda sayısal, sözel, eşit ağırlık, yabancı dil alanlarım var. Hangi alandaki editten sayı girersem gireyim
ona göre filtreleme yapacak. yani hem sayısal dan hem sözelden girdiysem ikisini bi değişkende toplayıp ona göre
filtreleme yapmam lazım. dediğim gibi ondalıksız sayılarda aşağıdaki kodu çalıştırıyor. ama ondalıklı sayı girince
çalıştırmıyor.
forumdaki daha önce sorulan soruları inceledim+denedim. ama olmadı. bu konuda yardımcı olabilirmisiniz?
yazdığım kodu gönderiyorum: burdaki;
goruntule => sorgum
goruntuleAlan => veritabanımdaki float alanım
soz08.text, say08.text => dışardan girilecek olan değer
goruntuleypuanturu => veritabanımda sayısal, sözel, eşit ağırlık, yabancı dil alanlar
Kod: Tümünü seç
p:='';
r:='';
veri.goruntule.First;
while not veri.goruntule.Eof do
begin
sayi08:=(veri.goruntuleAlan.AsFloat);
if adim2.soz08.Text<>'0' then
begin
if veri.goruntuleypuanturu.AsString='sözel' then
begin
soz08alt:=(strtofloat(adim2.soz08.Text)-3);
soz08ust:=100;
if ((sayi08)>(soz08alt)) and ((sayi08)<(soz08ust)) then
begin
if akil1=0 then
begin
if p='' then r:='' else r:=' or ';
p:=p + r +' (((Alan>'+ floattostr(soz08alt)+') and (Alan<'+floattostr(soz08ust)+')) and (ypuanturu='+'''söz'''+'))';
akil1:=1;
end;
end;
end;
end;
if adim2.say08.Text<>'0' then
begin
if veri.goruntuleypuanturu.AsString='say' then
begin
say08alt:=(strtofloat(adim2.say08.Text)-3);
say08ust:=100;
if ((sayi08)>(say08alt)) and ((sayi08)<(say08ust)) then
begin
if akil2=0 then
begin
if p='' then r:='' else r:=' or ';
p:=p + r +' ((Alan>'+ floattostr(say08alt)+' and Alan<'+floattostr(say08ust)+') and (ypuanturu='+'''say'''+'))';
akil2:=1;
end;
end;
end;
end;
end;
veri.goruntule.Filter:=p;
veri.goruntule.Filtered:=true;