16.03.2020, 08:48
Hallo zusammen,
ich möchte gerne meine Listbox nach einem Datum filtern und habe dafür versucht, eine if-Abfrage einzufügen.
Jedoch erscheint die Meldung, dass die Typen unverträglich seien. Mit einer "Strg" Definition würde es funktioniere, aber da klappt das Filtern nach datum nicht.
Findet jemand auf die Schnelle eine Lösung?
LG Eric
ich möchte gerne meine Listbox nach einem Datum filtern und habe dafür versucht, eine if-Abfrage einzufügen.
Jedoch erscheint die Meldung, dass die Typen unverträglich seien. Mit einer "Strg" Definition würde es funktioniere, aber da klappt das Filtern nach datum nicht.
Findet jemand auf die Schnelle eine Lösung?
LG Eric
Code:
' ************************************************************************************************
' VERARBEITUNGSROUTINEN
' ************************************************************************************************
'Diese Routine wird aufgerufen um die Liste (ListBox1) zu leeren, einzustellen und neu zu füllen
Private Sub LISTE_LADEN_UND_INITIALISIEREN()
Dim STARTZEILENNUMMER As Long
Dim lzeile As Long
Dim lZeileMaximum As Long
Dim i As Integer
Dim lspalte As Integer
'Alle TextBoxen leer machen
For i = 1 To iCONST_ANZAHL_EINGABEFELDER
Me.Controls("TextBox" & i) = ""
Next i
ListBox1.Clear 'Liste leeren
'4 Spalten einrichten
'Spalte 1: Zeilennummer des Datensatzes
'Spalte 2: Name (Spalte A)
'Spalte 3: Telefon (Spalte B)
'Spalte 4: E-Mail (Spalte C)
ListBox1.ColumnCount = 4
'Spaltenbreiten der Liste anpassen (0=ausblenden, nichts=automatisch)
'"<Breite Spalte 1>;<Breite Spalte 2>;<Breite Spalte 3>;<Breite Spalte 4>"
ListBox1.ColumnWidths = "0;;;"
'Feste Breiten: ListBox1.ColumnWidths = "0;100;100;100"
'Um eine Schleife für alle Datensätze zu erhalten, benötigen wir die letzte verwendete Zeile
STARTZEILENNUMMER = 5
For lzeile = STARTZEILENNUMMER To 999
Tabelle2.Select
If TabStrip1.Value = 0 Then
lspalte = 3
'Nur wenn die Zeile benutzt / nicht leer ist, zeigen wir etwas an:
If IST_ZEILE_LEER(lzeile) = False Then
[b] If CDate(Tabelle2.Cells(lzeile, lspalte - 1)) >= "10.03.2020" And CDate(Tabelle2.Cells(lzeile, lspalte - 1)) <= "11.03.2020" Then[/b]
'Spalte 1 der Liste mit der Zeilennummer füllen
ListBox1.AddItem lzeile
'Spalten 2 bis 4 der Liste füllen
ListBox1.List(ListBox1.ListCount - 1, 1) = CDate(Tabelle2.Cells(lzeile, lspalte - 1))
ListBox1.List(ListBox1.ListCount - 1, 2) = CStr(Tabelle2.Cells(lzeile, lspalte))
ListBox1.List(ListBox1.ListCount - 1, 3) = CStr(Tabelle2.Cells(lzeile, lspalte + 1))
End If
End If
ElseIf TabStrip1.Value = 1 Then
lspalte = 3
'Nur wenn die Zeile benutzt / nicht leer ist, zeigen wir etwas an:
If IST_ZEILE_LEER(lzeile) = False Then
'Spalte 1 der Liste mit der Zeilennummer füllen
ListBox1.AddItem lzeile
'Spalten 2 bis 4 der Liste füllen
ListBox1.List(ListBox1.ListCount - 1, 1) =CDate(Tabelle2.Cells(lzeile, lspalte + 2))
ListBox1.List(ListBox1.ListCount - 1, 2) = CStr(Tabelle2.Cells(lzeile, lspalte + 3))
ListBox1.List(ListBox1.ListCount - 1, 3) = CStr(Tabelle2.Cells(lzeile, lspalte + 4))
End If
End If
Next lzeile
End Sub