arkadaşlar merhaba,
d6 kullanıyorum .Gunluk_maliyet ve ek_gostergeler tablom var
döngü olarak gunluk_maliyet tablomdaki personelin ek_gostergesine karşılık olarak, sorgu kullanarak ek_gosterge tablosundan ilgili ek gösterge karşılığını okutarak bazı hesaplamalar yapmak istiyorum. Bu nedenle aşağıdaki kodu yazdım.
Ancak bu kod gunluk_maliyet tablosundaki ilk kayıt için çalışıyor. Sonraki kayıtlar işlem yapmıyor. Acaba nerede mantık hatası yapıyorum?
dm1.gunluk_maliyet_table.First;
while not dm1.gunluk_maliyet_table.Eof do
begin
dm1.genel_sorgu.Close;
dm1.genel_sorgu.SQL.Clear;
dm1.genel_sorgu.SQL.Add('select katki_bedeli from ek_gostergeler where ek_gosterge=:ek_gosterge');
dm1.genel_sorgu.Prepare;
dm1.genel_sorgu.ParamByName('ek_gosterge').AsInteger:=dm1.gunluk_maliyet_tableek_gosterge.Value;
dm1.genel_sorgu.Open;
dm1.gunluk_maliyet_table.edit;
dm1.gunluk_maliyet_tablemisafir_bedeli.Value:=
dm1.genel_sorgu.fieldByName('katki_bedeli').AsFloat * 15 / 32 ;
dm1.gunluk_maliyet_table.post;
end;
dm1.gunluk_maliyet_table.Next;
Ancak koddan aşağıdaki bölümü çıkarınca döngü tüm kayıtları tarıyor. Bu defa ise hesaplama yapamamış oluyorum.
dm1.gunluk_maliyet_table.edit;
dm1.gunluk_maliyet_tablemisafir_bedeli.Value:=
dm1.genel_sorgu.fieldByName('katki_bedeli').AsFloat * 15 / 32 ;
dm1.gunluk_maliyet_table.post;
döngü çalışmıyor
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: döngü çalışmıyor
Merhaba,danaci yazdı:...
dm1.gunluk_maliyet_table.post;
end;
dm1.gunluk_maliyet_table.Next;
...
Sanırım .next'i while bloğuna alırsan işini görür. Yani :
Kod: Tümünü seç
dm1.gunluk_maliyet_table.Next;
end;
Kolay gelsin.
Re: döngü çalışmıyor
Mustafa hocam,
cevabınız için tşk ederim. "Sanırım .next'i while bloğuna alırsan işini görür. " demişsiniz. Ben kodu foruma yazarken hatalı yazmışım.Yani table.next begin.. end bloğu içerisinde.
Fakat mevcut verileri aynı blok içerisinde farklı bir table'a post edince döngü sorunsuz çalışıyor.Şöyleki
gecici adında bir table oluşturdum.
while not dm1.gunluk_maliyet_table.Eof do
begin
dm1.genel_sorgu.Close;
dm1.genel_sorgu.SQL.Clear;
dm1.genel_sorgu.SQL.Add('select katki_bedeli from ek_gostergeler where ek_gosterge=:ek_gosterge');
dm1.genel_sorgu.Prepare;
dm1.genel_sorgu. ParamByName('ek_gosterge').AsInteger:=dm1.gunluk_maliyet_tableek_gosterge.Value;
dm1.genel_sorgu.Open;
dm1.gecici_table.Append;
dm1.gecici_tableyemek.Value:=
((dm1.genel_sorgu.fieldByName('katki_bedeli').AsFloat * yemek_maliyeti_tablekalan)
/ katki_carpani) ;
dm1.gecici_table.Post;
dm1.gunluk_maliyet_table.Next;
end;
Aradaki fark şu. dm1.gunluk_maliyet table edit-post ile güncelleme yaparken çalışmıyor ,yeni oluşturduğum gecici table'a append-post ile kayıt eklerken çalışıyor. Asıl sıkıntı burada.
iyi çalışmalar
cevabınız için tşk ederim. "Sanırım .next'i while bloğuna alırsan işini görür. " demişsiniz. Ben kodu foruma yazarken hatalı yazmışım.Yani table.next begin.. end bloğu içerisinde.
Fakat mevcut verileri aynı blok içerisinde farklı bir table'a post edince döngü sorunsuz çalışıyor.Şöyleki
gecici adında bir table oluşturdum.
while not dm1.gunluk_maliyet_table.Eof do
begin
dm1.genel_sorgu.Close;
dm1.genel_sorgu.SQL.Clear;
dm1.genel_sorgu.SQL.Add('select katki_bedeli from ek_gostergeler where ek_gosterge=:ek_gosterge');
dm1.genel_sorgu.Prepare;
dm1.genel_sorgu. ParamByName('ek_gosterge').AsInteger:=dm1.gunluk_maliyet_tableek_gosterge.Value;
dm1.genel_sorgu.Open;
dm1.gecici_table.Append;
dm1.gecici_tableyemek.Value:=
((dm1.genel_sorgu.fieldByName('katki_bedeli').AsFloat * yemek_maliyeti_tablekalan)
/ katki_carpani) ;
dm1.gecici_table.Post;
dm1.gunluk_maliyet_table.Next;
end;
Aradaki fark şu. dm1.gunluk_maliyet table edit-post ile güncelleme yaparken çalışmıyor ,yeni oluşturduğum gecici table'a append-post ile kayıt eklerken çalışıyor. Asıl sıkıntı burada.
iyi çalışmalar
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Re: döngü çalışmıyor
dm1.gunluk_maliyet sorgusunu paylaşabilir misiniz!
Sorguda JOIN ile başka bir tabloyla bağlantı olabilir mi acaba?
Sorguda JOIN ile başka bir tabloyla bağlantı olabilir mi acaba?