Çalışılan Gün Fazlasını Mesai Olarak Ekleme

1 2 3 4
27/05/2021, 15:33

berduş

SaatTpl fonksiyonunu aşağıdaki gibi düzenleyip dener misiniz?
Private Sub SaatTpl(Optional id As Long)
StrAlan = ""
For x = 1 To 31
StrDgr = Format(x, "00")
StrDgr = "IIf(IsNumeric(E" & StrDgr & ") , cdbl(E" & StrDgr & "),0)"
StrAlan = StrAlan & " + " & StrDgr
Next x
SqlUpdt = "Update [EKDERS] " & _
"SET [ETOPSAAT] =" & StrAlan
If id > 0 Then SqlUpdt = SqlUpdt & " where ID=" & id

CurrentDb.Execute SqlUpdt

SqlUpdt = "Update [EKDERS] " & _
"SET [ETOP]=fix([ETOPSAAT]/10), [MESAI]=[ETOPSAAT]-[ETOP]*10 "
If id > 0 Then SqlUpdt = SqlUpdt & " where ID=" & id
CurrentDb.Execute SqlUpdt
End Sub
27/05/2021, 20:38

karaayhan

gayet güzel sayın berduş
anlık olarak günlere veri girdiğimde mesai alanında eksi -4645,5 gibi değerler oluyor sonra
düzeliyor
form.current?
sorun her hücreye yazılan top, ETOP1 vs. olay yordamları mıdır?
27/05/2021, 20:45

berduş

(27/05/2021, 20:38)karaayhan yazdı: anlık olarak günlere veri girdiğimde mesai alanında eksi  -4645,5 gibi değerler oluyor sonra
düzeliyor
denemelerimde öyle bir soruna rastlamadım hangi değerleri girdiğinizde oldu bu sorun?
Not:Metin140 değer atamak için de fonksiyona gerek yok
debetim kaynağına    =Say([PERNO]) yazmanız yeterli

çalışmanız oldukça karışık geldi o nedenle sorunların hepsini çözümleyemedim normalde sadece yazdığım fonksiyonun değerleri değiştirebilmesi gerekirdi ama sürekli hata verdiğinden sizin hazırlamış olduğunuz yapıya dokunmadım
son bir hatırlatma tablolarda hesaplanmış alan kullanmanıza gerek yok hesaplama zaten sorgu üzerinden yapılabiliyor o 4 alan için ETOP, calistigipazarlar, MESAI ve ETOPSAAT alanları için tabloda alan ayırmanıza gerek yoktu bence (başka alanlar da olabilir).
28/05/2021, 00:33

karaayhan

sayın berduş,ilginize desteğinize teşekkür ederim.
uyarı ve tavsiyelerinizi dikkate alacağım.
ellerinize sağlık
28/05/2021, 00:57

berduş

Sorun çözüldüyse cevaplanmışlara taşıyalım
1 2 3 4