VBA Access Formular: Bedingte Formatierung mit VBA

Fuchsei

Mitglied
Hi,

ich hätte ein kleines Problem: Ich habe ein Kontrollkästchen hinter jedem Datensatz stehen,

wenn man das Kontrollkästchen anklickt, also einen Hacken reinsetzt. Soll der ganze Datensatz einen bestimmten Rahmen oder vielmehr eine bestimme Rahmenfarbe bekommen.

Funktioniert das überhaupt? Wenn ja, wie würde das in VBA formuliert aussehen?

Danke schon im Voraus

VG
Fuchsei ;)
 
Zuletzt bearbeitet:
Der Datensatz soll einen Rahmen bekommen.

Soll beim Anzeigen ein Rahmen dargestellt werden oder wie meinst du das? Wird der "Inhalt" des Kontrollkästchens zusammen mit den anderen Daten gespeichert?
 
Also soll jedes Feld im Datensatz einen blauen Rahmen bekommen, wenn dieses Kästchen angehakt ist.
Der Inhalt wird gespeichert, ja. Und der blaue Rahmen soll dann natürlich auch bleiben. Falls der Haken wieder rausgenommen wird soll aber auch wieder zur Ursprungsrahmenfarbe rot zurückgegangen werden. :D
 
Versuche mal das hier:

Visual Basic:
Private Sub check_Click()
    rahmen
End Sub

Private Sub Form_Current()
    rahmen
End Sub

Sub rahmen()

Dim txt As Control

Dim rot
rot = RGB(255, 0, 0)
Dim schwarz
schwarz = RGB(0, 0, 0)

If check.Value = True Then
    For Each txt In Me.Controls
        If TypeOf txt Is TextBox Then
            txt.BorderColor = rot
        End If
    Next
Else
    For Each txt In Me.Controls
        If TypeOf txt Is TextBox Then
            txt.BorderColor = schwarz
        End If
    Next
End If

End Sub

Damit die Rahmenfarbe geändert wird, muss der Rahmentyp auf FLACH gestellt werden!

Ich habe im Beispiel eine Checkbox mit Namen "check" und den Code musst du einmal in das Click-Ereignis der Checkbox und dann noch ins das Current-Ereignis der Form damit beim Wechseln der Code ebenfalls ausgeführt wird.
 
Zuletzt bearbeitet:
Ok, die Lösung funktioniert an sich nur nicht ganz richtig, wie ich das gemeint habe. Beim Klicken in die Checkbox wird alles mit einer anderen Rahmenfarbe versehen.
Außerdem ist auf einmal in jedem Kontrollkästchen ein Haken.
Vll hab ich mich auch mit denn Begrifflichkeiten vertan. Ich hab ein Suchformular in tabellarischer Form, nach dem Suchen werden mir die Datensätze praktisch in Zeilen untereinander angezeigt. Hinter jeder Zeile ist ein Kontrollkästchen, das soll angeklickt werden und dann nur der Rahmen der Zeile in der das Kontrollkästchen ist mit einer anderen Farbe versehen werden. Oder hab ich einen Fehler in der Integration des Codes gemacht? Ich hab aber eig genau das selbe getan wie in deiner Anleitung vorzufinden?

Danke für die schnellen Antworten
 
Ok, jetzt verstehe ich was du machen willst denke aber nicht das es sich so lösen lässt.

Für Access gibt es jedes Feld/jeden Rahmen nur einmal, deshalb werden dann auch immer alle Farben gleichzeitig geändert.

Es gibt aber ab Access 2000 eine Möglichkeit die dir zumindest einen "Teilerfolg" bringen könnte.

Markiere in der Entwurfsansicht eines der Textfelder und klicke dann auf Format -> Bedingte Formatierung.

Dort wählst du bei Bedingung "Ausdruck ist" aus und gibst in das Feld daneben "[name_der_checkbox].[Wert]" ein (das Wort "Wert" so eingeben und für "name_der_checkbox" natürlich den Namen deines Feldes).

Jetzt kannst du noch z.B. als Hintergrundfarbe die Farbe Rot auswählen und fertig.

Jetzt wird bei diesem Feld der Hintergrund automatisch auf rot geänder so bald du die Checkbox markierst und das ohne eine Zeile Code.
 
Zuletzt bearbeitet:
Zurück