Favorilerine Ekle | Giriş Sayfan Yap | Tavsiye Et

 

Kurs Tanıtım Sayfası | Süper Üye Kimdir? | Menü Tasarımı Konulu Örnek Ders
Kod İndir| Hazır Kodlar | Makaleler| İpuçları | VB .NET Kursu | Dersler | Forum | Alt Bölümler | Servisler
    Merhaba Misafir
    anasayfa » visual basic makaleleri » Yine Trigger ve İleri Düzey Kullanım
Üye Girişi
Kullanıcı Adı:  
Şifre : 
Kaydet ?
Siteden tam olarak faydalanabilmek için üye olmalısınız.
Unuttuğunuz şifrenizi öğrenebilmek için kayıt sırasında verdiğiniz Hatırlatma Cevabı'nı bilmeniz gereklidir.
Şifre hatırlatma işlevini sadece 3 defa kullanma hakkınız vardır.
Kullanıcı adını ve şifresini unutan üyelere email ile yardım verilmez.

Aktivasyon Gelmedi mi?Aktivasyon mesajınız email adresinize gelmedi mi?
Buraya tıklayarak bir kez daha aktivasyon mesajı gönderilmesini sağlayabilirsiniz.
Lütfen email hesabınızın BULK ve SPAM klasörlerini de kontrol ediniz.
Rastgele Makale

menuden saat ogrenme

Yazar: about one

Webmasterlar
Sitenize Ekleyin!
Sitenizde "Son Eklenen 10 Visual Basic Yazısı"'nı göstermek ve içeriğini zenginleştirmek için buraya tıklayınız.

Vbasicmaster.com'a link verin!
Aşağıdaki minik banneri sitenize eklemek için tıklayın!

Üye Sayısı:
Ziyaretçiler nerede?
Yayın № : 11328
Yayın Tar:28.04.2009
Yazar : bunnypeople
Hit :1312

Bu Yazarın Yazıları Sadece bu yazarın makale göster
Bu Yazıyı Tavsiye Et

Elinizde Bir Stok Tablonuz var. Stok tablonuzda alım ve satış malzemeleri şeklinde kayıtlarınız var. Alım malzemesinin biri ana stok olarak kayıtlı.
Örneğin : KUM olsun . Bu bir kum ocağı mantığı.
Ana stok kum olunca bunun alımı biraz tuhaf oluyor. Yani TIR veya KAMYON ile alınıyor. Satışı daha da tuhaf. TRAKTÖR veya KEPÇE veya metreküp olarak satılabiliyor. Şimdi;

TIR : 13 mtküp
KAMYON : 7 mtküp
TRAKTÖR : 2 mtküp
KEPÇE : 1.2 mtküp

şimdi nasıl stok takibi yaparsınız..

burada işe triggerler yardımıyla stok takibi ekleyebilirsiniz..

Alım Triggeri olarak :
CREATE Trigger ServisAlimHesaplama on dbo.ServisAlim
for insert
AS

declare
@adet decimal,
@kayit int

select @kayit = kayitno, @adet = miktar from Inserted

update dbo.Stok set dbo.Stok.miktar = dbo.Stok.miktar + @adet
where dbo.Stok.stokkodu = (select stokkodu from Inserted)

update ServisAlim set tutar = miktar * fiyat
where kayitno = (select @kayit from Inserted)

şeklinde mtküp değeri ile stok artırılabilir.

peki satışta nasıl yapacaksınız? tır, kamyon, kepçe, traktör tanımlarında stok tablosundaki mtküp kolonuna yazılan değerler ve ana stok olarak belirtilen kum stok adının stokkodunu tanımlayacağınız bir stok adına göre düşüm şöyle yapılıyor.

CREATE Trigger MusteriSatisSilme on dbo.MusteriSatis
for Delete
AS

declare
@adet decimal (18,2),
@metkup decimal (18,2),
@ana varchar (5)

select @adet = miktar,
@ana = anastok, @metkup = metrekup from Deleted

if @ana<>'' begin
update dbo.Stok set dbo.Stok.miktar = dbo.Stok.miktar + (@metkup * @adet)
where dbo.Stok.stokkodu = (select anastok from Deleted)
end
else
begin
update dbo.Stok set dbo.Stok.miktar = dbo.Stok.miktar + @adet
where dbo.Stok.stokkodu = (select stokkodu from Deleted)
end


yani anastokkodu boş olan satışlar normal düşüm ile anastokkodu boş olmayanlar da metreküp cinsinden düşüm yapılıyor. nereden düşülüyor. ana stok adı olarak ne tanımlıysa ondan düşüyor.




Yorumlar, eklemeler ve düşünceler
        vallahi beğendim looo

   krall1, 02.05.2009 17:12
© Hakan Ersöz 2000-2013| Üyelik Sözleşmesi | | Ödeme Bildirimi
Sitemizden yenilikleri hemen öğrenin, pop upları engelleyin, chat yapın... ToolBarımızı indirin:
Vasicmaster Toolbar'ı indirin