firebirdde triger çalışıyor dediler bana
kusura bakmassanız eğer bu konuda ufacık bir kod parçası istesem ayp etmiş olurmuyum acaba
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Bence ayıp etmiş olursun Kod'unu yazmaya başla problem yaşadığın yerleri beraber düzeltelim.
ipucu veriyorum
Kod'da hata olabilir test etmedim.
Bunun gibi bir şey yapacaksın
Kolay Gelsin...
ipucu veriyorum
Kod: Tümünü seç
if (fis.kdv = is null) then
fis.tutar := fis.adet * fis.birimFiyat
else
fis.tutar := (((fis.adet * fis.birimFiyat) * fis.kdv) /100) + (fis.adet * fis.birimFiyat)
Kod'da hata olabilir test etmedim.
Bunun gibi bir şey yapacaksın
Kolay Gelsin...
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
trigger tarafında yazılacak kod klasik bir update kodu olacak.... yani
eger bunların toplamı bir master tabloya yazılacaksa da o zaman master tablonun butun detaylarının bu degerini toplayıp master'a update eden bir update kodu olmalı.... icinde bir sub query ile detay tablodaki toplamları bulabilir.....
Kod: Tümünü seç
Update TABLO set TOPLAM=BIRIM_FIYAT*ADET*(KDV+100)/100 where PRIMARY_KEY=new.PRIMARYKEY
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

sub query de nasıl yazılıyorfahrettin yazdı: eger bunların toplamı bir master tabloya yazılacaksa da o zaman master tablonun butun detaylarının bu degerini toplayıp master'a update eden bir update kodu olmalı.... icinde bir sub query ile detay tablodaki toplamları bulabilir.....
ben sub kelimesini visual basicten hatırlıyorum
ama burda nasıl kullanacağımı bilemiyorum
yapmak istediğim işi tam olarak fahrettin hocam tarif etmiş helal hocam ben bile böyle tarif edemezdim...
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Master ve detay tabloda ne gibi alanlar oldugunu en azından primary keylerinin ne oldugunu ve hesaba girecek alanların ne oldugunu belirtirseniz.... Daha somut bir fikir vermeye calisalim.... Fakat bu sırada seminer Seminer 6 ve 8 i bu anlamdaki açığı kapatmak amacıyla incelemenizi tavsiye ederim.....
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

Anladiğim kadarıyla @ALUCARD ın sorduğu daha kayıtı girerken miktar, birim fiyat ve kdv den tutarın anında hesaplatılması. AfterUpdate veya AfterInsert te bu işi yapabilirsin ama triggerların da tetiklenebilmesi kayıtı post etmene bağlı. Yoksa sen daha bilgileri girerken hesaplamaz. Fakat post ettiğin anda hesaplayıp veritabanına yazar.
Örn;
Bu yazım şekillerinden bir tanesi. Veri tabanının desteklediği değişik şekillerde sub-query yi kullanmak mümkün.
SubQuery sorgu içindeki başka sorgulara denir. Yani alt sorgu gibi..sub query de nasıl yazılıyor
ben sub kelimesini visual basicten hatırlıyorum
ama burda nasıl kullanacağımı bilemiyorum
Örn;
Kod: Tümünü seç
Select * from Tablo1 t1
where t1.uye_no in (select uye_no from tablo2) ...
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
@rsimsek hocam yani bili giriş anında toplam hesapları delphi tarafında yapacağım yanlış anlamadıysam...rsimsek yazdı:Anladiğim kadarıyla @ALUCARD ın sorduğu daha kayıtı girerken miktar, birim fiyat ve kdv den tutarın anında hesaplatılması. AfterUpdate veya AfterInsert te bu işi yapabilirsin ama triggerların da tetiklenebilmesi kayıtı post etmene bağlı. Yoksa sen daha bilgileri girerken hesaplamaz. Fakat post ettiğin anda hesaplayıp veritabanına yazar.
teşekkur ederim...
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
O işin klasik yolu.
Konu Trigger olduğuna göre işlemi orada yapmak daha mantıklı. Fakat o zamanda kayıtı post edince tutar kısmı hesaplanıp atanır. Buna dikkat etmek lazım. Yani kdv li tutarı after_update ve after_insert trigger lerine ayrı ayrı yazmak lazım. Post tan sonra commit/refresh yaparak hesaplanan tutarın görüntülenmesi sağlanabilir.
Konu Trigger olduğuna göre işlemi orada yapmak daha mantıklı. Fakat o zamanda kayıtı post edince tutar kısmı hesaplanıp atanır. Buna dikkat etmek lazım. Yani kdv li tutarı after_update ve after_insert trigger lerine ayrı ayrı yazmak lazım. Post tan sonra commit/refresh yaparak hesaplanan tutarın görüntülenmesi sağlanabilir.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
hocam bi dakka şimdi kafam karıştı
bu iş triger le olurmu olmazmı onu anlayamadım
ben bütün işi veritabanına yıkmak istiyorum.
mantıklı olanda bu zannedersen
bu iş triger le olurmu olmazmı onu anlayamadım
ben bütün işi veritabanına yıkmak istiyorum.
mantıklı olanda bu zannedersen
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
hocam teşekkur ediyorum ve hemen deniyorum
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR