isterseniz form tasarımı kalsın ama tüm kodları silip yeni konu açın adım adım ilerleyelim, hesaplanmış alanların değerinin ne olması gerektiğini, nasıl hesaplanmsı gerektiğini belirleyip buton ve diğer prosedürlere sonra girelim, yoksa ilerde işin içinden çıkılmaz olur.
en basitinde 2 önceki konuydu yanılmıyorsam orada gün hesabı farklı yapılıyordu burada farklı
aşağıdaki çalışmayı inceler misiniz? sadece deneme amaçlı
çalıştığı pazar, MESAI ve ETOPLAM hesaplanmış
ETOPSAAT/çalıştığı toplam saat nasıl hesaplanacak bilmediğimden hesaplama işlemine katılmadı
metin kutularından (sadece Gün kutuları) çıkıldığında olayı
Public Function HandleChange()
Say = 0
For txt = 1 To 31
strnum = Format(txt, "00")
If Me("txt" & strnum).Enabled = True And Me("txt" & strnum) <> 0 Then
TOPLAM = TOPLAM + Val(Nz(Me("txt" & strnum), 0))
End If
If Me("txt" & strnum).Value = "P" Then Say = Say + 1
Debug.Print Me("txt" & strnum).Name, Me("txt" & strnum).Value, Say
Next txt
Me.Metin274.Value = Say
'hy_____________________________düzenleme
If TOPLAM > 300 Then
Me.ETOP = 30
Me.MESAI = TOPLAM - 300
Else
Me.ETOP = TOPLAM / 10
Me.MESAI = 0
End If
'hy_____________________________düzenleme bitti
End Function
tek tek 31 tane metin kutusuna olay eklemek yerine form açıldığında çalışan aşağıdaki prosedür tüm günlere olay ekler
Private Sub Form_Open(Cancel As Integer)
tar
'hy_______________________gün metin kutularına olay ekleme
For txt = 1 To 31
strnum = Format(txt, "00")
Me("txt" & strnum).OnExit = "=HandleChange()"
Next txt
'hy_______________________gün metin kutularına olay ekleme BİTTİ
End Sub