Access VBA Code für Suchformular geht nicht?
Hey, ich habe in einem Formular "Hauptmenü" ein Unterformular "InstallationskeysFormular", in dem Hauptformular habe ich ein Textfeld "txtSuche" und einen Button "btnSuche", mit folgendem Code:
Private Sub btnSuche_Click()
Dim strFilter As String
If Not IsNull(Me!txtSuche) Then
strFilter = "Produkt LIKE '*" & Me!txtSuche & "*' OR Beleg LIKE '*" & Me!txtSuche & "*' OR Kundennummer LIKE '*" & Me!txtSuche & "*'"
Me.Filter = strFilter
Me.FilterOn = True
End If
End Sub
Mithilfe dessen möchte ich das Unterformular sowohl nach Produkt, Beleg oder Kundennummer durchsuchen können und nur die passenden Datensätze sollen im Unterformular angezeigt werden.
In einem anderen Formular, welches kein Unterformular hat, funktioniert das einwandfrei.
Deshalb habe ich folgendes versucht, ich habe bei den Me.Filter und Me.FilterOn, den Namen des Unterformulares ergänzt, aber funktionieren tut es immer noch nicht, kann mir bitte wer sagen woran das liegt, dankeee.
Private Sub btnSuche_Click()
Dim strFilter As String
If Not IsNull(Me!txtSuche) Then
strFilter = "Produkt LIKE '*" & Me!txtSuche & "*' OR Beleg LIKE '*" & Me!txtSuche & "*' OR Kundennummer LIKE '*" & Me!txtSuche & "*'"
Me.InstallationskeysFormular.Filter = strFilter
Me.InstallationskeysFormular.FilterOn = True
End If
End Sub
Edit:
1 Antwort
Da fehlt noch ein "Form", damit wirklich die Optionen für das Formular angesprochen werden und nicht nur der Platzhalter im Hauptformular.
Also statt dem:
Me.InstallationskeysFormular.Filter = strFilter
Me.InstallationskeysFormular.FilterOn = True
machst du das:
Me.InstallationskeysFormular.Form.Filter = strFilter
Me.InstallationskeysFormular.Form.FilterOn = True
Habs grade mal selber nachgebaut. Der Filter funktioniert so. Die Spalten, die angezeigt werden sollen, müssen aber im Detailbereich vom Unterformular drin sein, auch wenn du die Datenblattansicht benutzt, sonst siehst du zwar, dass es Zeilen gibt, aber in den Zeilen steht nichts.
okey danke, ich habs geschafft, das Unterformular hieß ursprünglich nur Installationskeys, habe es dann umbenannt, in der Datensatzherkunft, war das auch geändert, aber bei Name stand das noch falsch
Achso. Das ist natürlich auch ein Grund, dass es nicht funktioniert.
leider geht es immer noch nicht, kann es daran liegen, dass das Unterformular in der Datenblattansicht ist?