is date?

Ansicht von 3 Antwort-Themen
  • Autor
    Beiträge
    • #25889
      ThomasWilms
      Teilnehmer

        Liebe Gemeinde,

        ich habe folgendes Problem:

        On ExitField

        Put Field „DDatum“ into Dat

        If Dat Is a Date
        Then
        Put WochentagErmitteln( Dat,2) into Field „DWochentag“
        Else
        NichtGueltig
        End If

        FehlerPruefen

        End ExitField

        Die Abfrage liefert immer ‚false‘!

        Was mache ich falsch?

        LG Thomas

      • #25891
        Klaus Major
        Administrator

          Hi Thomas,

          bitte nach dem Einfügen von Skripte hier, diese mit den CODE Tags versehen, siehe obige Buttons über dem Eingabefeld. So bleibt die Formatierung erhalten, siehe hier:

          On ExitField
             Put Field "DDatum" into Dat
             If Dat Is a Date Then
                Put WochentagErmitteln( Dat,2) into Field "DWochentag"
             Else
                NichtGueltig
             End If
             FehlerPruefen
          End ExitField

          OK, die Frage ist, was genau steht im Feld „DDatum“?
          Ein deutsches Datum?

          Gruß

          Klaus

        • #25892
          ThomasWilms
          Teilnehmer

            Danke für die Info!

            ‚.01.2021‘ liefert False
            ‚01.01.2021‘ liefert False

            Muss ich noch irgendwie umrechnen?

            Weitere Frage:

            Ich habe ein Data Grid mit über 100 Zeile und 6 Spalten.

            Spalte 1: Datum in der Form „01.01.2021“
            Spalte 2: Wochentag (wird errechnet)
            Spalte 3: Uhrzeit in der Form „12:30“
            usw.

            Ich habe an manchen Tagen mehrere Einträge mit unterschiedlichen Uhrzeiten.
            Nun möchte ich ‚descending‘ sortieren und zwar nach „Datum“ und „Uhrzeit“,
            so dass Einträge mit dem selben Datum, aber unterschiedlichen Uhrzeiten,
            unmittelbar untereinander stehen.

            Geht das?

            VG Thomas
            LG Thomas

          • #25893
            Klaus Major
            Administrator

              Hi Thomas,

              ‚.01.2021‘ liefert False

              das ist korrekt.

              ‚01.01.2021‘ liefert False

              Das ist auch korrekt, da LC nur englisch spricht und das kein gültiges ENGLISCHES Datum ist!

              Wir können LC aber mitteilen, daß wir hier ein deutsches (die Sprache des darunterliegendes OS) haben:

              ...
              put "01.01.2021" into tDatum
              ## Hier der ganze Zauber:
              set the usesystemdate to TRUE
              answer (tDatum is a date)
              ## -> TRUE
              ...

              Den Wochentag kannst Du Dir auch von LC anzeigen lassen:

              ...
              put "01.01.2021" into tDatum
              set the usesystemdate to TRUE
              convert tDatum to long date
              answer "Wochentag:" && trueword 1 of tDatum
              ...

              Datagrid:
              1. Für diese Spalten die Sortierung auf SYSTEM DATETIME stellen
              2. Dann zuerst nach Datum
              3. dann nach Zeit sortieren
              ## Oder umgekehrt, aber das sollte so klappen.

              Gruß

              Klaus

              set the usesystemdate to tRUE

          Ansicht von 3 Antwort-Themen
          • Du musst angemeldet sein, um auf dieses Thema antworten zu können.