collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 28
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 3
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 14033
  • stats Beiträge insgesamt: 67186
  • stats Themen insgesamt: 9062
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Formular mit Listenfeld Frage ?  (Gelesen 1897 mal)

Offline silentwolf

  • Access-Meister
  • ***
  • Beiträge: 801
Formular mit Listenfeld Frage ?
« am: Mai 22, 2011, 11:18:14 »
Hallo an alle,
hab ein Formular erstellt das alle Projekte anzeigt. In diesen formular ist ein textfeld enthalten das mir alle Daten dieser Tabelle filtert.
Funktioniert auch!
Nun würde ich aber gern ein Listenfeld in diesem formular anfügen das mir die gefilterten werte anzeigt so das ich nicht durch alle Datensätze klicken muss.
Die Daten werden mit Hilfe von einem modul entsprechend gefiltert.

Function SearchAllFieldsFilter(strTable As String, strSearch As String) As String

  Dim rs As Recordset, intCnt As Integer

  Dim strFilter As String, I As Integer

    intCnt = 0

  Set rs = CurrentDb.OpenRecordset(strTable)

  rs.MoveFirst

  With rs

    For I = 0 To .Fields.Count - 1

      If .Fields(I).Type = dbText Or .Fields(I).Type = dbMemo Then

        intCnt = intCnt + 1
        strFilter = strFilter & _
                   "[" & .Fields(I).Name & "] like '*" & _
                   strSearch & "*' or "

      End If

    Next I

  End With

  rs.Close

  If intCnt > 0 Then

    'letztes " or " wieder raus

    strFilter = Left$(strFilter, Len(strFilter) - 4)

    SearchAllFieldsFilter = strFilter

  Else

    SearchAllFieldsFilter = ""

  End If

End Function



Und das ist der Code den ich für das Tetfeld verwende

Private Sub txtSearch_AfterUpdate()
  Dim strSearch As String, strFilter As String

  strSearch = Me.txtSearch

  If strSearch = "*" Then

    Me.Filter = ""

    Me.FilterOn = False

    Exit Sub

  End If
 

  strFilter = SearchAllFieldsFilter("tblProjekte", Me.txtSearch)

  If strFilter <> "" Then

    Me.Filter = strFilter

    Me.FilterOn = True

  End If


End Sub




Vieleicht könnte mir jemand bitte sagen was ich ändern soll damit das listenfeld mit dem namen lstProjekte auch gefiltert würde.

Vielen Dank

Albert