tabana yada tavana yuvarla

Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
Taksitlendirme programında herşey hoş ama taksitleri böldüğümüzde
küsüratlı çıkmakta bunu makul olarak tabana yada tavana yuvarlayıp özellikle tabana yuvarlayıp yani 0 veya 5 'li olarak kalan küsürataları son taksite ekleyebilecek kodu yazabilecek arkadaş var mı?


iyi çalışmalar..
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karaayhan,

Yine çk basit bir noktada takıldınız.

Kod:
Private Sub Komut17_Click()
Dim rs As New ADODB.Recordset
rs.Open "tarih", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
z = taksay.Value
For i = 1 To z Step 1
Dim tar1 As Date
Dim tar As Variant
Dim n As Variant
Dim par As Variant
tar1 = bastar.Value
par = toplam.Value / taksay.Value
[B][COLOR=red]par = Round(par, 0)[/COLOR][/B]
[B][COLOR=red]If i = z Then[/COLOR][/B]
[B][COLOR=red]   par = toplam.Value - (z - 1) * par[/COLOR][/B]
[B][COLOR=red]End If[/COLOR][/B]
n = no.Value
tar = DateAdd("m", i, tar1)
rs.AddNew
rs("no") = n
rs("fiat") = par
rs("tarih") = tar
rs.Update
Next i
Set rs = Nothing
Set conn = Nothing
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
End Sub
İyi çalışmalar:)
 
Katılım
20 Mayıs 2005
Mesajlar
154
Excel Vers. ve Dili
XP TÜRKÇE
daha kısa bir kod
Public Function Yuvarlama(sayi As Double, Hane_sayi As Integer) As Double
Dim Katsayi As Integer
Katsayi = 10 ^ Hane_sayi
Yuvarlama = Int((sayi * Katsayi) + 0.5) / Katsayi
End Function
 
Katılım
21 Ekim 2006
Mesajlar
100
Excel Vers. ve Dili
Excel2003 Tr
Sayın rustutiryaki , kodlar gizli. Kodları görebilsek yardımınız daha şık olmaz mı.
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
sayın modalı, kodları örneğe uygulayınca hiç birşey değişmiyor 55/9 olan taksitlendirmeye uyguladım yine 6,11 çıkardı tüm taksitleri
sayın serkandemirci, sizin örnek nereye eklenecek hiç bişi anlamadım...
sayın dustutiryaki, sanırım yanlışlıkla mde yaptınız örneği zaten kodlar hatalı diyor açmıyor herneyse ...

lütfen tekrar gözden geçirin örnek kodları ve uygulamalarınızı arkadaşlar
sağolun ellerinize sağlık..

iyi çalışmalar :)
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karaayhan,

Ben de nasıl çalışıyorlar? Son ay 7 diğerleri 6 olarak görünüyor.
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
sayın modalı, doğru, çalışıyor ancak şunu farkettim (50/9) dediğimizde (8 aylık taksiti 6) (9 ncu ayı 2 )olarak gösteriyor oysaki; taksit miktarından daha düşük bir miktar ise son taksite ekleyecekti. yani (8 taksit 5 )olur (son taksit 10) mu olur yada nasıl bir çözüm olur. Mesela (500/9) da ise (8 taksit 56 )(son taksit 52) oluyor oysaki (8 taksit 55) (son taksit 60) olmalıydı.

iyi çalışmalar:)
 
Son düzenleme:
Katılım
6 Şubat 2005
Mesajlar
1,467
Bulunduğum yerde Access yok excel'de hazırladım. uyarlayabilirsen
Sub a()
Top = Range("a1")
tak = Range("b1")
fazla = Top Mod tak
Taksit = Top \ tak
For i = 1 To tak
If i = tak Then
Range("c" & i).Value = Taksit + fazla
Else
Range("c" & i).Value = Taksit
End If
Next
End Sub
 
Katılım
6 Şubat 2005
Mesajlar
1,467
Sn Moda'lının kodlarına uydurmaya çalıştım ama deneyemedim.
Private Sub Komut17_Click()
Dim rs As New ADODB.Recordset
rs.Open "tarih", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
z = taksay.Value
For i = 1 To z Step 1
Dim tar1 As Date
Dim tar As Variant
Dim n As Variant
Dim par As Variant
Dim fazla As Variant
tar1 = bastar.Value
par = toplam.Value \ taksay.Value
fazla = toplam.Value Mod taksay.Value
If i = z Then
par = par + fazla
End If
n = no.Value
tar = DateAdd("m", i, tar1)
rs.AddNew
rs("no") = n
rs("fiat") = par
rs("tarih") = tar
rs.Update
Next i
Set rs = Nothing
Set conn = Nothing
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
End Sub
Not
Sn Modalı
Set conn = Nothing
kodu fazladan mı? yoksa bir işlevi var mı?
 
Son düzenleme:
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın omerceri,

Hayır fazlalık değil. Set ile tanımlanan cümleler bilgisayar hafızasında bir yer kaplarlar. Bun alanları en sonunda nothing le boşaltıyoruz. Daima Set ile bir tanımlama yapıyorsak en sonunda da nothing ile boşaltmamız programcılık açısından öneriliyor. Bizim yaptığımız basit programlamada kullanılmazsa da olur. Ama kullanun diye öneriyorlar.

İyi çalışmalar
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
Sayın MODALI Çok Teşekkür ederim konuya olan ilginize, sayın omerceri size de teşekkürler...

Saygılar...


iyi çalışmalar:)
 
Son düzenleme:
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
konuya ilave olarak

Dim rs As New ADODB.Recordset
rs.Open "tarih", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
z = taksay.Value
For i = 1 To z Step 1
Dim işlemgünü As Variant
Dim aciklama As Variant
Dim ödeme As Variant
Dim tar1 As Date
Dim tar As Variant
Dim n As Variant
Dim par As Variant
Dim fazla As Variant
işlemgünü = Me.işlemtarihi
aciklama = Me.açıklama
ödeme = Me.ödeme_şekli
tar1 = bastar.Value
par = toplam.Value \ taksay.Value
fazla = toplam.Value Mod taksay.Value
If i = z Then
par = par + fazla
End If
n = no.Value
tar = DateAdd("m", i, tar1)
rs.AddNew
rs("no") = n
rs("fiat") = par
rs("tarih") = tar
rs("açıklama") = aciklama
rs("şekil") = ödeme
rs("işlemtar") = işlemgünü
rs.Update
Next i
Set rs = Nothing
Set conn = Nothing
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
Me.tarih_altformu.Requery
End Sub

kodlar bu idi ancak peşin olarak müşterinin ödediğini taksit yaparken ilk satırda işlem tarihi ile aynı olacak şekilde birinci taksit şeklinde alt formda görmemiz mümkün mü?

taksit tarihi taksit miktarı ödeme tarihi öd.miktarı ödeme şekli
----------- ------------ ------------ ---------- ------------
işlem tarihi peşin tutar işlem tarihi peşin tutar Peşin

şimdiden teşekkürler?
 
Son düzenleme:
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
aslında bakınca kolay gibi geliyor ancak genel toplamı bölsek ?
tek bir satıra peşin yazdırmak? tam olarak kodların neresine ne yazılacak ki?


herneyse sesli düşündüm sanırım...
arkadaşlar Bayram telaşındadırlar ki fazla rağbet yok siteye bu günlerde (bir tespit)

İyi BAYRAMLAR ...:)
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın karaayhan,

Peşin ödeme neden ilk taksit olarak kaydedilsin. Bir alan daha eklersiniz peşin ödeme olarak ondan sonra da anapara-peşinödeme yi takside bölersiniz.

Uygulamalarda bu şekilde kullanılıyor veya rasladıklarım öyle. Peşinat taksit miktarından fazla da olabilir az da olabilir.

İyi çalışmalar ve İYİ BAYRAMLAR :hey:
 
Katılım
16 Kasım 2005
Mesajlar
1,090
Excel Vers. ve Dili
Access 2002
zaten uygulama yani kodlar sizin söylediğiniz gibi ancak, alt formda yani taksitlerrin olduğu tabloda ilk satır peşinatı da içerirse cari hesap'ta ve kişi listesinde ayrıca peşinatı varmı diye bakmaya gerek kalmaz diye düşünmüştüm.
ayrıca bir kod yazmak gerekmez ise bu şekilde olmasını isterim ...

teşekkürler ilginize..:)
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Sevgili karaayhan, bu taksit programında şubat ayı ve pazar günü ile ilgili bir problem yaşadınız mı? Benim de bir taksitli satış programında böyle bir problemim oldu. Çözümü ile ilgili bulabildiğim yol aşağıdaki şekilde.. Ama bir yerinde bir yanlışlık var. Çünkü şubat ayına kadar taksit başlangıcı normal geliyor ama şubat ayından sonraki taksitlerde 2-3 günlük bir sapma oluyor. Kodu inceleyince anlarsınız zaten..


Dim gün As Integer, ay As Integer, yıl As Long
Dim Tarih As Date, subat As Boolean
Dim MÜŞTERİNO As String
Dim TAKSİTBAŞLANGICI As Date
Dim TAKSİTTUTARI As String
Dim İŞLEMNO As String
Dim TAKSİTSAYISI As String

' Gelecek ay Kaç Gün?
Tarih = Me![TAKSİT_BAŞLANGICI]
ay = Month(Tarih) + 1
yıl = Year(Tarih)
If ay > 12 Then ay = ay - 12

MÜŞTERİNO = Me![MÜŞTERİ_NO]
TAKSİTBAŞLANGICI = Me![TAKSİT_BAŞLANGICI]
TAKSİTTUTARI = Me![TAKSİT_TUTARI]
İŞLEMNO = Me![İŞLEM_NO] + 1
TAKSİTSAYISI = Me![TAKSİT_SAYISI]

subat = y&#305;l Mod 4 = 0 And (y&#305;l Mod 100 <> 0 Or y&#305;l Mod 400 = 0)
Select Case ay
Case 2
If subat Then g&#252;n = 29 Else g&#252;n = 28
Case 4, 6, 8, 10, 12
g&#252;n = 30
Case 1, 3, 5, 7, 9, 11
g&#252;n = 31
End Select

DoCmd.GoToRecord , , acNewRec

Me![M&#220;&#350;TER&#304;_NO] = M&#220;&#350;TER&#304;NO
Me![&#304;&#350;LEM_NO] = &#304;&#350;LEMNO
Me![TAKS&#304;T_BA&#350;LANGICI] = TAKS&#304;TBA&#350;LANGICI + g&#252;n
Me![TAKS&#304;T_TUTARI] = TAKS&#304;TTUTARI
Me![TAKS&#304;T_SAYISI] = TAKS&#304;TSAYISI
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Say&#305;n mehmetdemiral,

Bir zamanlar say&#305;n karaayhana bir artr&#305;k y&#305;l form&#252;l&#252; yazm&#305;&#351;t&#305;m onu kulland&#305; ama san&#305;r&#305;m hata var

Kod:
Select Case ay
Case 2
If  y&#305;l Mod 4 = 0 And (y&#305;l Mod 100 <> 0 Or y&#305;l Mod 400 = 0) Then 
g&#252;n = 29 
Else 
g&#252;n = 28
End If
Case 4, 6, 8, 10, 12
g&#252;n = 30
Case 1, 3, 5, 7, 9, 11
g&#252;n = 31
End Select
Olarak de&#287;i&#351;tirin. &#350;ubat probleminiz &#231;&#246;z&#252;l&#252;r.

&#304;yi &#231;al&#305;&#351;malar
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Say&#305;n Modal&#305;.. Deneyece&#287;im. &#199;ok te&#351;ekk&#252;rler..
 
Katılım
30 Ocak 2006
Mesajlar
937
Excel Vers. ve Dili
Access 2003
Denedim. 01.01.2008 den ba&#351;layacak 20 taksitli bir sat&#305;&#351; tablosunda tarihleri &#351;&#246;yle veriyor

TAKS&#304;T NO &#304;&#350;LEM TAR&#304;H&#304; &#214;DEME TAR&#304;H&#304; M&#304;KTAR P.B&#304;R&#304;M&#304;
1. TAKS&#304;T 12.10.2007 01.01.2008 50 YTL
2. TAKS&#304;T 12.10.2007 30.01.2008 50 YTL
3. TAKS&#304;T 12.10.2007 28.02.2008 50 YTL
4. TAKS&#304;T 12.10.2007 30.03.2008 50 YTL
5. TAKS&#304;T 12.10.2007 29.04.2008 50 YTL
6. TAKS&#304;T 12.10.2007 30.05.2008 50 YTL
7. TAKS&#304;T 12.10.2007 29.06.2008 50 YTL
8. TAKS&#304;T 12.10.2007 30.07.2008 50 YTL
9. TAKS&#304;T 12.10.2007 29.08.2008 50 YTL
10. TAKS&#304;T 12.10.2007 29.09.2008 50 YTL
11. TAKS&#304;T 12.10.2007 29.10.2008 50 YTL
12. TAKS&#304;T 12.10.2007 29.11.2008 50 YTL
13. TAKS&#304;T 12.10.2007 29.12.2008 50 YTL
14. TAKS&#304;T 12.10.2007 29.01.2009 50 YTL
15. TAKS&#304;T 12.10.2007 26.02.2009 50 YTL
16. TAKS&#304;T 12.10.2007 29.03.2009 50 YTL
17. TAKS&#304;T 12.10.2007 28.04.2009 50 YTL
18. TAKS&#304;T 12.10.2007 29.05.2009 50 YTL
19. TAKS&#304;T 12.10.2007 28.06.2009 50 YTL
20. TAKS&#304;T 12.10.2007 29.07.2009 50 YTL
 
Üst