Datum Sortieren Datenbank

  • VB.NET

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

    Datum Sortieren Datenbank

    Hallo,

    ist es möglich nur Eintrage mit ein Bestimmten Datum z.b. 18.09.2017 aus der Datenbank (Access) zu Laden und im ListView darzustellen?
    Ich dachte an ein Kalender wo man das Datum auswählt und dann auf Laden klickt.

    Ich Lade jetzt alle Einträge aus der Datenbank so;

    VB.NET-Quellcode

    1. Public Sub LoadListview()
    2. cmpFileListViewComparer.SortOrder = SortOrder.None
    3. cmpFileListViewComparer.SortColumn = 0
    4. ListView1.Sort()
    5. ListView1.Items.Clear()
    6. Call Liste()
    7. Oledr = OleDa.SelectCommand.ExecuteReader()
    8. Do While Oledr.Read()
    9. Item = ListView1.Items.Add(Oledr("Auftrag").ToString())
    10. Item.SubItems.Add(Oledr("N").ToString())
    11. Item.SubItems.Add(Oledr("T").ToString())
    12. Item.SubItems.Add(Oledr("S").ToString())
    13. Item.SubItems.Add(Oledr("B").ToString())
    14. Item.SubItems.Add(Oledr("Stl").ToString())
    15. Item.SubItems.Add(Oledr("D").ToString())
    16. Item.SubItems.Add(Oledr("Sta").ToString())
    17. Item.SubItems.Add(Oledr("Da").ToString())
    18. Item.SubItems.Add(Oledr("Sta").ToString())
    19. Item.SubItems.Add(Oledr("ID").ToString())
    20. Item.SubItems.Add(Oledr("DatumStart").ToString())
    21. Item.ImageIndex = 1
    22. Loop
    23. Oledr.Close()


    Ich hab mir es irgend wie so vorgestellt, Wenn DatumStart = 18.09.2017 dann Lade Eintrag aus der DB in das ListView.


    P.s. ich weiß DataGrid etc. aber ich Arbeite mit ListView also bitte :)

    *Topic verschoben*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Pixxxas schrieb:

    und im ListView darzustellen
    Hatten wir uns nicht schon mehrfach auf ein DataGridView verständigt?
    Wenn Du das über DataSet und DataBinding machst, geht das mit nem Einzeiler.
    Erzeuge im Designer ein DataSet, gib diesem die Verbindung zur Datenbank und (fast) feddich.
    Den Rest erklärt Dir der @ErfinderDesRades .
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    und wie? :(

    Ich hab es mal so versucht,

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. For Each LWI As ListViewItem In Form1.ListView1.Items
    3. If LWI.SubItems(6).Text.Contains("18.09.2017") Then
    4. ListView1.Items.Add(LWI)
    5. MsgBox("OK")
    6. End If
    7. Next
    8. End Sub


    Er sagt mir jetzt jedes mal ok wenn er das Datum gefunden hat, was ja auch gut ist.
    Aber wie kann ich mir die Einträge jetzt in ein anderes ListView Kopieren? also nur die mit dem Datum?

    Pixxxas schrieb:

    ist es möglich nur Eintrage mit ein Bestimmten Datum z.b. 18.09.2017 aus der Datenbank (Access) zu Laden und im ListView darzustellen?


    Ausgehend von der Fragestellung verstehe ich nicht was du mit einer zweiten Listview meinst?

    Das SQL wäre entsprechend:

    VB.NET-Quellcode

    1. OleDa.SelectCommand.CommandText = "SELECT * FROM [Liste] WHERE DatumStart = '18.09.2017'"
    Warum lädst Du alle Daten und versuchst Sie dann umständlich von einem ins andere Listview zu packen?
    Befolge doch die Ratschläge von @RodFromGermany und @ThuCommix
    Lese nur die Daten ein, die du auch benötigst...

    VB.NET-Quellcode

    1. OleDa.SelectCommand.CommandText = "SELECT * FROM [Liste] WHERE Datum='18.09.2017'"
    "Hier könnte Ihre Werbung stehen..."