• 19-03-2016, 21:02:55
    #1
    Merhaba şimdi benim contact_trans isminde bir tablom var.

    Tabloda yer alan amount isimli stundaki verileri toplama ve çıkartma işlemi yapmak istiyourm.

    neden hem çıkartma hem toplama? çünki contact_trans isimli tabloya satış ve tahsilat verileri giriyorum. amount isimli stunda TL cinsinden rakamlar yer almakta.

    çıktısı örnek:
    21850
    3250
    1500
    450
    280
    3800


    gibi.. ama bu verilerde

    +21850
    -3250
    +1500
    +450
    -280
    +3800

    Genel Toplam: 24630 TL

    gibi hesap yapmam gerekiyor. ve bunu yaparken tüm müşterilerin hesapları aynı tabloda olduğundan where contact_id ='2' gibi bir sınırlama ile tek müşterinin hesaplarının tolamını yapmam gerekiyor. + veya - olduğunu anlamak için ise trans_type isimli stundaki Credit ve Debit değerlerini kullanabiliriz.

    bunun için nasıl bir yol izlemeliyim. sum ile toplama işlemi yapılıyor bildiğim kadarı ile ama sum işlemi stundaki tüm verileri topluyor. ben aynı sotundaki verileri hem çıkartıp hem toplamak istiyorum.

    Tablo Yapısı:

    Tablo Adı: contact_trans
    Rakamların olduğu Stun Adı: amount
    Rakamların toplanıp çıkartılacağını belirleyen Stun ve değerleri: trans_type (debit ve credit değerleri ile toplama ve çıkartma yapabiliriz.)

    mesela aklıma gelen ilk şey if kullanımı

    if trans_type = "debit" then
    toplama işlemi
    else
    çıkartma işlemi
    end if

    gibi.



    bu konuda yardımcı olabiliecek birileri vardır umarım şimdiden herkese teşekkür ederim.
  • 20-03-2016, 00:51:12
    #2
    Neden negatif tutar kullanmıyorsun? Satış işlemi yapıldığında müşteriyi borçlandırmak için -100, tahsilat yapıldığında da 100 TL tutar gir. Böylece sadece SUM ile istediğin sonucu alabilirsin ve tutarın yönünü belirtmek için bir ek bir sütuna(trans_type) da ihtiyacın kalmaz.

    Ya da olaya daha muhasebesel yaklaşmak istiyorsan, borç ve alacak için ayrı sütunlar oluştur ve câriyi hesaplarken her ikisi sütunu da SUM ile topla. Daha sonra göstermek istediğin ekranda yazılım ile dört işlemini yaparsın.
  • 20-03-2016, 11:52:32
    #3
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Neden negatif tutar kullanmıyorsun? Satış işlemi yapıldığında müşteriyi borçlandırmak için -100, tahsilat yapıldığında da 100 TL tutar gir. Böylece sadece SUM ile istediğin sonucu alabilirsin ve tutarın yönünü belirtmek için bir ek bir sütuna(trans_type) da ihtiyacın kalmaz.

    Ya da olaya daha muhasebesel yaklaşmak istiyorsan, borç ve alacak için ayrı sütunlar oluştur ve câriyi hesaplarken her ikisi sütunu da SUM ile topla. Daha sonra göstermek istediğin ekranda yazılım ile dört işlemini yaparsın.
    Neden negatif tutar kullanmıyorum? çünki aynı veritabanını İşyerimizde kullandığımız muhasebe programı kullanıyor.

    Ben ön muhasebe programının bazı bölümlerini web e aktarmak istiyorum. daha sonra mobil versiyon da ekleyeceğim. Cari hesaplar her yerde olmuş olacak. veritabanı ve yapısı ile o yüzden oynayamıyorum.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 11:00:06 -->-> Daha önceki mesaj 10:55:53 --

    <%
    Set iletcen = server.CreateObject("ADODB.Recordset")
    mbag="select * from contact_trans LEFT JOIN contact ON contact_trans.contact_id = contact.id where contact_id = '2' order by trans_date desc;"
    iletcen.Open mbag, bag,1,3
    If not iletcen.eof then
    while not iletcen.eof
    %>
    şu kod ile şuanda 2 nolu id ye sahip müşteriyi listeleyebiliyorum. kendimi.



    şuanda ekran görüntüsü bu şekilde..

    en alta Genel toplam ekleyip. Toplam cari tutatını göstermek istiyorum hepsi bu.

    Cari açılış işlemi ve Satış Debit yönünde
    Tahsilat ise Credit yönünde çalışıyor.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 11:52:32 -->-> Daha önceki mesaj 11:00:06 --

    <%
    if iletcen("_right") = "CARI_BORC_DEKONTU" Then
    
    Response.Write("+" & iletcen("amount") &"")
    elseif iletcen("_right") = "CARI_ALACAK_DEKONTU" Then 
    Response.Write("-" & iletcen("amount") &"") 
    Else
    Response.Write("+" & iletcen("amount") &"") 
    End If
    %>
    Tutarların girildiği kısmı biraz düzenledim. trans_type den düzgün sonuç alamadım. bende _right isimli stuna yöneldim. o kısım daha verimli sonuç verdi.

    ekran çıktısı şu şekilde ama Response.Write("+" & iletcen("amount") &"") şeklinde + ve - eklediğim için toplama işlemini nasıl yaparım bilemiyorum.

  • 20-03-2016, 22:44:21
    #4
    <%
    if iletcen("_right") = "CARI_BORC_DEKONTU" Then
    Response.Write("+" & iletcen("amount") & "")
    elseif iletcen("_right") = "CARI_ALACAK_DEKONTU" Then 
    Response.Write("-" & iletcen("amount") & "") 
    Else
    Response.Write("+" & iletcen("amount") & "") 
    End If
    %>

    arkadaşlar while not iletcen.eof ve iletcen.movenext Wend

    arasında çalışan yukardaki kod sadece rakamları veriyor bu kısım üzerinde işlem yaptıramazmıyız.? bana daha kolay olur gibi geliyor.
  • 24-03-2016, 22:17:35
    #5
    toplam="0"
    while not iletcen.eof

    if iletcen("_right") = "CARI_BORC_DEKONTU" Then
    toplam=toplam-int(iletcen("amount"))
    elseif iletcen("_right") = "CARI_ALACAK_DEKONTU" Then
    toplam=toplam+int(iletcen("amount"))
    End If

    iletcen.movenext Wend

    response.write toplam


    para olarak yazdırmak istiyorsan ;

    response.write formatnumber(toplam)&" TL"

    ben bu şekilde yapıyorum kardeş
  • 25-03-2016, 11:20:35
    #6
    sorunumu çözdün yaptım şuan çalışır durumda ama yazdığım kodu buraya yapıştıramadım bloked yazıyor r10 engeliyor beni...

    teşekkür ederim yardımınız için.