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
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
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
[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