Ungebundenes Feld in einem Bericht ändern
Karl Donaubauer
Gesendet: 01.01.21 12:10
Betreff: RE: Ungebundenes Feld in einem Bericht ändern



Elite Veteran

Beiträge: 747
50010010025
Ort: Wien
Hallo, Paula!

...
Ich habe in einem Bericht ein ungebundenes Feld zur Berechnung eines Zeitwertes.
Nun möchte ich dass das Feld abhängig des Zeitwertes eine andee Farbe bekommt, aber das funktioniert nicht.
Mein Listing:

Private Sub Report_Current()
Dim lngRed As Long
'Farbe Rot
lngRed = RGB(255, 0, 0)

edPlus11.SetFocus 'sicheheitshalber eingefügt

'Bei Zeitwert in diesem Bereich Farbe auf Rot setzen
If edPlus11.Value > "07:00" And edPlus11.Value <= "15:00" Then
edPlus11.ForeColor = lngRed
End If
End Sub

Ich habs schon in versciedenen Kombinationen versucht, wie nur mit > als 7 Uhr, <= 15:30, statt And mit Or --> keine Änderung der Farbe!

Wo ist da der Hund begraben?
...

Da gibt es mehrere Kandidaten:

1. Welchen Datentyp hat das Feld in der Tabelle?
Falls Datum/Uhrzeit, dann enthält es sowohl ein Datum als auch eine Uhrzeit, auch wenn das Datum evtl. durch die Formatierung nicht sichtbar ist.

2. Das Ereignis "Beim Anzeigen" (Current) ist so ziemlich das ungeeignetste für so etwas in einem Bericht.
Es tritt nur ein, wenn du a) den Bericht in der Berichtsansicht öffnest und b) in einen Datensatz klickst.

3. Wenn der Bericht mehr als 1 Datensatz enthält, dann musst du die Prüfung bei jedem Datensatz veanstalten, nicht nur bei dem einen, der gerade den Fokus hat.

Ich gehe mal von 1. Datum/Uhrzeit 2. Seitenansicht und 3. mehreren Datensätzen aus. Dann könnte der Code z.B. so aussehen:

'Bei Zeitwert in diesem Bereich Farbe auf Rot setzen
If Not IsNull(Me!edPlus11) Then
If TimeValue(Me!edPlus11) > "07:00" And TimeValue(Me!edPlus11) <= "15:00" Then
Me!edPlus11.ForeColor = vbRed
Else
Me!edPlus11.ForeColor = vbBlack
End If
Else
Me!edPlus11.ForeColor = vbBlack
End If

Schönes neues Jahr und
-----
Servus
Karl
*********
Internationale Access-Konferenz: http://AccessDevCon.com
Access-Entwickler-Konferenz: https://www.donkarl.com/?aek
Top of the page Bottom of the page