Skip to main content

AccessTr.neT


Toplu Taksitlendirmede Her Taksit İçin Tabloya Ayrı Kayıt Nasıl Yapabilirim.

Oğuz Türkyılmaz
Oğuz Türkyılmaz
4
560

Toplu Taksitlendirmede Her Taksit İçin Tabloya Ayrı Kayıt Nasıl Yapabilirim.

Çözüldü #1
Merhaba Herkese sağlıklı günler dilerim. Excel de yaptığım bir programın Access ile yeni bir sürümünü yapmaya çalışıyorum. Aşağıdaki kodlar ile resimde ki verileri, Police tablosuna kaydediyorum. Fakat yapmam gereken formda oluşturulan taksitlendirme tablosundaki her bir taksit bilgisini Aynı poliçe numarası ile girilen  taksit sayısı kadar Tabloda kayıt oluşturmak ve her bir kaydı, taksidin kaçıncı taksit olduğuna ve taksit tarihine göre  tabloya kaydetmek. Yardımlarınız için teşekkür ederim



[Resim: do.php?img=15215]

[Resim: do.php?img=15216]



Kod:
Private Sub btn_Kaydet_Click()

If IsNull(Me.TextBox_PoliceNo) Or Me.TextBox_PoliceNo = "" Then

  MsgBox "Lütfen Poliçe Numarasını Yazınız!", , "Kayıt İşlemi"
  Me.TextBox_PoliceNo.SetFocus
  Exit Sub
 
End If

Dim PoliceNoKontrol As Long
PoliceNoKontrol = Nz(DCount("ID", "Police", "POLICE_NO='" & Me.TextBox_PoliceNo & "'"))
If PoliceNoKontrol <> 0 Then
Cancel = False
MsgBox "Girmekte Oldugunuz Poliçe No Sistemde Kayıtlıdır.", 48, "Poliçe No Kontrol İşlemi"
Exit Sub

End If

Dim rs As New ADODB.Recordset

If MsgBox("Veriler Kaydedilecek .?", 36, "Kayıt Ediliyor") = vbYes Then

rs.Open "Police", CurrentProject.Connection, adOpenDynamic, adLockOptimistic

rs.AddNew

'rs!ID = Me.TextBox_ID
rs!ISLEM_TARIHI = Me.TextBox_IslemTarihi
rs!POLICE_NO = Me.TextBox_PoliceNo
rs!POLICE_TIPI = Me.ComboBox_PoliceTipi
rs!PLAKA_NO = Me.ComboBox_PlakaNo
rs!ARAC_TIPI = Me.ComboBox_AracTipi
rs!ACENTE = Me.ComboBox_Acente
rs!TEMINAT_TIPI = Me.ComboBox_TeminatTipi
rs!TEMINAT_TUTARI = Me.TextBox_TeminatTutari
rs!MUAYENE_BITIS = Me.TextBox_MuayeneBitis
rs!POLICE_BASLANGIC = Me.TextBox_PoliceBaslangic
rs!POLICE_BITIS = Me.TextBox_PoliceBitis
rs!POLICE_TUTARI = Me.TextBox_PoliceTutari
rs!DOVIZ_CINSI = Me.ComboBox_DovizCinsi
rs!ILK_TAKSIT_TARIHI = Me.TextBox_IlkTaksitTarihi
rs!TAKSIT_SAYISI = Me.ComboBox_TaksitSayisi
rs!TAKSIT_TUTARI = Me.TextBox_TaksitTutari
rs!ODEME_DURUMU = Me.ComboBox_OdemeDurumu
rs!ODEME_TARIHI = Me.TextBox_OdemeTarihi
rs!ODEME_TIPI = Me.ComboBox_OdemeTipi
rs!BANKA_BILGISI = Me.ComboBox_Banka
rs!KART_BILGISI = Me.ComboBox_KartBilgisi
rs!POLICE_DURUMU = Me.ComboBox_PoliceDurumu
rs!ACIKLAMA = Me.TextBox_Aciklama
rs!TAKSIT_TARIH_1 = Me.TextBox_T1
rs!TAKSİT_TUTAR_1 = Me.TextBox_TT1
rs!TAKSIT_TARIH_2 = Me.TextBox_T2
rs!TAKSIT_TUTAR_2 = Me.TextBox_TT2
rs!TAKSIT_TARIH_3 = Me.TextBox_T3
rs!TAKSIT_TUTAR_3 = Me.TextBox_TT3
rs!TAKSIT_TARIH_4 = Me.TextBox_T4
rs!TAKSIT_TUTAR_4 = Me.TextBox_TT4
rs!TAKSIT_TARIH_5 = Me.TextBox_T5
rs!TAKSIT_TUTAR_5 = Me.TextBox_TT5
rs!TAKSIT_TARIH_6 = Me.TextBox_T6
rs!TAKSIT_TUTAR_6 = Me.TextBox_TT6
rs!TAKSIT_TARIH_7 = Me.TextBox_T7
rs!TAKSIT_TUTAR_7 = Me.TextBox_TT7
rs!TAKSIT_TARIH_8 = Me.TextBox_T8
rs!TAKSIT_TUTAR_8 = Me.TextBox_TT8
rs!TAKSIT_TARIH_9 = Me.TextBox_T9
rs!TAKSIT_TUTAR_9 = Me.TextBox_TT9
rs!TAKSIT_TARIH_10 = Me.TextBox_T10
rs!TAKSIT_TUTAR_10 = Me.TextBox_TT10
rs!TAKSIT_TARIH_11 = Me.TextBox_T11
rs!TAKSIT_TUTAR_11 = Me.TextBox_TT11
rs!TAKSIT_TARIH_12 = Me.TextBox_T12
rs!TAKSIT_TUTAR_12 = Me.TextBox_TT12

Me.TextBox_ID = rs("id")

rs.Update
rs.Close

Set rs = Nothing

MsgBox "Kayıt işlemi gerçekleşmiştir.", 64, "Kayıt İşlemi"
GoTo 777

Else
MsgBox "Kayıt İşleminden Vazgeçtiniz. Veriler Kaydedilmedi!", 64, "Kayıt İşlemi"
End If

777

'Me.PoliceListesi.Requery

End Sub

.rar PoliceTakip.rar (Dosya Boyutu: 122,34 KB | İndirme Sayısı: 6)
Access Çekirgesi 
[Resim: img-cray.gif]


Son Düzenleme: 05/03/2023, 17:52, Düzenleyen: Oğuz Türkyılmaz.
Cevapla
#2
Sistemi tekrardan düzenliyorum. Poliçe Giriş Formundaki Taksit Tarih ve tutarlarının olduğu bölümü AltForm şeklinde değiştirip hesaplanan verilerin Taksitler adında yeni düzenleyeceğim Tabloya kaydolmasını sağlayacağım. Alt form yapma sebebim Liste kutusu şeklinde yapılır fakat Kullanıcı Ödeme Taksitlerinde hesaplanan verilerde manuel olarak değişiklik yapması gerekebiliyor bu yüzden ALT Form şeklinde yapmayı planlıyorum. Farklı fikir verebilen olursa da sevinirim. Bu değişiklikleri yaptıktan sonra son halini buraya güncellenmiş şekilde koyacağım.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#3
Uygulamada gerekli değişiklikleri yaptım. Poliçe giriş formunda gerekli bilgileri girip Taksitleri oluşturuyor fakat bu Textboxlara müdahale ettirmiyorum, toplam taksit sayısı yada poliçe toplam tutarı yanlış girildiyse tekrardan doğru verileri girip taksitleri yeniden oluşturması gerekiyor. Daha sonra Taksit ödeme planı oluştur butonuna basarak kullanıcının Ödeme planı ve tarihleri üzerinde istediği gibi değişiklikleri yapabileceği F_Taksitlendirme formunun açılmasını sağlıyorum. Buraya kadar senaryo çalışıyor. Sonuçta Bu forma girilen bilgilerin Taksit tablosuna kaydedildiğinde sonucun Taksit Tablosu resmindeki gibi, her bir taksit tutarı ve tarihinin ayrı bir ID numarası ile Taksit tablosuna kaydedilmesi amaçlanıyor. Döngü ile ya da başka bir yöntemle Formun üstündeki textboxların üzerinde dolaşıp dolu Texboxlardaki bilgileri tabloya nasıl aktarabilirim. Yardımlarınız için teşekkür ederim.

[Resim: do.php?img=15222]

[Resim: do.php?img=15223]
.zip PoliceTakip - FORUM.zip (Dosya Boyutu: 390,05 KB | İndirme Sayısı: 0)
Access Çekirgesi 
[Resim: img-cray.gif]


Son Düzenleme: 09/03/2023, 23:21, Düzenleyen: Oğuz Türkyılmaz.
Cevapla
#4
Herkese sağlıklı günler dilerim sorumla ilgili belli bir yol kat ettim. Foun üstündeki bilgileri istediğim format da döngü ile alabiliyorum, F8 ile kontrol ettiğim de döngüde hem taksit no hem taksit vadesi hem de taksit tutarı değerlerini görüyorum.. Fakat hem ado ile hem de ınsert ınto yöntemi kaydet dediğimde kod herhangi bir hata vermeden kayıt gerçekleşti mesajı ile koddan hatasız bir şekilde çıkıyor. (ADO da taksitlendirme formuna manuel okarak veri girdiğimde hata vermiyor. Ama Poliçe giriş formu üzerinden açtığımda hata veriyor.) Tabloya kaydetmemesinin sebebi nedir. Yardımlarınız için teşekkür ederim.

Kod:
Private Sub btn_Kaydet_Click()

'Dim rs As New ADODB.Recordset

If MsgBox("Veriler Kaydedilecek . Onaylıyormusunuz.?", 36, "Kayıt Ediliyor") = vbYes Then

Dim x As Byte

             For x = 1 To Form_F_PoliceGiris.ComboBox_TaksitSayisi
            
'             rs.Open "T_Taksitler", CurrentProject.Connection, adOpenDynamic, adLockOptimistic
'             rs.AddNew
'
'                rs!PoliceNo = TextBox_PoliceNo.Value
'                rs!TaksitNo = x
'                rs!TaksitVadesi = Controls("TextBox_T" & x).Value
'                rs!TaksitTutari = Controls("TextBox_TT" & x).Value
'                rs!OdemeDurumu = ComboBox_OdemeDurumu.Value
'
'                rs.Update
'                rs.Close
'
'                Set rs = Nothing

                PoliceNo = TextBox_PoliceNo.Value
                TaksitNo = x
                TaksitVadesi = Controls("TextBox_T" & x).Value
                TaksitTutari = Controls("TextBox_TT" & x).Value
                OdemeDurumu = ComboBox_OdemeDurumu.Value

              DoCmd.SetWarnings False

              DoCmd.RunSQL "INSERT INTO T_Taksitler ( PoliceNo, TaksitNo, TaksitVadesi, TaksitTutari, OdemeDurumu ) " & _
              "VALUES ('" & PoliceNo & "'," & TaksitNo & ", #" & Format(TaksitVadesi, "dd-mm-yyyy") & "#,'" & TaksitTutari & "','" & OdemeDurumu & "''')"

              DoCmd.SetWarnings True

                Next x
                
                MsgBox "Kayıt işlemi gerçekleşmiştir.", 64, "Kayıt İşlemi"
                GoTo 777
                Else
                MsgBox "Kayıt İşleminden Vazgeçtiniz. Veriler Kaydedilmedi!", 64, "Kayıt İşlemi"
                End If
                
777

End Sub

.zip PoliceTakip - FORUM.zip (Dosya Boyutu: 390,05 KB | İndirme Sayısı: 1)
Access Çekirgesi 
[Resim: img-cray.gif]


Son Düzenleme: 12/03/2023, 00:39, Düzenleyen: Oğuz Türkyılmaz.
Cevapla
#5
Sonunda becerebildim. Şu anda hem ado hem de insert into ile Kodlarım istediğim gibi her Taksit Taksitler tablosuna Ayrı ayrı işleniyor. Çalışan halini bırakıyorum buraya belki birilerinin de işine yarar.
.zip PoliceTakipMaster - Kopya.zip (Dosya Boyutu: 390,76 KB | İndirme Sayısı: 8)
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task