PDA

Vollständige Version anzeigen : alle Felder auf einmal...


tornado
21.06.2001, 14:53
Hallo, da bin ich noch einmal

Sorry, ich hoffe bloss, dass diese Frage niemanden nervt, weil das gleiche vielleicht schon mehrere male beantwortet wurde. Ich habe jedoch nichts finden können (ob ich wohl falsch suche?). :rolleyes:
Zur Frage: habe da ein Formular, dessen aktives Feld ich wie folgt jeweils gelb einfärben lasse:

Private Sub Land_GotFocus()
Me![Land].BackColor = activateColor
End Sub

Beim Verlassen des Feldes wird das Feld mit Daten grün eingefärbt, ansonsten bleibts weiss:

Private Sub Land_LostFocus()
If Me!.[Land].Value >" " Then
Me![Land].BackColor = datenColor
Else
Me![Land].BackColor = normalColor
End If
End Sub

Die einzelnen Farben habe ich wie folgt definiert:

Option Compare Database
Const normalColor As Long = 16777215
Const datenColor As Long = 65280
Const activateColor As Long = 65535

Nun meine Fragen:
Diese ganze Prozedur habe ich für jedes einzelne Feld (ca. 20Stk.) in meinem Formular eingegeben. Gibt es da nicht eine gescheitere Lösung, die mir bereits beim Starten des Formulares die Felder nach Inhalt kontrolliert und entsprechend einfärbt? Im Moment färben sich die Felder erst nach dem Verlassen jedes einzelnen entsprechend ein, und (2.Frage) kann das gelbe (aktiviert) Einfärben automatisch über das ganze Formular (global?) erfolgen??


Vielen Dank für Eure Mithilfe und ich freue mich schon auf interessante Vorschläge! ;)

Freundliche Grüsse
Roger

Kurt aus Kienitz
21.06.2001, 15:02
Hallo,

Sieh mal in der Online-Hilfe unter Controls-Auflistung nach.

Beispiel:

Sub Form_Open()
Dim ctl As Control

' Controls-Auflistung durchlaufen.
For Each ctl In Me.Controls
' Prüfen, ob das Steuerelement ein Textfeld ist.
If ctl.ControlType = acTextBox Then
If ctl.Values = "" Then
ctl.Backcolor = 0
End If
End If
Next ctl
End Sub

tornado
21.06.2001, 15:19
Hallo Kurt

Guter Vorschlag, werde ihn mal austesten.

Wäre nie auf die Idee gekommen nach "Controls" zu suchen (kann das ein Anfänger wissen?) und, (hab ich selbst gemerkt), statt in der Access-Hilfe in der VBA-Hilfe zu suchen. :)

Nochmals Danke

Roger