Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: itaflo am Juli 09, 2019, 10:18:16

Titel: Unterformular Filtern im Formular
Beitrag von: itaflo am Juli 09, 2019, 10:18:16
Ich möchte im meinem Formular "ECNzurückmelden" über einen Kombifeld einen Filter setzten der mir letztendlich mein Unterformular Filtert.

Mein Unterformular heißt "DatenUnterformular" 

Das Feld das im Unterformular berücksichtigt werden soll heißt "Erlediger"

ich habe auch ein VBA probiert bekomme aber immer eine Fehlermeldung : ECN kann in ihrem Ausdruck angesprochene Feld 'DatenUnterformular' nicht finden.

hier mein VBA:
Private Sub Kombinationsfeld3_Click()

Dim strFilter As String
     strFilter = "Erlediger = " & Me!Kombinationsfeld3
     Debug.Print strFilter
     With Me!DatenUnterformular.Form
     .Filter = strFilter
     .FilterOn = True
     End With

End Sub
Titel: Re: Unterformular Filtern im Formular
Beitrag von: Josef P. am Juli 09, 2019, 11:56:07
Hallo!

ZitatMein Unterformular heißt "DatenUnterformular" 

Wenn das Unterformularsteuerelement DatenUnterformular heißt, sollte der Code laufen.
Der Formularname ist für den Code nicht relevant.

Wenn du Me.UnterformularSteuerelementName (statt Me!...) verwendest, hilft dir Intelisense bei der Auswahl.


/edit:
Ich vermute, dass ist ein anderer Fehler.
Kann es sein, dass du in der Datenquelle des Formulars "DatenUnterformular" einen Bezug zum Formular hast?

mfg
Josef
Titel: Re: Unterformular Filtern im Formular
Beitrag von: datekk am Juli 11, 2019, 12:11:00
Es könnte tatsächlich an dem "!" liegen. Damit werden eigentlich Datenbankfelder angesprochen, nicht aber Steuerelemente. Probier also mal Me.DatenUnterformular.Form aus...

Frage ist noch, was von dem Kombi für ein Wert zurückgegeben wird. Handelt es sich dabei um einen String, muss die Anweisung wie folgt lauten:

.Filter = "Erlediger = '" & strFilter & "'"

Da ein String immer in Hochkomma gesetzt wird also z.B.

.Filter = "Erlediger = 'String'"

LG
Titel: Re: Unterformular Filtern im Formular
Beitrag von: Josef P. am Juli 11, 2019, 17:43:59
[etwas OT]
ZitatEs könnte tatsächlich an dem "!" liegen. Damit werden eigentlich Datenbankfelder angesprochen, nicht aber Steuerelemente.
Me!... steht für Me.Controls("...") .. damit kann man Datenfelder und Steuerelemente.
ansprechen.

mfg
Josef