forumda baya geçmiş bu konu. bir topikte toplanacak alanın integer olması gerekiyor diye söylenmiş. sorunuma gelince tablomda giristutarı isimli float alanım var. deneme amaçlı 4 adet kayıt girdim ve sorgulama kısmında iki tarih aralığında kayıtları bulduruyorum ardından girismiktarı alanı(integer) ile giristutarı(float) alanlarını toplatmak istiyorum ve iki dbedit içinde göstermek istiyorum. kod çalışıyor ve kayıtları buluyor toplamları alıyor görünüyor. burada soruna geliyoruz. bu dört adet kayıdın üçüncü sırasında bulunan verinin girismiktarı ve giristutarını veriyor kod. baya garip geldi boş dönmüyor hata vermiyor üçüncü sıradaki kayıtın sonucunu veriyor. forumda geçen örnekleri inceledim benim koddan farkı yok gibi ama bir yerde de hata yaptağım belli. daha iyi anlaşılabilmesi için kodları veriyorum.
Kod: Tümünü seç
procedure TFormUrunGirisSrg.JvXPButton7Click(Sender: TObject);
var
tarih1,tarih2:tdate;
begin
urungirissrgibquery.Close;
urungirissrgibquery.SQL.Clear;
urungirissrgibquery.SQL.Add('select*from URUN_GIRIS');
urungirissrgibquery.SQL.Add('Where GIRIS_TARIHI Between :tarih1 and :tarih2');
urungirissrgibquery.ParamByName('tarih1').AsDate:=jvdateedit3.Date;
urungirissrgibquery.ParamByName('tarih2').AsDate:=jvdateedit4.Date;
urungirissrgibquery.Open;
urungirissrgibquery.Last;
if urungirissrgibquery.IsEmpty then
showmessage('Aradığınız Kayıt Bulunamadı?');
miktartoplaibquery.Close;
miktartoplaibquery.SQL.Clear;
miktartoplaibquery.SQL.Add('select sum(GIRIS_MIKTARI) AS ADET1');
miktartoplaibquery.SQL.Add('from URUN_GIRIS');
miktartoplaibquery.SQL.Add('where GIRIS_TARIHI between :tarih1 and :tarih2');
miktartoplaibquery.SQL.Add('group by GIRIS_MIKTARI');
miktartoplaibquery.ParamByName('tarih1').AsDate:=jvdateedit3.Date;
miktartoplaibquery.ParamByName('tarih2').AsDate:=jvdateedit4.Date;
miktartoplaibquery.Open;
miktartoplaibquery.Last;
if miktartoplaibquery.IsEmpty then
dbtext2.Caption:='0';
tutartoplaibquery.Close;
tutartoplaibquery.SQL.Clear;
tutartoplaibquery.SQL.Add('select sum(GIRIS_TUTARI) AS ADET2');
tutartoplaibquery.SQL.Add('from URUN_GIRIS');
tutartoplaibquery.SQL.Add('where GIRIS_TARIHI between :tarih1 and :tarih2');
tutartoplaibquery.SQL.Add('group by GIRIS_TUTARI');
tutartoplaibquery.ParamByName('tarih1').AsDate:=jvdateedit3.Date;
tutartoplaibquery.ParamByName('tarih2').AsDate:=jvdateedit4.Date;
tutartoplaibquery.Open;
tutartoplaibquery.Last;
if tutartoplaibquery.IsEmpty then
dbtext3.Caption:='0,00';
end;
kolay gelsin saygılar