Datumsvergleich

  • Hallo


    Wie kann ich zwei Datümmer vergleichen.


    ...
    if thisdate.DateOnly > enddate.DateOnly Then
    a = b
    endif
    ...


    Das funktioniert nicht obwohl beide Felder Datums-Felder sind.


    Was muss ich genau machen damit ich diese beiden Felder vergleichen kann. Es funktioniert nur wie folgt:


    ...
    if thisdate.DateOnly = enddate.DateOnly Then
    a = b
    endif
    ...


    Merci für eure Hilfe!

    • Offizieller Beitrag

    DateOnly ist vom Type String und der verhällt sich anders wie Datums/Zeitwerte.


    Mit SetAnyTime kann die Zeit vom Datums/Zeit-Object verworfen werden und dann mit ndt.LsLocalTime vergleichen.


    Den Beitrag aus "Software & Anwendungen" habe ich gelöscht, wegen doppelt.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Hier mein ganzes Script:



    Sub Initialize
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim view As NotesView
    Dim doc As NotesDocument
    Dim thisdate As New NotesDateTime(Today)

    Set db = session.CurrentDatabase
    Set view = db.GetView("(HSV_Feste)")
    Set doc = view.GetFirstDocument

    Do Until doc Is Nothing

    If (doc.Form(0) = "Feste" And doc.IBSErled(0) = "") Then
    Dim enddate As New NotesDateTime(doc.EndDate(0))

    If enddate.DateOnly = thisdate.DateOnly Then
    doc.IBSErled = "X"
    Call doc.Save(True, False)
    End If

    End If

    Set doc = view.GetNextDocument(doc)
    Loop

    End Sub



    Kann mir jemand sagen wie ich das genau anpassen muss?


    Merci

    • Offizieller Beitrag

    handelt es sich bei "thisdate" und "enddate" um Felder im Dokument, dann funzt dnotes Variante. Sind es aber NotesDateTime-Objecte dann meine.


    Was sind "thisdate" und "enddate"?


    Gruß
    Dirk

    • Offizieller Beitrag

    OK es sind NotesDateTime-Objecte

    Code
    Dim thisdate As New NotesDateTime(Today)
    call thisdate.SetAnyTime
    ... 
    Dim enddate As New NotesDateTime(doc.EndDate(0))
    call enddate.SetAnyTime
    
    
    If enddate.LSLocalTime = thisdate.LSLocalTime Then


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein