| zengin | 23.07.2005 - 17:25:15 |
| S.A.
veritabanı FB 1.5 arkadaşlar fatura alanını gözönüne alabilirsiniz. bu tipteki bir yapıda miktar ve fiyat alanları değiştiğinde tutar hanesinin hesaplanması ve hemen akabinde tutar toplamının belirlenmesi. ben bu işi 2 adet dataset ile çözdüm ancak sum işlemi sadece form açılışlarında gerçekleşiyor. DBgriddeki değerler değiştiğinde select sorgusunu yapmama rağmen sum işlemi gerçekleşmiyor. tabi bu işlemin gerçekleşmemesini fb nin anında kayıtları vt ye yazmaması olarak düşünübiliriz. ancak miktar ve fiyat field lerinin oncahnge olaylarına önce transaction commitretaining kodunu hemen arkasına da sum sorgusunu yazıyorum ancak bişey değişmiyor. bu işlemi kalasik top := top + IBDataset1Fiyat.ascurrency işlemi ile yapıyorum ancak kayıtların milyon hanede olduğunu düşünürsek bu işlemin zaman açısından sorun çıkaracağı kanatindeyim. field lerdeki değişim sonucunu sum ile nasıl sağlarız. | |
| Uğur1982 | 23.07.2005 - 17:48:04 |
| merhaba;
Böyle olaylarda kademeli olarak gitsen daha iyi olur.BreakPoint koyarakta yapabilirsin.Yani ilk önce değişikliğin veritabanına uygulandığından emin olmalısın,gerçekten kayıt yapıyor mu.Ibexpert'e bakarak öğrenebilirsin vs. .Toplamı grid de gösteriyorsan,sorgu çektiğin dataset'i close,open yapmalısın. Yani gride IBQuery1 bağlı diyelim.. With IBquery1 do
begin Sql.Clear; SQL.Add('select Sum(Tutar) as ToplamTutar from TabloAdi'); Close; Prepare; Open; Label1.Caption:=IBQuery1.FieldByName('toplamTutar').AsFloat; //Grid kullanmıyorsan direk bir labele de aldırabilirsin... end; Bu aşamalardan sonra ,sorun çıkmasının hiç bir nedeni yok(M$ durumları hariç) :D iyi günler... | |
| zengin | 23.07.2005 - 18:08:36 |
| kardeş dediğin işlemler gerçekleşiyor zaten elbette vt ye kayıt yapıyor. ancak 2 datasetin aynı tablelere bağlanması bu aşamada sorun çıkarıyor olabilir. close open metotlarıda bir işe yaramadı. kaldıki select ifadedisinin tekrar yazılması esnasında zaten close open oluyor. bence de anlamsız ancak mutlaka bir sebebi vardır diye düşünüyorum. | |
| pro_imaj | 25.07.2005 - 10:18:25 |
| Merhaba,
Siz bu alanları Calc alanı olarak mı tanımladınız acaba ama belirttiğiniz şekilde böyle tanımlanmamış yinede belirteyim dedim. bence sum fonk. düzgün çalışmaması için bir neden gözükmüyor. sorun u aşama aşama çözmenizde fayda var. | |