Voorwaardelijke opmaak via script
Met een rapportscript kun je rapportvelden opmaken op basis van een conditie (vergelijking). Hierdoor kun je in een rapport bijvoorbeeld bepaalde gegevens benadrukken.
Voor de opmaak van velden zijn de volgende eigenschappen beschikbaar:
- Bold (vet)
- Italic (schuin)
- Name (naam van lettertype)
- Size (grootte van lettertype)
- Strikethrough (doorstreept)
- Underline (onderlijnd)
- ForeColor (tekstkleur)
Voor de opmaak van labels en tekstvelden zijn de volgende eigenschappen beschikbaar:
- BackColor (achtergrondkleur)
- Font (lettertype)
Voorbeeld:
Een veld vet instellen:
{Element:Label1}.Font.Bold = True
Het lettertype van een veld in het rood instellen (met RGB-waarden):
{Element:Label1}.ForeColor = RGB(255, 0, 0)
Het lettertype van een veld in het rood instellen (met een vb-code):
{Element:Label1}.ForeColor = vbRed
Als je het lettertype vergroot of een veld vet afdrukt, kan het veld meer ruimte in beslag nemen. Houd hier rekening mee in het rapport.
Voorwaardelijke opmaak via script:
In dit voorbeeld voeg je een script toe, waarmee een gemiddelde vet en blauw wordt afgedrukt als dit hoger is dan 1000.
- Klik op:.
Profit opent de script-editor.
- Open de rubriek Detailsectie / Afdrukken.
Profit opent een nieuw venster voor scripts in de document voettekst.
- Sleep het veld {Element:VeldGemiddelde} in het scriptvak.
- Vul het volgende script in:
If DecComp({Element:VeldGemiddelde},1000)= 1 then
{Element:VeldGemiddelde}.Font.Bold = true
{Element:VeldGemiddelde}.Forecolor = vbBlue
else
{Element:VeldGemiddelde}.Font.Bold = false
end if
Met de functie 'DecComp' vergelijk je twee waarden. Als de eerste waarde groter is dan de tweede, is het resultaat van deze functie de waarde 1 en zal het veld vet worden gemaakt.
- Klik op: OK.
- Klik op: Sluiten.
- Druk op: F7. Of ga naar Document / Afdrukvoorbeeld.
Veld testen en een ander veld een opmaak geven:
In het bovenstaande voorbeeld is een veld getest en dit veld krijgt vervolgens een opmaak. Dit werkt alleen als het te testen veld een waarde bevat.
Je kunt testen of een veld een waarde bevat met 'IsEmpty'.
Voorbeeld
If IsEmpty({Element:VeldGemiddelde}.Value) Then
{Element:VeldNaam}.BackColor = vbYellow
End If
Direct naar
|