AccessTr.neT

Tam Versiyon: Devreden Bakiye
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Sayfalar: 1 2
(01/09/2019, 22:53)berduş yazdı: [ -> ]kafamda daha tam oturtamadım yine de sorayımdaire bazında mı olacak yoksa kişi adına göre mi
Sayın hocam daire bazında olacak
sayın @metınaycıcek dağıtma kodu ne zaman çalışmalı?
form her yüklendiğinde mi, bir butona bastığınızda mı yoksa borç eklediğinizde mi yoksa bir kaç farklı durumda mı?
kaba taslak tamamladım gibi ama daha tam olmadı
(02/09/2019, 08:05)berduş yazdı: [ -> ]sayın @metınaycıcek dağıtma kodu ne zaman çalışmalı?
form her yüklendiğinde mi, bir butona bastığınızda mı yoksa borç eklediğinizde mi yoksa bir kaç farklı durumda mı?
kaba taslak tamamladım gibi ama daha tam olmadı
Sayın Hocam
bir kaç farklı durumda olması daha mantıklı geliyor
"mdl_devir" modülüne "FazlaDagit()" prosedürünü ekledim
prosedür "TBLUYEODEMETABLOSU" tablosu üzerinden işlem yapmakta
"FazlaDagit()" prosedürünün özelliğ şu
1 - eğer tüm tablo üzerinden işlem yapmasını istiyorsanız sadece 
FazlaDagit '<== şeklinde yazmalısınız
2 - eğer sadece belli bir daire ("KIMID" alanına göre )  üzerinden işlem yapacaksanız
FazlaDagit(KIMID)<== yazmalısınız
Kullandığım yerler:
1 - "FRM_ANAMENU" yüklenirken
2 - "katmanlık borçlandırma-Ödeme " veriler değiştiğinde yada yeni kayıt eklendiğinde
dilerim işinize yarar
Sub FazlaDagit(Optional Kimlik As String = "")
Dim Fazla As New ADODB.Recordset
Dim Borc As New ADODB.Recordset
Dim SqlFazla, SqlBorc, txtKimlik, SqlGuncelle As String
Dim dblBakiye, dblBorc As Double
txtKimlik = IIf(Kimlik = "", "", "  AND ((TBLUYEODEMETABLOSU.KIMID)=" & Kimlik & ")")
SqlFazla = " SELECT TBLUYEODEMETABLOSU.sira, TBLUYEODEMETABLOSU.KIMID, TBLUYEODEMETABLOSU.TaksitMik, TBLUYEODEMETABLOSU.OdemeMik " & _
          " FROM TBLUYEODEMETABLOSU " & _
          " WHERE (((TBLUYEODEMETABLOSU.OdemeMik)>(TBLUYEODEMETABLOSU.TaksitMik))" & txtKimlik & ")"
'SqlFazla : Ödeme alanı>taksit alanından olanları
Fazla.Open SqlFazla, CurrentProject.Connection, adOpenKeyset, adLockOptimistic 'burada açtığın bağlantı
            If Fazla.RecordCount <= 0 Then GoTo 10 ' goto 10 ile kapanmadan
            Fazla.MoveLast
            Fazla.MoveFirst
           
            Do Until Fazla.EOF
                dblBakiye = 0
                dblBakiye = Fazla.Fields("OdemeMik") - Fazla.Fields("TaksitMik")
                SqlBorc = " SELECT TBLUYEODEMETABLOSU.KIMID, TBLUYEODEMETABLOSU.sira, TBLUYEODEMETABLOSU.TaksitMik, TBLUYEODEMETABLOSU.OdemeMik " & _
                          " FROM TBLUYEODEMETABLOSU " & _
                          " WHERE (((TBLUYEODEMETABLOSU.OdemeMik) < TBLUYEODEMETABLOSU.TaksitMik) And ((TBLUYEODEMETABLOSU.KIMID) =" & Fazla.Fields("KIMID") & ")) " & _
                          " ORDER BY TBLUYEODEMETABLOSU.SonOdemeTar"
'SqlBorc :Ödeme alanı>taksit dairelerin  ,    Ödeme alanı<taksit alanından    ödenmemiş borçları olan aylar       
                  Borc.Open SqlBorc, CurrentProject.Connection, adOpenKeyset, adLockOptimistic 'burada açtığın bağlantı
                  If Borc.RecordCount <= 0 Then GoTo 20 ' goto 10 ile kapanmadan
                  Borc.MoveLast
                  Borc.MoveFirst
    '
              Do Until Borc.EOF
                    If dblBakiye <= 0 Then GoTo 20
                    dblBorc = 0
                    dblBorc = Borc.Fields("TaksitMik") - Borc.Fields("OdemeMik") 'ödenmesi gereken
                    dblx = IIf(dblBakiye >= dblBorc, dblBorc, dblBakiye)
                    dblBakiye = dblBakiye - dblx

                    SqlGuncelle = " update TBLUYEODEMETABLOSU set " & _
                          " OdemeMik=OdemeMik + ccur('" & dblx & "'), " & _
                          " OdenenTar=cdate(" & CLng(Date) & ")" & " where sira=" & Borc.Fields("sira")
                    CurrentDb.Execute SqlGuncelle
                   
                    SqlGuncelle = " update TBLUYEODEMETABLOSU set " & _
                          " OdemeMik=OdemeMik - ccur('" & dblx & "') " & _
                          " where sira=" & Fazla.Fields("sira")
                    CurrentDb.Execute SqlGuncelle

              Borc.MoveNext
              Loop

20    '
                Borc.Close
                Set Borc = Nothing
            Fazla.MoveNext
            Loop
10
Fazla.Close
Set Fazla = Nothing
End Sub
(02/09/2019, 23:44)berduş yazdı: [ -> ]"mdl_devir" modülüne "FazlaDagit()" prosedürünü ekledim
prosedür "TBLUYEODEMETABLOSU" tablosu üzerinden işlem yapmakta
"FazlaDagit()" prosedürünün özelliğ şu
1 - eğer tüm tablo üzerinden işlem yapmasını istiyorsanız sadece 
FazlaDagit '<== şeklinde yazmalısınız
2 - eğer sadece belli bir daire ("KIMID" alanına göre )  üzerinden işlem yapacaksanız
FazlaDagit(KIMID)<== yazmalısınız
Kullandığım yerler:
1 - "FRM_ANAMENU" yüklenirken
2 - "katmanlık borçlandırma-Ödeme " veriler değiştiğinde yada yeni kayıt eklendiğinde
dilerim işinize yarar
Kod:
Sub FazlaDagit(Optional Kimlik As String = "")
Dim Fazla As New ADODB.Recordset
Dim Borc As New ADODB.Recordset
Dim SqlFazla, SqlBorc, txtKimlik, SqlGuncelle As String
Dim dblBakiye, dblBorc As Double
txtKimlik = IIf(Kimlik = "", "", "  AND ((TBLUYEODEMETABLOSU.KIMID)=" & Kimlik & ")")
SqlFazla = " SELECT TBLUYEODEMETABLOSU.sira, TBLUYEODEMETABLOSU.KIMID, TBLUYEODEMETABLOSU.TaksitMik, TBLUYEODEMETABLOSU.OdemeMik " & _
          " FROM TBLUYEODEMETABLOSU " & _
          " WHERE (((TBLUYEODEMETABLOSU.OdemeMik)>(TBLUYEODEMETABLOSU.TaksitMik))" & txtKimlik & ")"
'SqlFazla : Ödeme alanı>taksit alanından olanları
Fazla.Open SqlFazla, CurrentProject.Connection, adOpenKeyset, adLockOptimistic 'burada açtığın bağlantı
            If Fazla.RecordCount <= 0 Then GoTo 10 ' goto 10 ile kapanmadan
            Fazla.MoveLast
            Fazla.MoveFirst
           
            Do Until Fazla.EOF
                dblBakiye = 0
                dblBakiye = Fazla.Fields("OdemeMik") - Fazla.Fields("TaksitMik")
                SqlBorc = " SELECT TBLUYEODEMETABLOSU.KIMID, TBLUYEODEMETABLOSU.sira, TBLUYEODEMETABLOSU.TaksitMik, TBLUYEODEMETABLOSU.OdemeMik " & _
                          " FROM TBLUYEODEMETABLOSU " & _
                          " WHERE (((TBLUYEODEMETABLOSU.OdemeMik) < TBLUYEODEMETABLOSU.TaksitMik) And ((TBLUYEODEMETABLOSU.KIMID) =" & Fazla.Fields("KIMID") & ")) " & _
                          " ORDER BY TBLUYEODEMETABLOSU.SonOdemeTar"
'SqlBorc :Ödeme alanı>taksit dairelerin  ,    Ödeme alanı<taksit alanından    ödenmemiş borçları olan aylar       
                  Borc.Open SqlBorc, CurrentProject.Connection, adOpenKeyset, adLockOptimistic 'burada açtığın bağlantı
                  If Borc.RecordCount <= 0 Then GoTo 20 ' goto 10 ile kapanmadan
                  Borc.MoveLast
                  Borc.MoveFirst
    '
              Do Until Borc.EOF
                    If dblBakiye <= 0 Then GoTo 20
                    dblBorc = 0
                    dblBorc = Borc.Fields("TaksitMik") - Borc.Fields("OdemeMik") 'ödenmesi gereken
                    dblx = IIf(dblBakiye >= dblBorc, dblBorc, dblBakiye)
                    dblBakiye = dblBakiye - dblx

                    SqlGuncelle = " update TBLUYEODEMETABLOSU set " & _
                          " OdemeMik=OdemeMik + ccur('" & dblx & "'), " & _
                          " OdenenTar=cdate(" & CLng(Date) & ")" & " where sira=" & Borc.Fields("sira")
                    CurrentDb.Execute SqlGuncelle
                   
                    SqlGuncelle = " update TBLUYEODEMETABLOSU set " & _
                          " OdemeMik=OdemeMik - ccur('" & dblx & "') " & _
                          " where sira=" & Fazla.Fields("sira")
                    CurrentDb.Execute SqlGuncelle

              Borc.MoveNext
              Loop

20    '
                Borc.Close
                Set Borc = Nothing
            Fazla.MoveNext
            Loop
10
Fazla.Close
Set Fazla = Nothing
End Sub
Sayın Hocam Allah  cc razı  olsun inşallah
inceleyip size en  yakın zamanda döneceğim
bir harf öğretenin 40 yıl kölesi olurum inşallah Hz Alin'in sozüdür heleki bu zamanda
Sayfalar: 1 2