Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: bky am April 27, 2020, 17:06:33

Titel: Formular: Mehrere Felder mit Kontrollkästchen sichtbar/unsichtbar machen
Beitrag von: bky am April 27, 2020, 17:06:33
Hallo Leute,
ich habe für mein Problem leider keine passende Lösung über die Suchfunktion gefunden. Ich hoffe wie immer, dass ich nicht doch die passende Lösung übersehen habe und entschuldige mich schon mal, falls doch. Bitte habt Nachsicht, da ich ein absoluter Access-Anfänger bin und mit VBA noch gar nichts am Hut hatte.

Nun zu meinem Problem:
Ich habe ein Formular erstellt, in dem sich ein Kombinationsfeld samt Abfrage in der Datensatzherkunft befindet. Dieses und weitere Felder würde ich aus Übersichtlichkeitsgründen gerne mit Hilfe eines Kontrollkästchens sichtbar/unsichtbar machen. Die Standardeinstellung für das Kombinationsfeld ist somit "Sichtbar = Nein". Dementsprechend habe ich den VBA-Generator angeworfen und folgenden Code eingefügt, der beim Klicken des Kontrollkästchens auslösen soll:

Private Sub Kontrollkaestchen_Click()
If Me!Kontrollkaestchen = True Then
    Me!Kombinationsfeld.Visible = True
        Else
    Me!Kombinationsfeld.Visible = False
End If
End Sub

Dieser Code funktioniert, wenn das Kombinationsfeld leer, also ohne Abfrage ist. Füge ich nun die Abfrage bei der Datensatzherkunft des Kombinationsfeldes ein, funktioniert der oben genannte VBA-Code plötzlich nicht mehr. Das Kombinationsfeld taucht beim Klicken auf das Kontrollkästchen nicht auf. Das Merkwürdige ist, dass ich keinerlei Hinweis von Access bekomme, woran das liegen kann. Normalweise bekomme ich bei Fehlern wenigstens eine entsprechende Fehlermeldung bzw. der Debugger geht an. Die Abfrage, die eingefügt habe, funktioniert übrigens ebenfalls ohne Probleme.

Ich hoffe, ich konnte mein Problem deutlich machen und bedanke mich jetzt schon Mal herzlich!

Viele Grüße,
bky
Titel: Re: Formular: Mehrere Felder mit Kontrollkästchen sichtbar/unsichtbar machen
Beitrag von: MzKlMu am April 27, 2020, 18:17:50
Hallo,
das dürfte mit der Abfrage nichts zu tun haben.
Das Kombi wird ausgeblendet, ob mit oder ohne Datenherkunft.
Das muss also eine andere Ursache haben.
Gibt es noch weiteren Code.

PS:
Der gezeigte Code geht auch kürzer:
Private Sub Kontrollkaestchen_Click()
    Me.Kombinationsfeld.Visible = Me.Kontrollkaestchen
End Sub

If  Then  Else braucht es da nicht.

Und wer aus Übersichtlichkeitsgründen Felder ein/ausblenden muss, hat möglicherweise eine falsche/ungeeignete Tabellenstruktur.
Titel: Re: Formular: Mehrere Felder mit Kontrollkästchen sichtbar/unsichtbar machen
Beitrag von: bky am April 28, 2020, 09:30:13
Hallo Klaus,

nein, der gezeigt Code ist der einzige. Vielen Dank schonmal für den Tipp mit dem verkürzten Code! Ich habe jetzt auch herausgefunden woran es lag: Ich habe die verknüpften Felder der Hauptmatrix statt der wirklichen Feldname verwendet  ::). Warum es beim leeren Kombinationsfeld mit dieser Methode geklappt hat ist mir allerdings ein Rätsel  ???.
Was das Ausblenden der Felder angeht habe ich mich unklar ausgedrückt. Die verschiedenen Felder/Tabellen sind hierarchisch aufgebaut mit relativ vielen Auswahlmöglichkeiten. Um die relevantesten hervorzuheben und das Formular nicht unnötig zu überladen habe ich mich deshalb für die Variante mit dem Ausblenden entschieden ;).

Vielen Dank nochmal für die Hilfe und eine schöne Restwoche,
bky