Koda Bir Göz Atabilir misiniz?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Koda Bir Göz Atabilir misiniz?

Mesaj gönderen canset »

Herkese hayırlı akşamlar;

Table1(Kategori) ve Table2(Yemek Listesi) tablolarını birbirlerine bağladım. Kategori gridindeki aktif satır vasıtası ile o kategoriye ait yemekleri alıyorum. Yemek Listesinden de müşterinin istediği ürünün üzerine double click ile satışın bağlı olduğu gride aktarmak istiyorum..

Fakat şöyle bir sorun ortaya çıkmakta:

Resim

İlk kategori olan Döner'den seçme yaptığımda aktarımda herhangi bir sorun yok...

Resim

Fakat diğer kategorilerden, mesela meşrubatlardan herhangi birisini seçtiğim (cola veya ayran) zaman, diğer gride döner aktarılmakta...

Yazmaya çalıştığım kod aşağıdaki şekilde...

Kod: Tümünü seç

procedure TFORMSIPARIS.DBGrid1DblClick(Sender: TObject);
var
i:integer;
top:double;
begin

table5.Edit;
table5MIKTAR.AsString:= edit2.Text;

   table4.FindKey([dbgrid1.fields[0].text]);
if dbgrid1.Fields[0].Text= table4YEMEKADI.Text then
   begin
   table4.Edit;
   table4MIKTAR.Value:= table4MIKTAR.Value+ table5MIKTAR.Value;
   table4.First;
   edit2.Text:= '1';
   top:= 0;
   while not (table4.Eof) do
   begin
   top := top+table4TUTAR.AsCurrency;
   table4.Next;

   end;
   table5TOPTUT.AsCurrency:= top;
   end else
     begin
     table1.Open;
     table4.Insert;
     table2.FindKey([dbgrid1.fields[0].text]);
     table4YEMEKADI.Text:= table2YEMEKADI.Text;
     table4FIYAT.AsCurrency:= table2FIYAT.AsCurrency;
     table4MIKTAR.Value:= table5MIKTAR.Value;
     table4TUTAR.AsCurrency:= table4MIKTAR.Value*table4FIYAT.Value;
     edit2.Text:='1';
     table4.First;
     top:= 0;
     while not (table4.Eof) do
     begin
     top:= top+table4TUTAR.AsCurrency;
     table4.Next;
     table2.Close;
     table2.Open;
     end;
   table5TOPTUT.AsCurrency:= top;
   end;
end;
Acaba nerede hata yapıyorum?
En son canset tarafından 20 Eki 2005 07:53 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Mesaj gönderen canset »

Ayrıca table4'ü tampon bir table olarak düşündüm, kayıt yapmadan sadece satışı gösterebilmek amacıyla kullanıyorum, daha sonra kasa için oluşturacağım table'a buradan aktarım da yapabileceğim..
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Table1 Kategori_Id ve Kategori_Adi,
Table2 Kategori_Id, Yemek_Id ve Yemek_Adi alanlarından oluşacak.
Ayrıca diğer Table4 de Siparis_Id, Kategori_Id, Yemek_Id, Fiyati, Miktar ve Tutar alanlarından oluşacak. Malum yemek adı yemek tablosundan (Table2) den lookup lanacak. Kategori (table1) master, yemekler (table2) detay tablo olarak eşlenecek. Table4 e ekleme yapacağın zaman ilgili alanlar yukarıdaki yapıya göre ekliyorsan sorun çıkmamalı.

Ekleme yaparken

Kod: Tümünü seç

Table4.Append;
Table4.FieldByName('Siparis_Id').AsInteger := Table4.RecordCount + 1;
Table4.FieldByName('Kategori_Id').AsInteger := Table2.FieldByName('Kategori_Id').AsInteger;
Table4.FieldByName('Yemek_Id').AsInteger := Table2.FieldByName('Yemek_Id').AsInteger;
Table4.Post;
:idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Cevapla