none
Datensätze eines Formulars on-the-fly filtern ...

    Frage

  • Ich möchte die Datensätze eines Formulars  mit einem ungebundenen Textfeld filtern.

    Dazu verwende ich momentan folgenden Code:

      Dim suchstr As String
        
        If Len(Trim(Me.txtSuchfeld.text)) < 3 Then Exit Sub
        
        If IsDate(Me.txtSuchfeld.text) Then
            suchstr = Format(Me.txtSuchfeld.text, "dd.mm.yyyy")
            filterstr = "[Geburtsdatum]=#" & suchstr & "#"
               
        Else
            suchstr = Trim(Me.txtSuchfeld.text)
            filterstr = "[Personalien] like '*" & suchstr & "*' OR [Auftragsnummer] like '*" & suchstr & "*' OR " & _
                        "[versicherungsnummer] like '*" & suchstr & "*'"
            
        End If
        
        Me.Filter = filterstr
        Me.FilterOn = True

    Wie man erkennen kann, soll bei EIngabe von mehr als 3 Zeichen (das wäre änderbar) mithilfe der Filter-EIgenschaft gesucht werden.

    Es soll entweder in den Personalien nach Namen oder nach versicherungsnummer geuscht werden (oder Teilen davon). Alternativ wird nach einem Geburtsdatum gesucht.

    Bei Namensteilen funktioniert das auf den ersten Blick ganz gut.

    Angenommen, ich gebe "fri" ein: Dann wird auf Vornamen wie "Elfriede" oder "Wilfried" und Nachnamen wie "Frisch" oder "Fritsch" gefiltert.

    jetzt tauchen so etwa 8-10 Datensätze auf, der Fokus sitzt wieder/immer noch im Suchfeld und der bisherige Text "fri" ist markiert. Tippe ich nun weiter, um das Suchkriterium weiter zu verfeinern, dann steht da statt "fris" nur noch "s" und alles ist für die Katz!

    Gibt es für mein Problem eine Lösung oder mache ich da grundlegend etwas falsch ?

    Donnerstag, 18. Oktober 2012 12:29

Antworten

Alle Antworten

  • Hallo NicoNi,

    NicoNi schrieb folgendes:
    ...

    jetzt tauchen so etwa 8-10 Datensätze auf, der Fokus sitzt wieder/immer noch im Suchfeld und der bisherige Text "fri" ist markiert. Tippe ich nun weiter, um das Suchkriterium weiter zu verfeinern, dann steht da statt "fris" nur noch "s" und alles ist für die Katz!

    Setze den Cursor an das Ende.
    Siehe dazu: http://www.donkarl.com?FAQ4.24

    Gruß
    Gunter


    Access FAQ: http://www.donkarl.com

          http://www.avenius.de - http://www.AccessRibbon.de
    http://www.ribboncreator.de - http://www.ribboncreator2010.de

    • Als Antwort markiert NicoNi Donnerstag, 18. Oktober 2012 14:23
    Donnerstag, 18. Oktober 2012 12:35
    Moderator
  • Ich möchte die Datensätze eines Formulars  mit einem ungebundenen Textfeld filtern.

    [...]

    jetzt tauchen so etwa 8-10 Datensätze auf, der Fokus sitzt wieder/immer noch im Suchfeld und der bisherige Text "fri" ist markiert. Tippe ich nun weiter, um das Suchkriterium weiter zu verfeinern, dann steht da statt "fris" nur noch "s" und alles ist für die Katz!

    Gibt es für mein Problem eine Lösung oder mache ich da grundlegend etwas falsch ?

    Alternativ zu Gunter's Hinweis:

    Versuch's mal mit dem Ereignis 'Bei Änderung'.


    Viele Grüße Stefan

    Donnerstag, 18. Oktober 2012 14:06