Domino 9 und frühere Versionen > ND6: Entwicklung
Monat im Script errechnen
m3:
Ich hätte das mit einer Function gelöst:
--- Code: ---...
Dim Session As New NotesSession
Dim db As NotesDatabase
Dim coll As NotesDocumentCollection
Dim loopdoc As NotesDocument
Dim item As NotesItem
Dim iLetzterMonat As Integer
Dim sMonatsName As String
Set db = session.CurrentDatabase
Set coll = db.UnprocessedDocuments
Set loopdoc = coll.GetFirstDocument
iLetzterMonat = Month(Now()) -1
If( iLetzterMonat <= 0) Then
iLetzterMonat = iLetzterMonat +12
End If
sMonatsName = Monatsname(iLetzterMonat)
If( sMonatsName <> "" ) Then
Goto Errorhandling
End If
While Not(loopdoc Is Nothing)
Call loopdoc.ReplaceItemValue( sMonatsName, loopdoc.counter )
loopdoc.counter = 0
Call loopdoc.Save(True,True,True)
Set loopdoc = coll.GetNextDocument(loopdoc)
Wend
...
Function Monatsname (imonat As Integer) As String
Dim SMonatsNamen(12) As String
sMonatsNamen(0) = "Jänner"
sMonatsNamen(1) = "Februar"
sMonatsNamen(2) = "März"
sMonatsNamen(3) = "April"
sMonatsNamen(4) = "Mai"
sMonatsNamen(5) = "Juni"
sMonatsNamen(6) = "Juli"
sMonatsNamen(7) = "August"
sMonatsNamen(8) = "September"
sMonatsNamen(9) = "Oktober"
sMonatsNamen(10) = "November"
sMonatsNamen(11) = "Dezember"
If( imonat < 1 Or imonat > 12) Then
Monatsname = ""
Else
Monatsname = sMonatsNamen(imonat-1)
End If
End Function
--- Ende Code ---
RvM:
Danke - ihr seit Spitze!! :knuddel:
DerAndre:
Martins Code ist nicht ganz Richtig.
Der geht zwei Monate zurück...
Glombi:
Da setze ich noch einen drauf ;D
Wozu einee eigene Funktion für einen EINZEILER ;)
sMonatsName = Format$( <Datum>, "mmmm" )
Dim Session As New NotesSession
Dim db As NotesDatabase
Dim coll As NotesDocumentCollection
Dim loopdoc As NotesDocument
Dim item As NotesItem
dim monatsname as string
dim monatnr as integer
dim ndt as NotesDateTime
set ndt = New NotesDateTime( Now )
call ndt.AdjustMonth(-1)
monatsname = Format$( ndt.LSLocalTime, "mmmm" )
Set db = session.CurrentDatabase
Set coll = db.UnprocessedDocuments
Set loopdoc = coll.GetFirstDocument
While Not(loopdoc Is Nothing)
call loopdoc.ReplaceItemValue( monatsname, loopdoc.counter )
loopdoc.counter = 0
Call loopdoc.Save(True,True,True)
Set loopdoc = coll.GetNextDocument(loopdoc)
Wend
Andreas
m3:
--- Zitat von: DerAndre am 05.12.06 - 11:45:53 ---Martins Code ist nicht ganz Richtig.
Der geht zwei Monate zurück...
--- Ende Zitat ---
Nope. Ein Monat zurück. Das zweite "-1" ist für das Array (Base 0 !!!).
@glombi: Streber! ;) ;D
Deine Lösung hat aber den Nachteil, dass immer englische Monatsnamen herauskommen.
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln