Skip to main content

AccessTr.neT


Taksit Sayısına Göre Taksit Tarihi Yazdırma

Taksit Sayısına Göre Taksit Tarihi Yazdırma

Çözüldü #1
Her Satış Formunda 1 - 24 taksit için taksit ile ilgili (Taksit Tarihi, Taksit Tutarı ve Taksit Ödenen gibi ) bilgilerin bulunduğu alanlar bulunmakta.
Yeni satış yaparken örnek olarak 5 taksit seçtik diyelim
ilk taksit tarihini el ile girdikten sonra geri kalan 4 ayın taksit tarihi otomatik olarak yazsın istiyorum.
yani 1 ile 24 arası seçilen taksite göre taksit sayısı kaç ise ;
ilk taksit tarihi el ile seçildikten sonra taksit sayısına göre aylara taksit tarihlerini otomatik olarak yazmasını istiyorum.

Hatta ilk taksit tarihide varsayılan olarak sipariş tarihinden 1 ay sonra olsun

Çalışmam ek'te yardımcı olursanız çok sevinirim

[Resim: do.php?img=4997]
.rar karmen program.rar (Dosya Boyutu: 59,3 KB | İndirme Sayısı: 15)
Cevapla
#2
1. taksit alanının yani Metin123'ün güncelleştirme sonrasında olayına aşağıdaki kodu ekleyiniz.

If MsgBox(Me.Metin123 & " tarihinden itibaren " & Me.tsayisi & " taksit işlemi yapılsın mı?", vbYesNo + vbCritical) = vbYes Then

For x = 1 To Me.tsayisi
Y = (x * 6) + 123
Controls("Metin" & Y) = DateAdd("m", x, Me.Metin123)
Next x

End If
Cevapla
#3
(26/07/2015, 20:35)ozanakkaya yazdı: 1. taksit alanının yani Metin123'ün güncelleştirme sonrasında olayına aşağıdaki kodu ekleyiniz.

If MsgBox(Me.Metin123 & " tarihinden itibaren " & Me.tsayisi & " taksit işlemi yapılsın mı?", vbYesNo + vbCritical) = vbYes Then

For x = 1 To Me.tsayisi
Y = (x * 6) + 123
Controls("Metin" & Y) = DateAdd("m", x, Me.Metin123)
Next x

End If

Teşekkürler ozanakkaya tam olarak istediğim işlevi gösteriyor. kodun çalışma mantığınıda anlatırmısın. öğrenmek istiyorum
Cevapla
#4
For x = 1 To Me.tsayisi

1'den başlayıp taksit sayısı seçimi yaptığın açılan kutudaki değer kadar döngü çalışacak. buradaki Me.tsayisi kodunu Me.tsayisi - 1 ile değiştir.

Y = (x * 6) + 123
Controls("Metin" & Y) = DateAdd("m", x, Me.Metin123)

alt formdaki taksit tarihlerinin yazılacağı metin kutularının isimleri Metin123,Metin129,Metin135,....Metin261 şeklinde 6'şar artarak gittiği için döngüde,

x = 2 için, y = (2 * 6) + 123 = 135
x = 3 için, y = (3 * 6) + 123 = 141

x = 2 de kodun uygulanmış hali
Controls(Metin135) = DateAdd("m", 2, Me.Metin123)
Metin135'e metin123'deki değere 2 ay ekler,

x = 3 de kodun uygulanmış hali
Controls(Metin141) = DateAdd("m", 3, Me.Metin123)
Metin141'e metin123'deki değere 3 ay ekler,

konu cevaplanmış sorular bölümüne taşınmıştır.
Cevapla
#5
Sayın celilpartal,

Sayın ozan bey’in izni ve hoşgörüsü ile (herhangi bir ukalalığı ya da saygısızlığa mahal de vermemek üzere),küçük bir düzeltme ve bir de ekleme ile bir hususu belirtmek isterim.

DÜZELTME HUSUSU:

Taksit sayısı seçildiğinde,ilgili kod ile;bir taksit ödeme satırı daha ilave etmek durumunda olduğu görülmektedir.örneğin;taksit tutarı 4 seçildiğinde,5 adet taksit satırı oluşmakta,tarih eklemesi sonrası.
Fazla taksit satırı işlemi,küçük bir düzenleme ile geçiştirilmiştir.

NOT:
sayın ozan bey;

bu yazı daha önceden yazılıp hazırlandığı fakat eklenmediği için,taksit sayısı ile ilgili sizin de belirttiğiniz düzenleme konusunu da denk gelmek sureti ile içermiş oldu.
 
EKLEME HUSUSU:

Sayın ozan bey’in eklediği kod ifadesine,yine iki satır dahil edilmesi ile;taksit tutarı ve taksit sayısına göre,ilgili taksit için ödenecek tutarın da otomatik olarak kendi satırında yazması sağlanmıştır.örneğin;taksit tutarı 1750.-TL ve taksit sayısı da 4 adet olan açılışta ekranda beliren kaydın,taksit ödeme satırı 4 adet ve ödenecek taksit tutarı da hesaplama sonucu kaça denk geliyorsa o kadara bölünmesi sonucu beliren değer kadar (437,50.-TL) yazması sağlanmıştır.

Ayrıca,taksit sayısı bilgilerini içeren ilgili alt formdaki tsayisi adlı açılan kutunun Güncelleştirme Sonrasında olay yordamına bir ilave kod daha yazılıp, Metin125 adlı ilk taksit ödeme tutarının yazılacağı metin denetim kutusuna otomatik olarak gelmesi de sağlanmıştır.

EK'te;
Yukarıda bahsi yapılan bu işlemlere dair ilgili kod ifadesinin düzenlenmesi ile hazırlanmış örnek uygulama mevcuttur.inceleyebilirsiniz.bilginize.

Son olarak,bir tavsiye olması adına,aşağıdaki hatırlatmayı da belirtmek isterim.

kod sayfanızda,ilk başlangıç satırında (hatta,bazılarında hiç bir ifade yazılı değil); Option Compare Database ifadesinin yerine,Option Explicit ifadesinin yer almasına özen gösteriniz.

Fakat,eğer kodlarınız genelinde;ilk satırında SADECE Option Compare Database ifadesi yazıyorsa veya Olay Yordamları içerisinde On Error Resume Next ifadesi yer alıyorsa;yukarıda yazılı maddelerdeki hataları görme imkanı vermeksizin uygulamanın işleyişte bulunmasına devam eder.

Bu nedenle,ileride çeşitli nitelikte sorunlara veya hatalara maruz kalmamak adına,her zaman uygulamalarınızdaki kod sayfasında ilk satırda Option Explicit ifadesinin yer almasına önem vererek özen göstermeye gayret ediniz. OptionExplicit ifadesinin gerekliliğini belirtmek için,aşağıdaki tanımlamalar yeterli olacaktır kanısındayım.

Option Compare Database (seçenek karşılaştırma);
ikili değer,metin değeri,dize karşılaştırmalarında tanımlı değerlerin karşılaştırmasını yapmak için kullanılır.veritabanının sıralama kodlaması tarafından belirlenir.

Option Explicit (Belirgin seçenek);
uygulamada kullanılmakta olan değişken isimlerinde bir hata söz konusu olduğunda tanımsız bir değişken kullanıldığına dair bu hatayı bildirerek,değişken isimlerinin Dim, Private, Public, ReDim veya Statik deyimi ile doğru tanımlanmasına bir zorunluluk getirir. Böylece,uygulamanın bu hatalardan arınarak sağlıklı çalışmasına imkan sağlar.

Option Explicit ifadesinin her uygulama hazırlayacağınız zaman,kod sayfasında sürekli otomatik olarak yer almasını sağlamak için de,kodlama sayfasında iken,üst menüden TOOLS - OPTIONS - EDITOR sekmesindeki REQUIRE VARIABLE DECLERATION satırını işaretleyip Tamam diyerek çıkınız.

İyi çalışmalar,saygılar.
.rar karmen program-ATOZ.rar (Dosya Boyutu: 65,71 KB | İndirme Sayısı: 39)
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#6
Çok Teşekkür ederim ATOZ hocam verdiğiniz bilgiler için.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task