Announcement

Collapse
No announcement yet.

Frage zur Verbesserung eines Codes für ein Suchformular

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Frage zur Verbesserung eines Codes für ein Suchformular

    Hallo liebe community,

    Ich bin mit der Verbesserung einer Datenbank mit Suchfunktion betraut. Der Code der (nicht von mir geschriebenen) Suchfunktion lautet wie folgt:


    Code:
    
    Private Sub Command_Go_Click()
    
        Dim strSearch As String
        Dim strSQL As String
        Dim strMatches As String
        Dim rst As DAO.Recordset
        Dim fld As DAO.Field
        Dim i As Integer
        
        If IsNull(Me.Text_Search.Value) Then
       MsgBox "Bitte geben Sie einen Suchbegriff ein!"
       Text_Search.SetFocus
       End If
        
        If Len(Nz(Me.Text_Search.Value, "")) Then
            strSearch = "*" & Trim(Me.Text_Search.Value) & "*"
            strSQL = "SELECT tblSitzung.sitzung_id " & _
                          ", tblSitzung.sitzung_datum " & _
                          ", tblSitzung.sitzung_art " & _
                          ", tblSitzung.sitzung_teilnehmer " & _
                          ", tblThemen.themen_id " & _
                          ", tblThemen.themen_fragestellung " & _
                          ", tblThemen.themen_input " & _
                          ", tblThemen.themen_ergebnis " & _
                       "FROM tblSitzung INNER JOIN tblThemen ON tblSitzung.sitzung_id=tblThemen.sitzung_id_f;"
            Set rst = CurrentDb.OpenRecordset(strSQL, dbOpenSnapshot)
            With rst
                Do Until .EOF
                    For Each fld In .Fields
                        If Nz(fld, "") Like strSearch Then
                            If Not InStr(strMatches, rst!sitzung_id) Then
                                If Len(strMatches) > 0 Then strMatches = strMatches & ", "
                                strMatches = strMatches & !sitzung_id
                            End If
                        End If
                    Next fld
                    .MoveNext
                Loop
                .Close
            End With
            Set rst = Nothing
            If Len(strMatches) Then
                DoCmd.OpenForm "frmSitzung", , , "sitzung_id IN ( " & strMatches & " )"
                Forms!frmSitzung.[Unterformular].Form.Filter = "[themen_fragestellung] LIKE '*" & Me.Text_Search.Value & "*' OR [themen_input] LIKE '*" & Me.Text_Search.Value & "*' OR [themen_ergebnis] LIKE '*" & Me.Text_Search.Value & "*'"
                Forms("frmSitzung").Sought = Me.Text_Search.Value
                Forms!frmSitzung.AllowEdits = False
                Forms!frmSitzung!Unterformular.Form.AllowEdits = False
            Else
                MsgBox "Keine Ergebnisse für den Suchbegriff:  " & Me.Text_Search.Value, vbInformation, "Suche abgeschlossen"
                Text_Search.SetFocus
            End If
        End If
        
        
    End Sub
    Ich möchte nun erreichen, dass das Suchwort im Ergebnisformular markiert dargestellt wird. Wie kann ich das bewerkstelligen?

    Vielen Dank im Voraus für eure Hilfe!

  • #2
    Hallo,

    leider geht das meiner Meinung nach mit Access - Bordmitteln nicht.

    Grüße
    Tino
    Ich habs gleich!
    ... sagte der Programmierer.

    Comment


    • #3
      Danke für die Rückmeldung! Ich hoffe trotzdem noch weiter, dass vielleicht doch jemand eine Lösung kennt :-)

      Comment

      Working...
      X