neyse sorunun cevabına gelince kaç tabloya kayıt yapacaksan okadar ado nesnesi açarsın
ben şimdilik ik adet ile örnek veriyorum biriyle tbl_personel_ana tablosunu dolancağız diğeri ile tbl_gelir_gider tablosuna kayıt yapacağız
şimdi bensana kodun hepsini detaylı anlatacağım
Private Sub Etiket43_Click()
burda personel tablosundaki maaş zamanı ile içinde bulunduğumuz ayın ayı ve yılını birleştimek için bir taih alanı yarattık
Dim maastarihi As Date
burda rs diye bir ado nesnesi yarattık
Dim rs As New ADODB.Recordset
burda ise rs adlı ado nesnesinin personel tablosunu açmasını istedik
rs.Open "tbl_personel_ana", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
burdada rs1 diye bir alan yarattık
Dim rs1 As New ADODB.Recordset
burda ise rs1 adlı nesnenin gelir gider tablosunu açmasını istedik
rs1.Open "tbl_gelir_gider", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
not =her iki tabloyuda aynı anda açtıkki birini dolanarak personeli alacağız ve her personel aldığımızda personele ait bilgileri açtığımız gider tablosuna kaydedeceğiz siz isterseniz aynı anda 10 tane tablo birden açıp hepsine birden her persoenlde personeli ekleye bilirsiniz dim rs ve rs.open kısmını kopyalamak sureti ile
işte burda personel tablosunu yukardan aşağı doğru gezmeye başlıyor kod
If rs.EOF <> True Then
Do
burda yukarda yarattığımız tarih alanına personel tablosundaki maas zamanını ve bu günün ayını ve yılını ekleyerek birleştirip bir tarih üretiyor
maastarihi = rs("maas_zamani") & "/" & Month(Date) & "/" & Year(Date)
işte burda açmış olduğumuz rs1 yani gider tablosuna her personelde ekleme yapıyoruz
rs1.AddNew
rs1("tarih") = maastarihi
rs1("tutar") = rs("maas")
rs1("baslik_bag") = rs("gorev_bag")
rs1("islem") = "BANKA"
rs1.Update
burda ise bir sonraki persoenl bir sonraki personel diye devam ettriyoruz
rs.MoveNext
Loop Until rs.EOF
End If
burda ise açmış olduğumuz tabloları yani bağlatıları kağatıyoruz yoksa bir başka yerde kullanmaya çalışsak bu tablo zaten açık olduğu için problem yaratacaktır
rs.Close
Set rs = Nothing
rs1.Close
Set rs1 = Nothing
End Sub
buda kodun temiz hali
Kod:
Private Sub Etiket43_Click()
Dim maastarihi As Date
Dim rs As New ADODB.Recordset
rs.Open "tbl_personel_ana", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Dim rs1 As New ADODB.Recordset
rs1.Open "tbl_gelir_gider", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If rs.EOF <> True Then
Do
maastarihi = rs("maas_zamani") & "/" & Month(Date) & "/" & Year(Date)
rs1.AddNew
rs1("tarih") = maastarihi
rs1("tutar") = rs("maas")
rs1("baslik_bag") = rs("gorev_bag")
rs1("islem") = "BANKA"
rs1.Update
rs.MoveNext
Loop Until rs.EOF
End If
rs.Close
Set rs = Nothing
rs1.Close
Set rs1 = Nothing
End Sub