Hallo brauche da noch mal Hilfe,
möchte von meinem Gleitzeitkonto ja mal den einen oder anderen Tag freinehmen "Entnahme GLZ"
https://picload.org/view/dcopowpl/21-11-_2018_09-22-52.png.html
wie wäre die korrekte Berechnung in der Anwenheitsliste ? wäre ja jetzt mit Eintrag "Entnahme GLZ"
nicht 06:48:00 anwesend die müssten aus dem Konto entnommen werden
da habe ich keinen Plan
mein Eingabe Code für meine Anwesenheit:
Bitte um Hilfestellung.
Private Sub _Arbeitszeit_berechnen()
Dim anfang As DateTime = (dtpBeginn.Value)
Dim ende As DateTime = (dtpEnde.Value)
Dim dauer As TimeSpan = ende - anfang
Dim pause As TimeSpan = New TimeSpan(0, CInt(nud_Dauer.Value), 0)
Dim soll As TimeSpan = New TimeSpan(0, CInt(nud_AZSOLL.Value), 0)
If ISWeekend(CDate(dtpDatum.Value)) Then
Dim NewRow As DataRow = dt.NewRow
NewRow("Tag") = dtpDatum.Value.ToShortDateString
NewRow("Beginn") = "00:00" 'dtpBeginn.Value.ToShortTimeString
NewRow("Ende") = "00:00" 'dtpEnde.Value.ToShortTimeString
NewRow("Pause") = "00:00" 'pause
NewRow("Anwesend") = "00:00" 'dauer
NewRow("Soll-AZ") = "00:00" 'soll
NewRow("Ist-AZ") = "00:00" 'dauer - pause
NewRow("Gleitzeit") = "00:00" '(dauer - soll) - pause
NewRow("Bemerkung") = "WE"
dt.Rows.Add(NewRow)
ElseIf cmbBemerkung.Text = "Entnahme GLZ" Then
Dim NewRow As DataRow = dt.NewRow
NewRow("Tag") = dtpDatum.Value.ToShortDateString
NewRow("Beginn") = "00:00" 'dtpBeginn.Value.ToShortTimeString
NewRow("Ende") = "00:00" 'dtpEnde.Value.ToShortTimeString
NewRow("Pause") = "00:00" 'pause
NewRow("Anwesend") = "00:00" 'dauer
NewRow("Soll-AZ") = "00:00" 'soll
NewRow("Ist-AZ") = "00:00" 'dauer - pause
NewRow("Gleitzeit") = "00:00" '(dauer - soll) - pause
NewRow("Bemerkung") = cmbBemerkung.Text.ToString
dt.Rows.Add(NewRow)
ElseIf cmbBemerkung.Text = "Frei" Then
Dim NewRow As DataRow = dt.NewRow
NewRow("Tag") = dtpDatum.Value.ToShortDateString
NewRow("Beginn") = "00:00" 'dtpBeginn.Value.ToShortTimeString
NewRow("Ende") = "00:00" 'dtpEnde.Value.ToShortTimeString
NewRow("Pause") = "00:00" 'pause
NewRow("Anwesend") = "00:00" 'dauer
NewRow("Soll-AZ") = "00:00" 'soll
NewRow("Ist-AZ") = "00:00" 'dauer - pause
NewRow("Gleitzeit") = "00:00" '(dauer - soll) - pause
NewRow("Bemerkung") = cmbBemerkung.Text.ToString
dt.Rows.Add(NewRow)
Else
Dim NewRow As DataRow = dt.NewRow
NewRow("Tag") = dtpDatum.Value.ToShortDateString
NewRow("Beginn") = dtpBeginn.Value.ToShortTimeString
NewRow("Ende") = dtpEnde.Value.ToShortTimeString
NewRow("Pause") = pause
NewRow("Anwesend") = dauer
NewRow("Soll-AZ") = soll
NewRow("Ist-AZ") = dauer - pause
NewRow("Gleitzeit") = (dauer - soll) - pause
NewRow("Bemerkung") = cmbBemerkung.Text.ToString
dt.Rows.Add(NewRow)
End If
End Sub Gleitzeit berechnen:
Private Sub Glz_Minuten_Rechner()
Dim gesamtdauer As Integer = 0
tbx_Glz_Summe.Text = Added(dt, 8).ToString
gesamtdauer = CInt(tbx_Glz_Summe.Text)
Dim ts As New TimeSpan(0, 0, gesamtdauer)
lbl_gesamt_Dauer.Text = String.Format("{1:00}.{2:00}:{3:00}", ts.Days, _
ts.Hours, ts.Minutes, ts.Seconds)
End Sub und ich habe da auch noch eine Spalte "kummuliert":
Private Sub Glz_Minuten_kummulieren()
Dim result As Integer = 0
For Each r As DataRow In dt.Rows
result += (CInt(r("Gleitzeit").ToString.Substring(0, 2)) * 60) _
+ (CInt(r("Gleitzeit").ToString.Substring(3, 2)))
r(9) = result
Next
End Sub
Beitrag wurde zuletzt am 21.11.18 um 11:03:54 editiert. |