Skip to main content

AccessTr.neT


otomatik kayıt yapmak?

otomatik kayıt yapmak?

Çözüldü #4
sayın göçebe soruyu okuyunca bu soruyu gerçekten senin sorup sormadığını merak ettim senin yaptığın örneklere bakınca böylesine basit bir soruyu nasıl sorabiliyorsun hayret ettim yada sen bizim bildiğimiz göçebe değğilsin

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

bu kodu senin formundaki personel maaş toplamı etiketinin tıklamasına yaz
meşhur çin atasözü  "ACCESS İLE YAPABİLECEKLERİNİZ HAYAL EDEBİLECEKLERİNİZ İLE SINIRLIDIR" siz ne kadar hayal edebiliyorsunuz
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
otomatik kayıt yapmak? - Yazar: gocebe - 16/07/2009, 17:26
Cvp: otomatik kayıt yapmak? - Yazar: esrefigit - 16/07/2009, 17:57
Cvp: otomatik kayıt yapmak? - Yazar: Aykay - 16/07/2009, 20:48
Cvp: otomatik kayıt yapmak? - Yazar: esrefigit - 17/07/2009, 08:41
Cvp: otomatik kayıt yapmak? - Yazar: gocebe - 17/07/2009, 09:32
Cvp: otomatik kayıt yapmak? - Yazar: esrefigit - 17/07/2009, 09:45
Cvp: otomatik kayıt yapmak? - Yazar: gocebe - 19/07/2009, 22:32
Cvp: otomatik kayıt yapmak? - Yazar: assenucler - 20/07/2009, 14:11
Task