Liebe Wissende,
ich bin einmal wieder ratlos. Ich habe bei mir ein Listenfeld (Liste0), in dem ich sowohl durch eine Eingabe in ein Textfeld ((Text24 bzw. Text27)sortieren als auch durch einen Klick nach verschiedenen Spalten sortieren möchte.
Das filtern klappt ganz gut; Ich habe dem Listenfeld eine Abfrage zugrundegelegt, das in den Kriterien
wie Wenn([formulare]![Startmenü]![Text27] Ist Null;"*";[Formulare]![Startmenü]![Text27])
auf die beiden Textfelder Bezug nimmt und per Schaltfläche dann mit
Me.Liste0.Requery
aktualisiert wird.
Soweit, so gut.
Jetzt habe ich für das Sortieren einen VBA-Code mir zusammengebaut:
Private Sub Befehl29_Click()
Dim strSQL As String
strSQL = "SELECT Mängel.ID, Mängel.Bericht, Mängel.Berichtsnummer, Mängel.Titel, Mängel.[verantwortlich für Umsetzung], Mängel.[Fristvorschlag FSH], Mängel.Status "
strSQL = strSQL & "FROM Mängel "
strSQL = strSQL & "where Mängel.[ID] >0 "
If Len(Me.Text24) > 0 Then
strSQL = strSQL & " and (Mängel.[verantwortlich für Umsetzung] = ([Formulare]![Startmenü]![Text24]"
End If
If Len(Me.Text27) > 0 Then
strSQL = strSQL & " and (Mängel.[status] = ([Formulare]![Startmenü]![Text27]"
End If
strSQL = strSQL & „ORDER BY Mängel.ID“
Me.Liste0.RowSource = strSQL
Me.Liste0.Requery
End Sub
Hier soll also sowohl gefiltert werden als auch sortiert. Das Ergebnis ist jedoch: Wenn ein Textfeld leer ist und ich dann den VBA-Code aktiviere, klappt es. Wenn ich jedoch einen Filter in das Textfeld setze zeigt das Listenfeld nach Durchlauf des Codes keine Inhalte mehr an. Seltsamerweise bringt nach diesem Durchlaufen des Codes (vorher klappt es zuverlässig) dann auch die Aktualisieren-Funktion mit „Me.Liste0.Requery“ keine Ergebnisse mehr, egal ob ich die Filter dann lösche oder ändere.
Weiss jemand Rat?
Herzlichen Dank!
fshbb