Daten in Bericht hervorheben

Berichte enthalten häufig Werte, auf die man besonders aufmerksam gemacht werden möchte. Zum Beispiel in der Artikelverwaltung: Bei der Analyse des Berichtes sollen Lagerbestände kleiner „1“ auffällig hervorgehoben werden, sodass fehlende Artikel mit einem Blick erkannt werden können. Wenig bekannt ist die Tatsache, dass in Berichten auch einfache Zeichenfunktionen zur Verfügung stehen.

So sind Sie beispielsweise in der Lage, kritische Werte wie folgt mit einem roten Kreis zu versehen:

1. Öffnen Sie den Bericht, in dem Werte auffällig hervorgehoben werden sollen, im Entwurfsmodus.

2. Klicken Sie den grauen Balken mit der Bezeichnung „Detailbereich“ mit der rechten Maustaste an.

3. Rufen Sie das Kontextmenü EIGENSCHAFTEN auf.

4. Stellen Sie die Eigenschaft „Beim Formatieren“ auf den Eintrag „[Ereignisprozedur]“ ein, klicken Sie auf die Schaltfläche mit den drei Punkten und geben Sie im VBA-Editor die folgenden Anweisungen ein:

Private Sub Detail_Format(Cancel As Integer,
FormatCount As Integer)
Dim intHoehe As Integer
Dim intBreite As Integer
Dim sglXPos As Single
Dim sglYPos As Single
If Me.Lagerbestand < 1 Then
With Me.Lagerbestand
intHoehe = .Height * 1.5
intBreite = .Width * 1.5
sglYPos = (.Top + .Height) \ 2
sglXPos = .Left + (.Width \ 2)
End With
Me.DrawWidth = 6
Me.Circle (sglXPos, sglYPos),
intBreite \ 2, QBColor(12), , , 0.25
End If
End Sub

Den oben fett dargestellten Feldnamen „Lagerbestand“ und die Bedingung „< 1“ ersetzen Sie dabei durch den Namen des Feldes, das Sie prüfen möchten, sowie durch die Bedingung, die für eine Markierung des Feldes erfüllt sein muss. Möchten Sie z. B. in einer Umsatzübersicht alle Kunden mit mehr als 10.000 EUR Umsatz hervorheben, würden Sie hier dementsprechend „Me.Umsatz > 10000“ angeben.

5. Speichern Sie die Änderungen und lassen Sie den Bericht testweise anzeigen.

Die Zuweisung „Me.Draw- Width“ legt die Dicke des Striches für die Markierung in Pixeln fest. Hier sind gegebenenfalls je nach Drucker ein paar Experimente notwendig, um den richtigen Wert zu finden. Die Farbe wird direkt beim Aufruf der „Circle“- Methode über die Funktion „QBColor()“ angegeben. „12“ steht hierbei für „Hellrot“. Weitere mögliche Werte können Sie der Online-Hilfe zu „QBColor()“ entnehmen.

Das Argument Farbe in QBColor() hat folgende Einstellungen:

Nummer
Farbe
Nummer
Farbe

0

Schwarz

8

Grau

1

Blau

9

Hellblau

2

Grün

10

Hellgrün

3

Cyan

11

Hellcyan

4

Rot

12

Hellrot

5

Magenta

13

Hellmagenta

6

Gelb

14

Hellgelb

7

Weiß

15

Leuchtend Weiß

Bemerkungen

Das Argument Farbe stellt die von früheren Basic-Versionen (wie Microsoft Visual Basic für MS-DOS und dem Basic-Compiler) verwendeten Farbwerte dar. Beginnend mit dem niedrigst wertigen Byte gibt der zurückgegebene Wert die Rot-, Grün- und Blauwerte an, mit denen die entsprechende Farbe in dem RGB-System gesetzt wird, das von Visual Basic für Applikationen verwendet wird.

Wenn Sie nur einzelne Felder eine andere Farbe geben möchten, benutzen sie folgende Programmierung:

if Me!Lagerbestand >1 then
Me!Lagerbestand.ForeColor= = 4227072
else
Me!Lagerbestand.ForeColor= 255
endif