Skip to main content

AccessTr.neT


Metin Kutusu

metınaycıcek
metınaycıcek
35
2806

Metin Kutusu

Çözüldü #1
Sayın Hocalarım
yüklemiş olduğum acces de 
katmalik borçlandırma -ödeme form açıldığında
odeme yap etiket  kutusun karşısındaki kutucuğa 1000 tl yazım ödenen tarihide tıkladığımda taksitleri ödüyor.o ödediği esnada not kutucuğunun altındaki metin kutusuna alt satırdaki yazmış olduğum işlemi bir türlü beceremedim;
sizlerden ricam ödediği esnada o satırdaki not kutucuğunun altındaki metin kutusuna şu tarihinde  1000 tl ödeme yapıldı taksit miktarı 500 tl  ödendi,altındaki satıra geçip  1000 tl ödeme yapıldı taksit miktarı 500 tl  nin 250 tl sini ödendi veya kalanpara dan ödeme yapıldıysa aynı şekilde yazması mümkün müdür. 
saygılarımla
.rar ApartmanGelirGiderTakipPrg-hy_4_9.rar (Dosya Boyutu: 868,77 KB | İndirme Sayısı: 14)
Cevapla
#2
Metin bey öncelikle şunu belirteyim sorularınıza eklediğiniz çalışmalarınızda mümkünse sadece son kullanıcıyı ilgilendiren -eğer sorunuz doğrudan onlarla ilgili değilse-;
access penceresini saklama/
şifreleme/
formun kalıcı olması/
tasarım modunda açılmanın engellenmesi/
masaüstüne kısayol ekleme gibi özellikleri devre dışı bırakarak, kodlarını pasifleştirerek ekleyebilirseniz soruyu çözmeye çalışan kişiler için çok daha ve verimli olur. bu özellikler/kodlar boşa zaman israfı oluyor, bazen dalgınlığımıza geliyor yazdığımız bütün kod Access tamamen kapandığı için boşa gidiyor ve bıkkınlık yaratabiliyor ki daha az önce başıma geldi bütün emeğim boşa gitti
Cevapla
#3
@berduş'un cevabına ek olarak, "katmalik borçlandırma -ödeme form açıldığında" şeklinde belirtmişsiniz. Ancak uygulamanızda böyle bir form yok. Formları tek tek açıp incelemek zaman kaybı oluyor ve bazen farklı forma kod yazılıyor. Lütfen formların isimlerini de belirtiniz.
"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla
#4
"FazlaDagit()" fonksiyonu değiştirildi , en alttaki kod işinize yarayabilir
Dim SqlFazla, SqlBorc, txtKimlik, SqlGuncelle, txtNot As String '<-- "txtNot" eklendi
txtNot = CStr(Date) & " tarihinde verilen " & txtVerilen & " TL""den " & dblx & " TL ödendi " ' '<-- Bu satır  eklendi
                          " OdenenTar=cdate(" & CLng(Date) & "), " & _  '<-- Bu satır değişti
                          " Not='" & txtNot & _  '<-- Bu satır  eklendi

Visual Basic Code
Sub FazlaDagit(Optional Kimlik As String = "") 

Dim Fazla As New ADODB.Recordset
Dim BORC As New ADODB.Recordset
Dim SqlFazla, SqlBorc, txtKimlik, SqlGuncelle, txtNot As String '<-- "txtNot" eklendi
Dim dblBakiye, dblBorc 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
    '
              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

txtNot = CStr(Date) & " tarihinde verilen " & txtVerilen & " TL""den " & dblx & " TL ödendi "
                    SqlGuncelle = " update TBLUYEODEMETABLOSU set " & _
                          " OdemeMik=OdemeMik + ccur('" & dblx & "'), " & _
                          " OdenenTar=cdate(" & CLng(Date) & "), " & _
                          " Not='" & txtNot & _ 
                          "' where sira=" & BORC.Fields("sira")
                    CurrentDb.Execute SqlGuncelle
                    
                    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
Cevapla
#5
(12/09/2019 11:41)berduş Adlı Kullanıcıdan Alıntı: Metin bey öncelikle şunu belirteyim sorularınıza eklediğiniz çalışmalarınızda mümkünse sadece son kullanıcıyı ilgilendiren -eğer sorunuz doğrudan onlarla ilgili değilse-;
access penceresini saklama/
şifreleme/
formun kalıcı olması/
tasarım modunda açılmanın engellenmesi/
masaüstüne kısayol ekleme gibi özellikleri devre dışı bırakarak, kodlarını pasifleştirerek ekleyebilirseniz soruyu çözmeye çalışan kişiler için çok daha ve verimli olur.  bu özellikler/kodlar boşa zaman israfı oluyor, bazen dalgınlığımıza geliyor yazdığımız bütün kod Access tamamen kapandığı için boşa gidiyor ve bıkkınlık yaratabiliyor ki daha az önce başıma geldi bütün emeğim boşa gitti
Sayın berduş hocam 
başta geç cevap verdiğim için özür dilerim
dediklerinize inşallah bundan sonra dikkat edecem
kusuruma bakmayın
saygılarımla
Cevapla
#6
@metınaycıcek bey hem sizden hem de @ozanakkaya hocamdan çok özür dilerim, yanlışlıkla mesajınızı sildim
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da