Metin Kutusu

1 2 3 4 5 6
13/09/2019, 01:31

berduş

ÖD)
istediğiniz gibi olmuşsa sorun yok ama şöyle bir sıkıntı çıkabilir
verilen para alanı boş ise "kalandan" aldığını yazabilir
ama başta diyelim ki verilen para=10 tl ama üyenin içerdeki parası kalanpara=10.000Tl olsa bile
maalesef "şu tarihte yatırılan 10 Tl'de 500 TL ödenmiştir" yazacak
13/09/2019, 01:40

metınaycıcek

(13/09/2019, 01:31)berduş yazdı: ÖD)
istediğiniz gibi olmuşsa sorun yok ama şöyle bir sıkıntı çıkabilir
verilen para alanı boş ise "kalandan" aldığını yazabilir
ama başta diyelim ki verilen para=10 tl ama üyenin içerdeki parası kalanpara=10.000Tl olsa bile
maalesef "şu tarihte yatırılan 10 Tl'de 500 TL ödenmiştir" yazacak
Sayın Hocam
bizlere zaman ayırmanız bile bizim için büyük bir nimet
inşallah bu yaptıklarınızın karşılığını ahirette alırsınız
kalanpara olduğu zaman taksit değeri 400 tl diyelim
kalanparada 200 tl onu önce düşüyor sonra bu şekilde
not kısmına yazıyor.
 
13.09.2019 kalan 0 TL'den 200 lira ödendi
13/09/2019, 01:45

berduş

hangi kayıtta rastladınız o soruna?
13/09/2019, 01:50

metınaycıcek

(13/09/2019, 01:45)berduş yazdı: hangi kayıtta rastladınız o soruna?
Sayın Hocam 
ben sıırdan 
tbluyegenelbıl  'de kalanpara birkaç tanesine değer verdim
tbluyeodemetablosu 'ndaki kayıtları sildim
frm_uyegenel 'de tekrardan taksitlendirme yapıp öyle kontrol ettim
13/09/2019, 01:54

berduş

FazlaDagit()" fonksiyonunu aşağıdaki kodla değiştirip dener misiniz?
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, dblVerilen As Double
txtKimlik = IIf(Kimlik = "", "", " AND ((TBLUYEGENELBIL.KIMID)=" & Kimlik & ")")



SqlFazla = " SELECT TBLUYEGENELBIL.KIMID, TBLUYEGENELBIL.KalanPara" & _
" FROM TBLUYEGENELBIL " & _
" WHERE (((TBLUYEGENELBIL.KalanPara)>0)" & txtKimlik & ")"
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("KalanPara")
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"

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
dblVerilen = Nz(Forms!frm_anamenu!frm_UYEGENEL.Form!FRM_UYEODEMETABLOSU.Form!txtVerilen, 0)
'
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

txtKaynak = IIf(dblVerilen < dblx, " kalan " & dblBakiye + dblx, " tarihinde yatan " & dblVerilen)
txtNot = Date & txtKaynak & " TL''den " & dblx & " lira ödendi "
SqlGuncelle = " update TBLUYEODEMETABLOSU set " & _
" OdemeMik=OdemeMik + ccur('" & dblx & "'), " & _
" OdenenTar=cdate(" & CLng(Date) & ")," & _
" Not='" & Nz(txtNot, "") & _
"' where sira=" & Borc.Fields("sira")
CurrentDb.Execute SqlGuncelle
dblVerilen = dblVerilen - dblx
SqlGuncelle = " update TBLUYEGENELBIL set " & _
" KalanPara=KalanPara - ccur('" & dblx & "') " & _
" where KIMID=" & Fazla.Fields("KIMID")
CurrentDb.Execute SqlGuncelle



Borc.MoveNext
Loop

20 '
Borc.Close
Set Borc = Nothing
Fazla.MoveNext
Loop
10
Fazla.Close
Set Fazla = Nothing
End Sub
13/09/2019, 01:58

metınaycıcek

(13/09/2019, 01:54)berduş yazdı: FazlaDagit()" fonksiyonunu aşağıdaki kodla değiştirip dener misiniz?
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, dblVerilen As Double
txtKimlik = IIf(Kimlik = "", "", "  AND ((TBLUYEGENELBIL.KIMID)=" & Kimlik & ")")



SqlFazla = " SELECT TBLUYEGENELBIL.KIMID, TBLUYEGENELBIL.KalanPara" & _
           " FROM TBLUYEGENELBIL " & _
           " WHERE (((TBLUYEGENELBIL.KalanPara)>0)" & txtKimlik & ")"
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("KalanPara")
                 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"
                 
                  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
dblVerilen = Nz(Forms!frm_anamenu!frm_UYEGENEL.Form!FRM_UYEODEMETABLOSU.Form!txtVerilen, 0)
    '
               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

txtKaynak = IIf(dblVerilen < dblx, " kalan " & dblBakiye + dblx, " tarihinde yatan " & dblVerilen)
txtNot = Date & txtKaynak & " TL''den " & dblx & " lira ödendi "
                    SqlGuncelle = " update TBLUYEODEMETABLOSU set " & _
                           " OdemeMik=OdemeMik + ccur('" & dblx & "'), " & _
                           " OdenenTar=cdate(" & CLng(Date) & ")," & _
                           " Not='" & Nz(txtNot, "") & _
                           "' where sira=" & Borc.Fields("sira")
                    CurrentDb.Execute SqlGuncelle
dblVerilen = dblVerilen - dblx
                    SqlGuncelle = " update TBLUYEGENELBIL set " & _
                           " KalanPara=KalanPara - ccur('" & dblx & "') " & _
                           " where KIMID=" & Fazla.Fields("KIMID")
                    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 
tamam oldu
1 2 3 4 5 6