Datum kleiner als zweites Datum - Problem

  • VBScript

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Datum kleiner als zweites Datum - Problem

    Hallo zusammen!

    Seit einiger Zeit funktioniert ein kleines Script nicht mehr. Das ganze hat ne ganze Weile gelaufen und nun ist mir aufgefallen, dass es scheinbar nicht mehr funktioniert.
    Den Grund hierfür kenne ich nicht. Vermutlich werde ich aufgrund der Code-Schnipsel eh gesteinigt. Aber ich wollte dennoch lieber einmal kurz fragen. Vielleicht kennt ja jemand Abhilfe.

    Ich habe ein Datum (Anlagedatum eines Datensatzes in einer SQL-Datenbank) und das aktuelle Datum (Date). Beides als "shortdate" formatiert.
    Nun möchte ich ein Script ausführen wenn das Anlagedatum vor dem heutigen Datum liegt. In etwa so:

    VB.NET-Quellcode

    1. bezeichnung = TheView.GetDBFieldString("Artikel", "Bezeichnung")
    2. externenummer = TheView.GetDBFieldString("Artikel", "K_AlternativeArtikelnummer")
    3. artikelnummer = TheView.GetDBFieldString("Artikel", "ArtikelNummer")
    4. anldatum = FormatDateTime(TheView.GetDBFieldDateTime("Artikel", "AnlageDatum"),vbShortdate)
    5. aktdatum = FormatDateTime(Date, vbShortdate)
    6. If aktdatum > anldatum Then
    7. msgbox("1")
    8. end if


    Das "TheView-Zeugs" rührt daher, dass das Script auf einem Dialog in unserem Warenwirtschaftssystem liegt.

    Nun lasse ich mir per Messagebox aktdatum und anldatum ausgeben.

    Ergebnisse wir folgt:
    aktdatum: 14.11.2014
    anldatum: 27.08.2001

    msgbox("1") erscheint aber nicht. Weiß jemand wieso?
    Ist es einfach nur fatal das Script so simple zu halten (durch "<" und ">" Zeichen)?
    Und es klappte einfach von einem Tag auf den anderen nicht mehr?

    Ist es einfach nur fatal das Script so simple zu halten (durch "<" und ">" Zeichen)?

    Nein das würde mMn schon so passen...

    Unnötiges Voll-Zitat entfernt ~ Solaris

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Solaris“ ()

    "FormatDateTime()" liefert String als Datentyp.

    VB.NET-Quellcode

    1. If aktdatum > anldatum Then


    führt somit einen Stringvergleich und keinen Datumsvergleich durch.
    Das geht schief.
    An manchen Tagen gibt es zu allem Überfluss auch noch Ärger!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Rainman“ ()