Mehrer Filter miteinander Verbinden
Hallo @ all,
da mir hier schon wirklich gut geholfen wurde, will ich mein neues Problem auch hier veröffentlichen in der Hoffnung das mir jemand den richtigen Denkanstoß geben kann.
ich habe ein Unterformular, für das ich in einem Modul eine Privat Function geschrieben hab (mit Hilfe dieses Forums funktioniert diese auch tadellos). dort filtere ich anhand eines Textfeldes mein Formular. weil diese Funktion in verschiedenen Formularen verwendet werden soll arbeitet sie mit einem Objekt als Formularnamen.
Hier ist mal der Code:
nun will ich diesen filter so erweitern das in mehreren Spalten gefiltert werden kann z.B. erst in spalte NAME --> alle namen mit A werden angezeigt, und dann in spalte VORNAME alle Vornamen mit A aus denen die Name mit A haben.
mach ich das ganze in einem SUB, ( Beispiel:Me.Filter = "VORNAME Like '" & Me!FILTER_VORNAME.Text & "*' And NAME Like '" & Me!FILTER_NAME & "*'")
klappt das auch wunderbar, aber binde ich das in meine Funktion mit ein ( Beispiel: AbsForm.Filter = PVAR_FORMFELD_1 & " Like '" & AbsForm(PVAR_SUCHFELD_1).Text & "*' And PVAR_FORMFELD_2 & " Like '" & AbsForm(PVAR_SUCHFELD_2).Text & "*'")
wird mir der erste Hochstrich nach And PVAR_FORMFELD_2 & " Like markiert, die ganze Zeile ist Rot und es erscheint eine Meldung "Erwarte Ausdruck"
kann mir jemand weiterhelfen? bin noch verdammt unerfahren was VBA angeht.
vielen dank schon mal im voraus.
grüsse Thomas
da mir hier schon wirklich gut geholfen wurde, will ich mein neues Problem auch hier veröffentlichen in der Hoffnung das mir jemand den richtigen Denkanstoß geben kann.
ich habe ein Unterformular, für das ich in einem Modul eine Privat Function geschrieben hab (mit Hilfe dieses Forums funktioniert diese auch tadellos). dort filtere ich anhand eines Textfeldes mein Formular. weil diese Funktion in verschiedenen Formularen verwendet werden soll arbeitet sie mit einem Objekt als Formularnamen.
Hier ist mal der Code:
Public Function PFCT_FILTER(PVAR_SUCHFELD_1 As String, PVAR_FORMFELD_1 As String) As String
Dim AktSteuerelement As Control
Set AktSteuerelement = Screen.ActiveControl
On Error GoTo FEHLER
Call setFormularObjekt
If Nz(AbsForm(PVAR_SUCHFELD_1).Text) <> "" Then
AbsForm.Filter = PVAR_FORMFELD_1 & " Like '" & AbsForm(PVAR_SUCHFELD_1).Text & "*'"
AbsForm.FilterOn = True
Else
AbsForm.FilterOn = False
Exit Function
End If
FEHLER: If AbsForm.RecordsetClone.RecordCount = 0 Then
AbsForm.Filter = ""
AktSteuerelement.SetFocus
AktSteuerelement.SelStart = Len(AbsForm(PVAR_SUCHFELD_1).Text)
MsgBox "Keine Übereinstimung gefunden in " & AktSteuerelement.NAME
Exit Function
End If
AbsForm(PVAR_SUCHFELD_1).SelStart = Len(AbsForm(PVAR_SUCHFELD_1).Text)
End Function
mach ich das ganze in einem SUB, ( Beispiel:Me.Filter = "VORNAME Like '" & Me!FILTER_VORNAME.Text & "*' And NAME Like '" & Me!FILTER_NAME & "*'")
klappt das auch wunderbar, aber binde ich das in meine Funktion mit ein ( Beispiel: AbsForm.Filter = PVAR_FORMFELD_1 & " Like '" & AbsForm(PVAR_SUCHFELD_1).Text & "*' And PVAR_FORMFELD_2 & " Like '" & AbsForm(PVAR_SUCHFELD_2).Text & "*'")
wird mir der erste Hochstrich nach And PVAR_FORMFELD_2 & " Like markiert, die ganze Zeile ist Rot und es erscheint eine Meldung "Erwarte Ausdruck"
kann mir jemand weiterhelfen? bin noch verdammt unerfahren was VBA angeht.
vielen dank schon mal im voraus.
grüsse Thomas
Please also mark the comments that contributed to the solution of the article
Content-Key: 146393
Url: https://administrator.de/contentid/146393
Printed on: April 26, 2024 at 13:04 o'clock
7 Comments
Latest comment
Hallo xpilzx1!
Versuchs mal damit:
Gruß Dieter
Versuchs mal damit:
& "*' And " & PVAR_FORMFELD_2 & |
Gruß Dieter
Moin.
Versuch mal:
AbsForm.Filter = PVAR_FORMFELD_1 & " Like '" & AbsForm(PVAR_SUCHFELD_1).Text & "*' And " & PVAR_FORMFELD_2 & " Like '" & AbsForm(PVAR_SUCHFELD_2).Text & "*'"
Nach dem And fehlte das " &
HTH
MK
AbsForm.Filter = PVAR_FORMFELD_1 & " Like '" & AbsForm(PVAR_SUCHFELD_1).Text & "*' And PVAR_FORMFELD_2 & " Like '" & AbsForm(PVAR_SUCHFELD_2).Text & "*'"
Versuch mal:
AbsForm.Filter = PVAR_FORMFELD_1 & " Like '" & AbsForm(PVAR_SUCHFELD_1).Text & "*' And " & PVAR_FORMFELD_2 & " Like '" & AbsForm(PVAR_SUCHFELD_2).Text & "*'"
Nach dem And fehlte das " &
HTH
MK