Bindingsource Sortierung nach Datum

  • VB.NET
  • .NET 4.5

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Bindingsource Sortierung nach Datum

    Hallo
    Ich habe ein hoffentlich nur kleines Problem mit der Sortierung
    Es soll nach Datum Sortiert werden.
    in der DB (Access) liegt das Datum als Datetime vor. Demzufolge auch im Dataset bzw.Bindungsource

    VB.NET-Quellcode

    1. Private Sub btn_sort_Click(sender As Object, e As EventArgs) Handles btn_sort.Click
    2. Me.SteuernBindingSource.Sort = "Datum Desc"
    3. End Sub


    Es wird auch sortiert, allerdings wird bei der Sortierung das "Jahr" ganz außer acht gelassen
    und der Monat teilweise...
    Ich hänge mal ein Bild mit an

    weiss jemand was da falsch läuft ??
    Gruß
    Sabine
    Bilder
    • x.png

      15,36 kB, 281×559, 50 mal angesehen
    Hm. Kann ich nicht nachvollziehen, aber ich hab auch kein Access, nur tDS-only.

    Links vor dem Sortieren, rechts nach Deinem Sortierbefehl. Passt.

    Nö, geht auch mit Access-Daten.

    Sind die Daten wirklich 100%ig im DateTime-Format? Denn das riecht nach String-Sortierung.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.

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

    Das selbe sehe ich....es sieht so aus, als dein BindingSource Strings sortiert und die werden GANZ anders sortiert als DateTime.

    Wie sieht die Klasse ,die du bindest, d.h. die Klasse ,die diese Property gehört, aus?
    Ich denke dein App ruft ToString() und dann sortiert, was zu disem Ergebniss führen würde..
    Life doesn't give you a datasheet. Sometimes the docs are wrong and you have to try it.
    So, habe den Fehler gefunden
    Also.....Die Daten stammen ursprünglich aus einer Excel-Tabelle.
    Diese Daten habe ich importiert zur Access DB. Dieses funktioniert wohl nicht richtig weil Access eigentlich kein DateTime kennt.
    Man kann es nur als "Benutzerdefiniert" einstellen.
    Diese Importierten Daten aus Excel haben wohl nicht das DateTime format
    Das anschließende Deklarieren in der Access DB zu DateTime funktioniert wohl nicht richtig.

    Daten, die ich zu Testzwecken im VB Prog. eingetragen habe werden richtig sortiert.

    das war der Fehler......

    Gruß
    Sabine

    echnaton schrieb:

    weil Access eigentlich kein DateTime kennt.
    :?:
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Kann ich aber auch nicht nachvollziehen.
    Gibt man in Excel ein Datum ein, wird es als dieses erkannt. Man kann dann tatsächlich noch mit "Zellen formatieren" nachhelfen. Aber der Import nach Access erkennt (bei mir) dann auch automatisch, dass es sich um DateTime handelt.
    links Excel, rechts der Access-Importassistent
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    das hat er so bei mir nicht angezeigt

    wie dem auch sei, Ich lass das jetzt auf sich beruhen-
    mit den neuen Daten funktioniert es ja
    die Importdaten sind schon gelöscht, waren ja nur zum Testen.
    Ab jetzt kommen nur noch frische Daten in die DB
    vielen Dank für eure Mühe
    Sabine
    nur noch zur Info: Excel-Importe mit OleDb bauen immer wieder jede Menge Sch....
    Da werden Strings zu Zahlen, Zahlen zu Datumse, und wenn dann was nicht passt, wirds einfach ausgelassen.

    Zuverlässiger ist, die Daten nach Csv zu konvertieren - dann ist zwar alles nur noch Strings - aber da weiss man dann, woran man ist.