Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Joker am 02.09.03 - 11:27:15
-
Hi,
habe zwei Felder mit Strings welche jeweils einen Datumswert in der Form tt.mm.jjjj enthalten. Wie stelle ich es am besten an, damit ich vergleichen kann ob ein Datum größer bzw. kleiner als das andere ist ?
Gruss
Martin
-
Wandle sie per CDat in ein Variant vom Typ Datum um, das scheint der einfachste Weg zu sein.
Bernhard
-
Hi,
klappt !! Bin auch gerade daraufgekommen, aber danke nochmal.
Gruss
Martin
-
Nicht gerade trivial :
Ich habe es so gelöst
Function date2normdate ( DOC_DATUM As String) As String
Dim iTag As Integer
Dim iMonat As Integer
Dim iJahr As Integer
Dim sTag As String
Dim sMonat As String
Dim sJahr As String
iTag = Cint(sWord(DOC_DATUM,".",1))
iMonat = Cint(sWord(DOC_DATUM,".",2))
iJahr = Cint(sWord(DOC_DATUM,".",3))
If iTag <10 Then
sTag = "0" & Cstr(iTag)
Else
sTag = Cstr(iTag)
End If
If iJahr < 50 Then iJahr = iJahr + 2000
If ( iJahr > 50 And iJahr < 100 ) Then iJahr = iJahr + 1900
sJahr = Cstr(iJahr)
If iMonat <10 Then
sMonat = "0" & Cstr(iMonat)
Else
sMonat = Cstr(iMonat)
End If
Print "TAG: ", sTag, " MONAT: ", sMONAT," Jahr: " sJahr
date2normdate = Cstr(sJahr) & "." & sMonat & "." & sTag
End Function
Diese Funktion benötigst Du auch
Function sWord ( sourceString As String, separator As String, number As Integer ) As String
searchString$=SourceString & separator
For i% = 1 To number
pos%=Instr(searchString$, separator)
If pos%=0 Then Exit For
substring$=Left(searchString$,pos%-1)
searchString$=Mid(searchString$, pos%+1)
Next
If pos% > 0 Then
sWord=substring$
Else
sWord=""
End If
End Function
und jetzt der einfache Vergleich :
Dat1 = Date2normdate(DATUM1)
Dat2 = Date2normdate(DATUM2)
If Dat1 <= Dat2 Then ' Das jüngste zuerst
es gibt bestimmt massig bessere Lösung über NotesKlassen
Ciao
Don Pasquale