Thema Datum  Von Nutzer Rating
Antwort
Rot Unterformular - Checkbox mit VBA filtern
18.08.2022 18:18:56 Kirsten
NotSolved
30.08.2022 15:12:26 Ede
Solved
02.09.2022 19:32:58 Gast19455
NotSolved

Ansicht des Beitrags:
Von:
Kirsten
Datum:
18.08.2022 18:18:56
Views:
453
Rating: Antwort:
  Ja
Thema:
Unterformular - Checkbox mit VBA filtern

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


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Unterformular - Checkbox mit VBA filtern
18.08.2022 18:18:56 Kirsten
NotSolved
30.08.2022 15:12:26 Ede
Solved
02.09.2022 19:32:58 Gast19455
NotSolved