otomatik kayıt yapmak?
Tarih
16/07/2009 17:26
Konu Sahibi
gocebe
Yorumlar
7
Okunma
2281
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



gocebe
Aktif Üye
Kullanici Avatari
Aktif Üye
57
3
26/02/2009
14
İstanbul
Ofis 2013 64 Bit
11/04/2016,14:52
Çözüldü 
selamlar.
öncelikle okuyanların anlaması zor olacak belki, şimdiden kafa karışıklığı için özür dilerim. Img-grin

neyse soruma gelince, çalıştığım yerde gelirler ve giderlerin tutulması amacıyla bir db yapmaya soyundum. herşey gayet iyi gidiyordu ancak kullanacak kişi madem yaptın tam olsun çalışan personelin her ayın 01,15 ve 20 olmak üzere üç periyotta maaş aldığı bir durumda bu bilgilerin otomatik olarak her ay db eklenmesini istedi. giderlerin bir kalemide çalışanlar ve onların maaşlarıdır bilirsiniz.

benim derdimde burada başladı. tablo yapısı biraz karışık gibi duruyor onun için neler olduğunu açıklayarak devam ediyorum.
tbl_gelir_gider : gelir ve giderlerin tutulduğu tablo
tbl_gider_personel : giderin hangi personelden dolayı yapıldığını tutatn giderler ve personel ile baglantılı detay gider tablosu.
tbl_gelir_gider_baslik : gelir ve gider başlıkları tablosu.
tbl_gelir_gider_baslik_detay : gelir gider başlığına bağlı alt başlıklar ve datayları.
tbl_personel_ana : personel bilgileri.
tbl_personel_gorev : personelin görevlerinin tutulduğu tablo.

özetle problemim her program açıldığında çağıracağım "frm_personel_maas_oto" formunun çalışmaya başlaması ile bulunulan ayın kontrolünü yaparak gider tablosuna personelin 01, 15 veya 20 günlerinde maaş kayıtlarını görev tanımlarına göre otomatik olarak "tbl_gelir_gider" tablosuna ve hangi personelden dolayı yapıldığı bilgisinide "tbl_gider_personel" tablosuna eklemek. doğal olarak ilk düşüncem aktif personelin enson kayıt yapılan maaş kaydını tabloda bir alanda tutmak ve bunu karşılaştırmada kullanmak oldu. ancak bunu yazmak ile programa yaptırmak çok farklı işler.
velhasıl bunca kelamın ardından bir fikir, bir yol, bir örnek ile bana zor gibi görünen bu işin üstesinden nasıl gelebiliriz?

örnek db ekte bulabilirsiniz.

ilgilenen herkeze şimdiden teşekkür ederim.


Ek Dosyalar
.zip   SORU.zip (Dosya Boyutu: 98,6 KB / İndirme Sayısı: 32)
Cevapla


esrefigit

Kullanici Avatari
Onursal
598
30/10/2008
356
Konya
Ofis 2003
06/11/2015,13:38
Çözüldü 
benim eklediğim ekders programını incele orda ayı seçiyorsun ve ayın günlerine göre kişilerin ekderslerini otomotik dolduran bir uygulama var
meşhur çin atasözü  "ACCESS İLE YAPABİLECEKLERİNİZ HAYAL EDEBİLECEKLERİNİZ İLE SINIRLIDIR" siz ne kadar hayal edebiliyorsunuz
Cevapla


Aykay
Aktif Üye
Kullanici Avatari
Aktif Üye
208
24/11/2008
3
Adana
Ofis 2003
14/10/2013,09:18
Çözüldü 
Sayın gocebe;
Benimde üzerinde çalıştığım ve düşündüğüm bir konu. Düşüncemi gerçekleştirmek için her gün şeklini şemalini değiştiriyorum. Ama benim düşüncem manuel (buton) toplu kayıt. Manuel olsun yeter ki çalışır seviyeye getireyim. Sonuçta tek tek girmekten iyidir. Düşünsenize bir sürü kayıt. Siz de projenizin bu bölümünü çalıştırır seviyeye getirdiğinizde burada paylaşırsanız faydalı olacağının kanaatindeyim.
Teşekkürler.
Eğer bir kişi hem akıllı, hem çalışkansa takdir et.
Çalışkan fakat akıllı değilse dikkat et.
Akıllı fakat tembel ise ikaz et.
Hem akılsız, hem tembelse uzaklaşmak için acele et.
Cevapla


esrefigit

Kullanici Avatari
Onursal
598
30/10/2008
356
Konya
Ofis 2003
06/11/2015,13:38
Çözüldü 
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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


gocebe
Aktif Üye
Kullanici Avatari
Aktif Üye
57
3
26/02/2009
14
İstanbul
Ofis 2013 64 Bit
11/04/2016,14:52
Çözüldü 
aslını isterseniz sorgular ile olan kayıtları almak eklenecekleri eklemek kolay işi biraz karıştıran görev tanımlarına göre gideri seçerek yaptırmakta.
db incelerseniz 01 de birden fazla görev tanımlı kişi maaş alıyor, 15 ve 20 aynı şekilde farklı görev tanımlı kişiler maaş alıyor, bu görev tanımı işin içinde olunca biraz gözüm korktu açıkçası. Img-grin
Cevapla


esrefigit

Kullanici Avatari
Onursal
598
30/10/2008
356
Konya
Ofis 2003
06/11/2015,13:38
Çözüldü 
o önemli değil zaten sen personel ana tablosunda personelin görevini belirtmemişmisin bundan gari extra bir isteğin varsa ben anlamışsım eğer daha açıklayıcı olursan daha iyi olur
meşhur çin atasözü  "ACCESS İLE YAPABİLECEKLERİNİZ HAYAL EDEBİLECEKLERİNİZ İLE SINIRLIDIR" siz ne kadar hayal edebiliyorsunuz
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Mükerrer Kayıt Hk. Serkan Çevik 2 73 01/12/2016, 22:37 Serkan Çevik
  Aynı Kişi adı ile Yeni Kayıt eklemek Mesut Kaytan 6 225 29/11/2016, 13:49 Mesut Kaytan
  Access'te Sertifika Programı yapmak Yakupbg 2 87 25/11/2016, 10:45 Yakupbg
  Güncelleştirme Sorgusu Çalıştırınca Kayıt Kilit Hatası Hakkında shalala 2 51 23/11/2016, 00:39 shalala
  Klasöre görerek yedekleme yapmak musteri53 3 115 19/11/2016, 21:30 ozanakkaya


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya