Şimdi Ara

stok cari takip veritabanı sorunu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
4 Misafir (1 Mobil) - 3 Masaüstü1 Mobil
5 sn
7
Cevap
0
Favori
1.334
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • SQL de Arkadaşlar CariKart isminde bir tablom var bu tablo müşterilerin bilgilerini tutuyor.Yaklaşık 30 tane değişkeni var . Borc,Alacak ve Bakiye kolonları birtakım işlemlerden geçip öyle hesaplanacak.

    Borc = Devir+Ödeme+Ciro+İadeFaturası+kdv+Diger;
    Alacak=Devir+Ödeme+Ciro+İadeFaturası+kdv+Diger;
    Bakiye=Alacak-Borc;

    Şimdi benim düşüncem 2 ayrı tablo yapmak Borc ve Alacak diye Sonra bunların farkını Bakiyede tutmak. Ama ilişkilendirmede tabloları zorluk çekiyorum.
    Her müşterinin bir tane Borc hanesi bir tane alacak hanesi olması lazım.Bakiye diye bir tablo açmam gerekir mi nasıl ilişkilendireceğim
    Benim düşüncem yanlış mı fikir verecek olan var mı



  • Merhaba
    Database olarak ne kullanıyorsunuz... ?
    Eğer MSSQL kullanıyorsanız.. Çok basit bir çözümü var ..
    Borç, Alacak ve Bakiye alanlarını hesaplanacak şekilde ayarlamanız.
    Sözkonusu formülleri database properties penceresinde ilgili alanın
    Formulas özelliğine girerek sorunu çözebilirsiniz.. Tek bir tabloda..
    Ancak daha basit bir database kullanıyorsanız.Örneğin Access;
    O zaman SQL cümlesi ile sorunu çözebilirsiniz..

    UPDATE CariKart
    SET Borc = Devir+Ödeme+Ciro+İadeFaturası+kdv+Diger,
    Alacak=Devir+Ödeme+Ciro+İadeFaturası+kdv+Diger;


    UPDATE CariKart SET Bakiye=Alacak-Borc;

    Cümleleri, yine başka tablo oluşturmadan problemi çözmenizi sağlayabilir.
    İyi Çalışmalar...
    Saygılarımla.........
  • Başka tablo oluştursam daha iyi çünkü CariKart tablosu iyice şişti 40 a yakın değişkeni var bunları da eklersem 50 yi bulacak ama söylediklerin işime yarayacak yine de saolasın
    MSsql kullanıyorum veri tabanı olarak

    Başka tablo kullanınca sorun Her carinin bir borc bir alacak tablosunun olması gerekmesi.Burada carikod kısmını primary key yapmam gerekiyo ancak o zamanda ilişki kuramıyorum Carikart tablosu ile Sorun burda
  • Önemli değil yardımcı olabildiysem sevinirim...
    Madem ki MSSQL kullanıyorsun O zaman başka bir seçenekte Carikart tablosuna Trigger yazmak olabilir. Yani Carikart tablosundaki ilgili kolonlar Update veya insert olduğunda Borç ve Alacak
    tablolarına kayıt yapabilir veya güncelleyebilirsin... Mesela ;

    CREATE TRIGGER borc_alacak_trigger
    ON CariKart
    FOR INSERT, UPDATE
    AS
    BEGIN
    DECLARE @Devir int
    DECLARE @Ödeme int
    DECLARE @Ciro int
    DECLARE @iadeFat int
    DECLARE @kdv int
    DECLARE @diger int

    DECLARE @borc int
    DECLARE @alacak int
    DECLARE @bakiye int
    DECLARE @musteri_id int


    SELECT @musteri_id = musteri_id,
    @Devir = Devir,
    @Ödeme = Ödeme,
    @Ciro = Ciro,
    @iadeFat = İadeFaturası,
    @kdv = kdv,
    @diger = Diger FROM inserted

    SET @borc = @devir+@Ödeme+@Ciro+@iadeFat +@kdv+@diger
    SET @alacak=@devir+@Ödeme+@Ciro+@iadeFat +@kdv+@diger
    SET @bakiye=@alacak - @borc

    IF (EXISTS(SELECT * FROM borctablo WHERE musteri_id = @musteri_id ))
    BEGIN
    UPDATE borctablo SET borc = @borc WHERE musteri_id = @musteri_id
    UPDATE alacaktablo SET alacak = @alacak WHERE musteri_id = @musteri_id
    UPDATE bakiyetablo SET bakiye = @bakiye WHERE musteri_id = @musteri_id
    END ELSE BEGIN
    -- veya
    INSERT INTO borctablo (musteri_id, borc) VALUES ( @musteri_id, @borc )
    INSERT INTO alacaktablo (musteri_id, alacak) VALUES ( @musteri_id, @alacak )
    INSERT INTO bakiyetablo (musteri_id, bakiye) VALUES ( @musteri_id, @bakiye )
    END
    END


    şeklinde bir şey olabilir....
    İyi çalışmalar
    Saygılarımla.............




  • bU YAPtığımız triggerı program içinde çağırmamız gerekiyo mu yoksa kayıt girdikçe kendi otomatik olarak mı çalışıyo
  • Bu trigger database üzerinde olup veritabanı penceresinden
    tabloya kayıt ekleyip güncellediğinde bile otomatik olarak
    çalışıyor.. Dolayısı ile program içerisinden çağırılmıyor..
  • Çok SAolasın çağlayan
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.