iyi çalışmalar,
iki tabloyu fisno ile bağladım
ana tablo:
islemno +
fisno n
aracno i
soforno i
litre n
tutar $
detail tablo:
islemno +
fisno i
yukno i
sefersay n
tonaj n
yapmak istediğim detail tabloda kayıt bitince ana tablodaki litreyi detail tablodaki sefersayısının toplamına bölmesi ve ortalama yükü bulması. acaba sql in birini ana tabloya, diğerini detail tabloya bağlayıp detail tablonun datasourcesini anatabalonun sqldatasourceye bağlarsam nasıl bir yol izlemem gerekir.
yardım ederseniz sevinirim.
master-detail ortalama alma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
Eğer sadece iki alan arasındaki bir matematiksel işlem ve sonucu bir alana atayacaksan; detail tablonun beforepost unda yapabilirsin.
burada yukno alanı tamsayı olduğundan trunc ile işlemin tamsayı kısmını aldık.
Kod: Tümünü seç
Detail_Tablo.FieldByName(yukno).AsInteger :=
trunc(Ana_Tablo.FieldByName(litre).AsInteger / Detail_Tablo.FieldByName(sefersay).AsInteger);
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
sql de geçici alan olmaz. kullandığın veri tabanını (belirtmemişsin!) destekliyorsa compute field (hesaplanmış alan) olayı ile çözebilirsin. onun yerine Table nesnesine calculate field ekleyip yapabilirsin.
yukno alanını calculate field yaparsan tabloda da belirtmene ve yer tutmasına gerek kalmaz
yukno alanını calculate field yaparsan tabloda da belirtmene ve yer tutmasına gerek kalmaz

Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
Yukarıdaki işlemde de dediğin olay yapılıyor. Sadece küsüratlı sonuçlar tamsayı alana atayamıyacağımız için trunc kullanmak gerekiyor. Burada büyük değerler için küsürat ihmal edilebilir fakat mesela 10 dan küçük değerler için küsürat kısmı da önem arz edebilir. O zaman da yukno'yu double / float tanımlamak gerekir.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!