... ich hab dir das auf die schnelle mal zusammengeschrieben.
Den kompletten Code fügst du in einer Schaltfläche bei LotusScript in das Ereignis "Click". Die angehängte Funktion löst sich dann von alleine an die richtige Position...
... im Postrecalc verhält es sich genauso, es muß eben LotusScript ausgewählt sein ...
' # Ich habe den Code in einer Schaltfläche postiert,
' # damit initialisiere ich das doc über ws... - ata
' # ... berechnet mit Hilfe der Funktion AnzMonate() die Anzahl der
' # ...betroffenen Monate zwischen Start und EndDatum...
' # ... Ich habe keine Validierung der Felder berücksichtigt...
Dim ws As New NotesUIWorkspace
Dim docThis As NotesDocument
Dim sStart As String
Dim sEnd As String
' # Set docThis = Source.Document ' # wenn im PostRecalc, dann diese Zeile aktivieren
Set docThis = ws.CurrentDocument.Document ' # wenn in einer Schaltfläche, dann diese Zeile aktivieren
' # ... die Feldwerte einlesen
sStart = docThis.fld_in_lidatum(0)
sEnd = docThis.fld_in_ab_ende(0)
' # und den Wert in das Ausgabefeld schreiben
docThis.fld_in_ab_monate_anz = Cstr(AnzMonate(sStart, sEnd))
' # ... müßte funktionen - ata
Function AnzMonate(StartDatum As String, EndDatum As String) As Integer
' # ata - Liefert die Anzahl der tangierten Monate zurück
' # StartDatum und EndDatum sind Datumsstrings
AnzMonate = 1 ' # Ein Monat ist mindestens betroffen
If AnzJahre(StartDatum, EndDatum) = 1 Then
' # Der Zeitraum liegt innerhalb eines Kalenderjahres
AnzMonate = Month(Datevalue(EndDatum)) - Month(Datevalue(StartDatum)) +1
Else
' # Der Zeitraum liegt über mehr als ein Kalenderjahr
AnzMonate = ((AnzJahre(StartDatum, EndDatum)-1) * 12) + (Month(Datevalue(EndDatum)) - Month(Datevalue(StartDatum)) +1)
End If
End Function