Hallo,
folgendes (vermeintlich simple) Problem bekomme ich einfach nicht gelöst:
In Access habe ich ein Hauptformular als Träger für 2 Unterformulare (UF1 und UF2). Beide Unterformulare enthalten die Felder "Name" und "Aktivität" sowie eine Checkbox. Der Name kommt aus einer Tabelle mit Personen, die Personen-Tabelle ist über eine ID mit der Tabelle mit den Aktivitäten und Checkboxen verknüpft. Ziel ist es im Hauptformular mit UF1 Aktivitäten anzuzeigen, die von der jeweiligen Person ausgeübt werden und im UF2 anzuzeigen, was die jeweilige Person nicht ausübt.
Als Beispiel möchte ich nach den Daten von "Max" filtern:
UF1: Name = "Max" und Checkbox ist aktiviert
UF2: Name = "Max" und Checkbox ist NICHT aktiviert
Mein erster Ansatz war, die UF selbst mit einem festen Checkbox-Filter zu versehen, der ändert sich ja nicht, UF1 alle aktiven, UF2 alle inaktiven. Das habe ich über DoCmd.ApplyFilter als auch über das Eigenschaftenblatt gemacht, beides funktioniert. ABER
Der Filter aus dem UF wird immer von meinem Namen-Filter im Hauptformular inaktiviert (dieser funktioniert auch):
Private Sub Kombi_Name_Click()
Me.Text_Name = Me.Kombi_Name.Column(1)
Me.Text_ID = Me.Kombi_Name.Column(2)
y = RUN_FILTER1()
End Sub
Function RUN_FILTER1()
Dim Str1 As String
Str1 = Query_String("ID_Name", "=", Me.Text_ID)
Me.UF1.Form.FILTER = Str1
Me.UF1.Form.FilterOn = True
Me.UF2.Form.FILTER = Str1
Me.UF2.Form.FilterOn = True
End Function
Function Query_String(ByVal Field, Operator, FILTER) As String
If Field = "" Or Operator = "" Or FILTER = "" Then
Query_String = ""
'ElseIf IsNumeric(FILTER) Then
'Query_String = Field & " " & Operator & " " & Str(FILTER)
Else:
Query_String = Field & " " & Operator & "'" & FILTER & "'"
End If
End Function
Meine Ansätze ein ähnliches Konstrukt für die Checkboxen zu machen funktionieren leider nicht...
Dim Str2 As String
Str2 = Query_String("Ja_Nein", "=", True) oder Str2 = Query_String("Ja_Nein", "=", 1) oder Str2 = Query_String("Ja_Nein", "=", "1")
Me.UF1.Form.FILTER = Str2
Me.UF1.Form.FilterOn = True
Auf jeden Fall gaaanz lieben Dank für alle Tips und Tricks
|