Hi,
die func macht diese Berechnung, nur noch auf Deine Felder und Maske anpassen:
Sub ZeitBerechnen
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
Dim k As Variant, g As Variant, p As Variant
Dim ks As String, gs As String, zs As String,u As String
Dim z As Double
Dim i As Integer
'************************** Gewählter Mitarbeiter
u=uidoc.FieldGetText("txtMitarbeiter")
'************************** Sind Kommt- und Geht-Zeit belegt?
ks=uidoc.FieldGetText("datKommt")
gs=uidoc.FieldGetText("datGeht")
If (Isdate(ks) And Isdate(gs)) Then
k=Timevalue(ks)
g=Timevalue(gs)
p=lookup("Intern\MitarbeiterAlternativ",u,"dblPause")
If Not Isnumeric(p) Then p=0
'Tatsächliche Arbeitszeit berechnen
z=(g-k)*24
'Pause wird nur abgezogen, wenn Arbeitszeit um 12:00
If ((k<Timenumber(12,0,0)) And (g>=Timenumber(12,0,0))) Then z=z-p
'Tatsächliche Arbeitszeit nur zuweisen, wenn realisitisch
If Not ((z >0) And (z<24)) Then
zs="Fehler"
Else
'in String umwandeln
zs=Format$(z,"0.00")
'Dezimalzeichen korrigieren
i=Instr(zs,".")
If (i>0) Then Mid$(zs,i,1)=","
End If
Call uidoc.fieldsetText("dblStunden",zs)
End If
End Sub