Zeitberechnung

  • Arbeitszeitberechnung funzt leider nicht. Ich bekomme immer eine Type mismatch Meldung. Kann sich bitte jemand mal das Script anschauen und den Fehler aufspüren.


    Danke und Gruß


    Wilfried

  • Ich habs mal in code-Tags verpackt, der Übersichtlichkeit halber.


    Ich krieg den Type mismatch nur, wenn die Felder Pause, Sonderstunden, etc. leer sind. Wenn ich dann als Default value eine Null angebe, tut das. Also würde ich behaupten, daher kommts...

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Hallo,


    ich habe die default values auf null gesetzt. Leider funzt das immer noch nicht.
    Wenn ich das Ganze debugge, bleibe ich an der Zeile


    kommt_std =Cint(Left(doc.kommt(0),2))


    hängen.


    wilfried

  • Wenn "kommt" und "geht" Time/Date-Felder sind und alle anderen numerisch, dann tut das...

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Guten Morgen,


    ich habe mal alle Felder überprüft.
    RockWilder
    "kommt" und "geht" sind Time/Date-Felder und alle anderen sind numerisch.
    MIND1
    Die messagebox Left(doc.kommt(0),2) gibt den Stundenwert zurück, so soll es auch sein.
    Beim Minutenwert hängt es sich wieder auf.
    kommt_ws = Right(doc.kommt(0),5)


    Gruß


    wilfried

    • Offizieller Beitrag

    Schalte mal den Debugger ein und lass das Script in den Fehler laufen. Im Debugger kannst Du dann die Typen überprüfen.


    Tipp: Lese doc.kommt(0) in eine Variable aus, dann hast Du es beim Debuggen einfacher. Ist der Fehler behoben, kannst Du dann die temp. Variable wieder entfernen. In etwa so

    Code
    ...
    temp_kommt = doc.kommt(0)
    kommt_ws = Right(doc.kommt(0),5)
    ...


    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

  • Hallo @all,


    vielen Dank für Eure Hilfe. Nach langem Suchen habe ich den Fehler gefunden.


    bei doc.uestd = war "" gesetzt und nicht der Vorgabewert 0


    Jetzt funzt es.


    Wilfried

    • Offizieller Beitrag

    dann mach doch im Script eine Fehlerbehandlung rein (IsNumeric), dann ist es egal, ob in dem Feld etwas steht oder nicht.


    Gruß
    Dirk

    • Offizieller Beitrag

    welche Fehlermeldung kommt?
    Was sagen die Typen im Debugger?


    Gruß
    Dirk

  • Die gleiche Meldung wie im ersten thread beschrieben: Type mismatch.
    Es ist nur komisch, das es manchmal funzt. Nur kann ich es nicht nachvollziehen.
    Wenn ich doc.kommt als Variable auslese, bekomme ich für Feld stunden: 14:00 und für Feld uestd: 420


    wilfried

    • Offizieller Beitrag

    dann scheint es noch Dokumente zu geben, die erstellt wurden, als die Felder noch von einem anderen Typ waren.


    Frag doch mit IsNumeric, IsEmpty und IsDate den Typ ab oder lese Text ein und wandel dann den Typ in den gewünschten Typ um.


    Gruß
    Dirk

  • Hallo,


    der Tipp mit isnumeric hat funktioniert. Nur kann ich nicht speichern.
    Meldung: Nicht erkannte Zeichen hinter Zahl!


    Wo oder wie kann ich diesen Fehler einkreisen


    Gruß



    Wilfried

    • Offizieller Beitrag

    woher kommt die Meldung: "Nicht erkannte Zeichen hinter Zahl!"?


    Wahrscheinlich aus der Maske (FrontEnd), d.h. da steht ein falsches Zeichen in einem Zahlenfeld.


    Gruß
    Dirk

    • Offizieller Beitrag

    habs mal für Dich auf erledigt gesetzt.


    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