Sortieren nach Dartum!

Hallo!

Ich habe ein Programm gebastelt, dass in einem ListView Termine
anzeigt. dass das ganze nicht nach Datum sortiert ist (Sort ist
auf True!), stört mich schon stark, aber wäre zu verschmerzen.

Wie jedoch kann ich nach Datum sortieren, Beispiel:
Datum$=Date

if Termin1$=

Ich habe ein Programm gebastelt, dass in einem ListView
Termine
anzeigt. dass das ganze nicht nach Datum sortiert ist (Sort
ist
auf True!), stört mich schon stark, aber wäre zu verschmerzen.

Wie jedoch kann ich nach Datum sortieren, Beispiel:
Datum$=Date

Wei schaffe ich es, das das Ding nach Datum entscheidet, und
nicht nach string? Muss ich etwas „zu Fuß“ das Datum zerlegen,
und nach Tag, Monat, Jahr schauen?

Servus Florian

Da die Einträge in einem ListView immer Strings sind (auch wenn man andere Typen hineinschreibt, werden diese automatisch umgewandelt), kann natürlich nur nach diesen Strings sortiert werden. VB bzw. das (die/der??) ListView wissen nicht, dass in diesen Strings Datumswerte enthalten sind.

Eine Möglich wäre, wie du schon selbst angedeutet hast, die Datumswerte „zu Fuss“ nach Jahr, Monat und Tag zu zerlegen. Wenn du sie z. B. in der Form JJJJMMTT in das ListView schreibst und ListView.sorted = true ist, dann sind die Werte automatisch aufsteigend sortiert, aber natürlich auch in dieser nicht sehr übersichtlichen Form dargestellt.

Eine andere Möglichkeit wäre, die Datumswerte zuerst in einem Array zu sortieren (Array als Datum definiert, dann brauchst du nichts zu zerlegen) und erst dann in das ListView zu schreiben. ListView.sorted muss dann false sein, weil sonst wieder nach den Stringwerten sortiert würde!

Alle Klarheiten beseitigt? :wink:
Roland

Fast klar
Hi Roland!
Dank, für deine Antwort!

Eine andere Möglichkeit wäre, die Datumswerte zuerst in einem
Array zu sortieren (Array als Datum definiert, dann brauchst
du nichts zu zerlegen) und erst dann in das ListView zu
schreiben. ListView.sorted muss dann false sein, weil sonst
wieder nach den Stringwerten sortiert würde!

Komisch, das hatte ich NACH meinem Posting heute morgen auich mal versucht, hat aber net getan… ich wollte prüfen, ob ein Datum (heute) zwischen zwei anderen Datums liegt!
BSP:
Dim Termin1 AS Date, Termin2 As Date
[…]
IF Termin1

Dim Termin1 AS Date, Termin2 As Date
[…]
IF Termin1IF Termin1

schreiben … dann funktioniert’s nämlich … :wink:

Ciao
Roland

1 Like

ICh…
…Liebe Dich… wirklich? Nee!
Aber ich bin Dir 1000mal Dankbar!

Liebe Grüße
Florian, der jetzt gelich sein Proggi updaten wird :smile:))

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]