Skip to main content

AccessTr.neT


Mükkerrer Kayıt ve Güncelleme

Mükkerrer Kayıt ve Güncelleme

Çö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

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
Mükkerrer Kayıt ve Güncelleme - Yazar: Aykay - 17/07/2009, 14:58
Cvp: Mükkerrer Kayıt ve Güncelleme - Yazar: Aykay - 17/07/2009, 16:15
Cvp: Mükkerrer Kayıt ve Güncelleme - Yazar: esrefigit - 18/07/2009, 14:38
Cvp: Mükkerrer Kayıt ve Güncelleme - Yazar: Aykay - 18/07/2009, 19:19
Task