Autor Thema: Datumswerte vergleichen  (Gelesen 1331 mal)

Offline Joker

  • Aktives Mitglied
  • ***
  • Beiträge: 109
  • Geschlecht: Männlich
  • Let`s start !!
Datumswerte vergleichen
« 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

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Datumswerte vergleichen
« Antwort #1 am: 02.09.03 - 11:34:17 »
Wandle sie per CDat in ein Variant vom Typ Datum um, das scheint der einfachste Weg zu sein.

Bernhard

Offline Joker

  • Aktives Mitglied
  • ***
  • Beiträge: 109
  • Geschlecht: Männlich
  • Let`s start !!
Re:Datumswerte vergleichen
« Antwort #2 am: 02.09.03 - 11:36:52 »
Hi,

klappt !! Bin auch gerade daraufgekommen, aber danke nochmal.

Gruss
Martin

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Datumswerte vergleichen
« Antwort #3 am: 02.09.03 - 11:40:58 »
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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz