Skip to main content

AccessTr.neT


Mükkerrer Kayıt ve Güncelleme

Mükkerrer Kayıt ve Güncelleme

Çözüldü #1
Değerli arkadaşlar merhaba;
Form üzerindeki verileri geçici olarak bir tabloya kaydediyorum. Bu tablodaki verileri başka bir tabloya aktarmak ve aynı veri varsa uyarı vererek güncelleme yapmasını sağlamak ve bu tabloda kalıcı olarak kalmasını nasıl sağlarım.
Teşekkürler
.rar MUKERRER_GUNCELLEME.rar (Dosya Boyutu: 32,26 KB | İndirme Sayısı: 26)
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.
Son Düzenleme: 17/07/2009, 15:08, Düzenleyen: Aykay.
Cevapla
Çözüldü #2
kardeşim akay zaten personelin maaşı sizde her ay değişiyormu değişmiyorsa bir personel tablosu yaparsın orda kişinin aldığı maaş bellidir sen her ay maaş yap dersin personel tablosundaki kyıtları ado ile gezersin bu personelin sabitlerine bakarak maaşı hesaplar ve maaş tablosuna ekler tabi 06-2009 diye dönemsel olarak diyelim sen bu aya yanlışlıkla tekrar ekleme yapacaksın ozaman maaş tablosundan içinde bulunduğumuz ayı ve yılı alır ve bunu maaş tablsoundan kontrol eder ve daha önce personel maaşları yapılmışsa seni uyarrı bu ay maaş yapmışsınız diye değilse maaş yapılsınmı der evet dersen personel tablosunu gezer ve her personelde hesaplar dönemi ekler ve maaş tablosuna yazar bu kadar basittir bunun için senin yaptığın gibi dönem yıl vs vs tablolarına gerek yoktur.
meşhur çin atasözü  "ACCESS İLE YAPABİLECEKLERİNİZ HAYAL EDEBİLECEKLERİNİZ İLE SINIRLIDIR" siz ne kadar hayal edebiliyorsunuz
Cevapla
Çözüldü #3
Sayın esrefigit;
Maaş metin kutusu şehven girilmiştir. Onun yerine sürekli değişen veya değişmesi gereken (her ay veya 6 ayda bir) bir metin kutusuda düşünebilirsiniz. Mesela; aylık kullandığı izin gün sayısı, aylık aldığı avans toplamı gibi.
Aslında asgari ücreti düşündüğümüzde ve bu asgari ücret de her 6 ayda bir değiştiğinden dolayı tablodaki veriler sürekli güncelleme yapılması gerekir. Tabi ki geçmişteki kaydedilen veriler de saklı kalmak suretiyle. Neden bu verileri aylık olarak sürekli tabloda geçici olarak tutup daha sonra kalıcı olarak başka bir tabloya aktarmak isteyip ve bunun üzerinde değişiklik olduğunda güncelleme yapmak istediğini sorarsan.
Bende derim ki;
Geçici Tablo Açısından; Verilerin geçici olarak kaydedilen tablo verilerin form üzerinden değişikliğe uğradığında bu tabloda tutmak daha sonra kalıcı olan tabloya aktarma yapmak.
Kalıcı Tablo Açısından ; Verilerin kalıcı tabloya aktarılmasıyla geçmişe dönük hangi dönemde (ay ve yıl şeklinde) personelin maaşının ne kadar olduğunu görebilmek.
Diğer bir husus bu kalıcı tabloyu aynı zamanda aylık tüm personele puantaj uygulanmak üzere paramatre olarak kullanabileyim.
Örnek; Çalışan tüm personele Haziran 2009 döneminde maaşı üzerinden bütün yasal kesintileri düşerek net asgari ücretine ulaşmak için;
A Personeli
Maaş (brüt) : 693,00
Ssk Primi (%14) : 97,02
İşsizlik Sig. Fonu (%1) : 6,93
Gelir vergisi (%15) : 88,36
Damga verigisi : 88,36
Kesintiler Toplamı : 196,47
Net asgari ücret : 496,53
bu verileri formun üzerinde olduğunu düşünelim . Ve kalıcı tabloya Haziran 2009 dönemini bu değerlerin oranlarını (brüt maaşı, ssk primi oranı, işsizlik sig.oranı, gelir vergisi oranı, damga vergisi oranı) alarak kaydedecek. Yani Haziran 2009 dönemine puantaj hazırlarken kalıcı tablodaki dönemi seçecem ve bununla birlikte oluşturulan diğer verilerle birlikte Haziran 2009 dönemini başka bir formda ilgili personelin veya tümünün puantajını hazırlayacağım.
Özetlemek gerekirse, Formdaki veriler geçici tabloya, burdan kalıcı tabloya eski kaydı kontrol ederek (dönem) yeni kaydı eklemeyi sağlamak.
Kalıcı tabloya ekleme yaparken daha önce aynı dönem (Örn. Haziran 2009 şeklinde) varsa ekrana uyarı mesajı verecek, ve gerçekten eski kaydın üzerinde veri güncelleme yapmak istiyorsak güncelleme işlemini (kayıt) gerçekleştireceğiz. Eğer ki yeni dönem oluşturmak istiyorsak zaten uyarıya gerek kalmaksızın yeni dönem kaydını gerçekleştireceğiz.
Kalıcı tabloya ekleme yaparken geçici tabloya ne kaydedilmişse bütün kayıtları aktarması gerekir. (brüt maaş, gelir vergisi oranı vs.) Puntaj işleminde maaşla birlikte diğer verilerde parametredir.
Umarım ifade edebildim.
Teşekkürler efendim
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
Çözüldü #4
bak akay kardeş öncelikle bu geçici tablo mantığına gerek yok ben sana tablolarını söyleyeyim sen ona göre düşün

öncelikle personel tablosu olacak orda kişinin brüt maaşı yazacak kesinti oranları yazacak neden herkesde damga vergisi 1000/6 ama herkes evli değil herkesin özel sigorta kesintisi yok bunlar değiştikçe kişi bilgilerine gir ve değiştir bir zahmet sen zam olduğunda gir ve değiştir zaten asgari ücret alanlar için bir problem yok ücret tipi asgari özel dersin asgari ücrete zam geldiğinde ise git şu personel tablosunda asgari ücretlileri bul ve hepsinin asgari ücretini şununla değiştir dersin hepsi değişir diğerlerine gelince onlarıda elinle değiştirirsin

buraya kadar anlaşıldı değilmi

sonra bir avans tablosu yaparsın personel id ile bağlarsın buna personelin ay içinde aldığı avansları tarih tarih girersin isterse ay içinde 10 defa avans alsın buda anlaşıldımı

şimdi bir maaş tablosu yaparsın bak geçici meçici demiyorum

burda öncelikle olmazsa olmaz alanlar var bunlar
personelid=sayı personel tablosundaki id ile bağlanacak
ay=maaş ayı olacak
yıl=maaş yılı olacak

ve diğerleri damga vergisi avans toplamı sigorta hastane kesintisi vs vs net maaş

şimdi program nasıl çalışcak sen formdan yıl seçeceksin ay seçeceksin zaten seçtiğin ay ve yıla göre maaş hesaplanmışsa alt forma gelecek yoksa hesapla diyeceksin ve personel tablosuna gidecek ilk personeli alacak oranlara bakarak maas tablosuna ekleme yapacak

Dim rs As New ADODB.Recordset
rs.Open "personel", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Dim rs1 As New ADODB.Recordset
rs1.Open "maas", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
dim a as currency ,b as currency ,c as currency
If rs.EOF = True Then
MsgBox "PERSONEL EKLENMEMİŞ PERSONEL EKLEYİN."
Else
If rs.EOF <> True Then
Do
rs1.AddNew
rs1("personelid")=rs("personelid")
rs1("YILAY")=me.ay&me.yıl
rs1("avans")=dsum("[avansalinan]","avans","[personelid]="&rs("personelid")& "and [avansay]="& me.ay & "and [avansyıl]="&me.yıl)'burda avans tablosundan kişinin aldığı avans mitarı toplanıyor ve bu ayın avansına yazılıyor
a=dsum("[avansalinan]","avans","[personelid]="&rs("personelid")& "and [avansay]="& me.ay & "and [avansyıl]="&me.yıl)
rs1("sskpirimi")=rs("brütmaaş")*rs("sskoranı")/100
b=rs("brütmaaş")*rs("sskoranı")/100

en sondada bunları toplayıp brüt maaş dan çıkarıyorsun
rs1("netmaas")= rs("brütmaas")-(a+b+c vs vs )
rs1.Update
rs.MoveNext
Loop Until rs.EOF
End If
Set rs1 = Nothing
Set rs = Nothing
Me.maasaltform.Requery burdada yapılan maasşı alt forma getiriyoruz istersek orda başka değişiklikler de yapabilirzi
End If

bu sana mantığını anlatma bakımından örneklenmiştidir tamamen böyle olacaktır diye bir şey yok ancak bu mantıkla yapılacağı kesin aslında sorgu ilede yapılır ama bundan daha kolay olmaz gözünü sevdiğimin adosu
meşhur çin atasözü  "ACCESS İLE YAPABİLECEKLERİNİZ HAYAL EDEBİLECEKLERİNİZ İLE SINIRLIDIR" siz ne kadar hayal edebiliyorsunuz
Cevapla
Çözüldü #5
Saygıdeğer esrefigit;
İLAHİ ADO SEN ADAMI ÖLDÜRÜRSÜN...!
ACCESSİN İÇİNDE KENDİMİ KAYBETTİM HÜKÜMSÜZDÜR...!
Bilmiyorum bu cümlelere yabancımısınız. Ama ben bunu söylemeye başladım. Olsun yinede seviyorum mevcut durumu. Şikayetçi değilim. Olmamda. Hani örnek hikaye vermek gerekirse;
Nasreddin hocanın kızı gelin olmuş atın üstünde gidiyormuş, hemde ağlıyormuş. Bunu gören Nasreddin hoca kızına; "kızım istersen gitme" demiş. Kız da; "Olsun hem ağlarım, hem de giderim" demiş.
Şimdi bizde bunun ucundan tuttuysak, "ya bu deveyi güdecez, ya da bu diyardan gidecez."
Konumuza gelirsek, sonuç olarak ikimizde aynı şeyi düşünüyoruz. Belkide benim düşüncem fazla gereksiz kayıtlar olabilir. Bundan dolayı karışık bir durum ortaya çıkıyor. Buna mukabil sizinkide sade olmuş oluyor. Netice veya varış noktası aynı. Hemfikiriz.
Ben size bir programın çalışma sistemini gösteren örnek gönderiyorum. Buna istinaden bu programın çalışma sistemini özetleyen ve acces de nasıl gerçekleştirebilirim diye bir yazı hazırladım ve gönderiyorum. Benim anladığım şekli böyle. Sizin anlayış ve yorumlama farklı olabilir. Çünkü konuya ve access'e hakim olan sizsiniz.
İnceleyip tekrar görüşelim.
Saygılarımla,
.rar Örnek.rar (Dosya Boyutu: 264,22 KB | İndirme Sayısı: 36)
.rar Yazı.rar (Dosya Boyutu: 414,96 KB | İndirme Sayısı: 25)
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.
Son Düzenleme: 18/07/2009, 20:08, Düzenleyen: Aykay.
Cevapla
Çözüldü #6
bak aykay kardeş öncelikle ben asla sıfırdan bir proje tasarlamam ancak sana tarif ederim sen bir şeyler yaparsan bende sana yardımcı olmaya çalışırım ancak ben bir şey söylediğimde sen olmaz benim dediğim dedik dersen bir yere varamayız ve şimdi sırasıyla gidelim öncelikle şu sabitler olayını halledelim sen sabitler tablosunu hazırla unutma tablonda öncelikle bulunması gerekli alanlar var onlar sırasıyla
sabitid=otomotiksayı
ay=sayı
yıl=sayı
bunlar kesinlikle olacak bundan sonrası o gönderdiğin örnekteki sabitlerse ona göre tablonu yap ve bir de formunu yap biz formda önce içinde bulunduğumuz ayın sabitlerini al diyeceğiz eğer o yoksa bir önceki ayın verisini al diyeceğiz ve hesaplama yaparkende bu sabitlerle hesaplama yapamazsınız bu aya aktarmanız gerekir diyeceğiz

şunuda belirteyim bu iş sanıldığı yada sizin yazdığınız kadar kolay değil art arda bir sürü kod çalışacak demektir özellikle hesaplamalrda git şuna bak bu çıraksa ve yaşı şu kadarsa tekrar geri dön sabitlerden çırağı bul ordan şu yaş aralığındaki ni bul ve ona göre hesapla bir defa yaş kodu olavcak ve o yaşı otomotik hesaplayacak vs vs

yani ben ne diyorsam onu yapmaya hazırsanız böyle bir projeye kalkışın sayfalar dolusu kodlar olacak ona göre
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