Crystal Reports tips & trucs (24-3-2010)

 

Vragen beantwoord ik tegen betaling van een uurtarief van € 60,- met een minimum van 1 uur

 

I N H O U D S O P G A V E

 

Crystal Reports tips & trucs (24-3-2010)

1 Algemene tips

1.1 Command

1.1.1 SQL

1.1.2 Met parameter

1.2 Alfabetiseren veldennamen

1.2.1 Via File->options

1.2.2 Via de Field Explorer

1.3 Veldtypen tonen

1.3.1 Tot en met versie 8.5

1.3.2 Vanaf versie 9

1.4 Tabellen klein maken in links van de Database Expert

1.5 Weeknummers

1.6 Kwartalen

1.7 Parameters

1.8 Watermerk

1.9 Een checkbox tonen in een report

1.10 Browse data

1.11 Details om en om kleuren

1.12 Afdrukken parameter

1.13 Uitlijnen objecten uit verschillende secties

1.14 Docken van Field Explorer

 


•  Algemene tips

•  Command

•  SQL

Vanaf versie 9 kunnen we via de optie Add Command in de Database Expert rechtstreeks SQL commando's in te voeren:

 

 

•  Met parameter

Als je een parameter gebruikt, moet je er op letten hoe je deze invoert:

 

select * from klanten where land = '{?land}' (in dit geval alfanumeriek en dus met enkele aanhalingstekens.

•  Alfabetiseren veldennamen

•  Via File->options

We kunnen de velden ook standaard in alfabetische volgorde zetten. We doen dit via het menu File -> options -> database:

 

•  Via de Field Explorer

In versie 2008 kunnen we dat aanzetten door in de Field explorer op de rechter muisknop te klikken en de betreffende optie te kiezen.

 

•  Veldtypen tonen

•  Tot en met versie 8.5

In de Field Explorer drukken we op de + voor Database Fields en vervolgens op de + voor klanten. We krijgen het volgende scherm

 

 

 

 

  • Klik op de knop rechtsboven

 

 

We krijgen dan extra informatie over het type veld en de lengte.

•  Vanaf versie 9

Vanaf deze versie moeten we in de field explore op de rechter muisknop klikken, We krijgen dan:

 

•  Tabellen klein maken in links van de Database Expert

Vanaf versie 11 is het mogelijk via dubbelklikken op de tabelnaam de tabelnaam te laten samenklappen.

 

We gaan dan van:

 

 

 

Naar:

 

•  Weeknummers

Om weeknummers en vooral Nederlandse weeknummer te krijgen, gebruiken we de functie Datepart :

 


•  Kwartalen

Kwartalen maken we met dezelfde functie: datepart(“q”,{Orders.Orderdatum}). Er zijn nog diverse andere mogelijkheden via de helpfunctie te vinden.

 

Interval type value

Description

yyyy

Extracts the year

q

Quarter (the result is 1, 2, 3 or 4)

m

Month (the result is from 1 to 12)

y

Day of year (1 to 365 or 366 in a leap year)

d

Day part of the date (1 to 31)

w

Day of week (1 to 7 with the result depending on firstDayOfWeek)

ww

Week of year (1 to 53 with firstDayOfWeek and firstWeekOfYear determining the exact days of the first calendar week of the year)

h

Extracts the hour part of the given DateTime (0 to 23)

n

Minute part (0 to 59)

s

Second part (0 to 59)

 

•  Parameters

Als je gekozen hebt voor een a multiple value parameter, kun je de inhoud ervan weergeven met de Join function.

 

In een formula field: join({?parma},”, “)

•  Watermerk

Als je een watermerk op elke pagina wilt, zet je een plaatje in de page header. Via de section expert vink je dan voor de Page Header Underlay Following Sections aan:

 

 

•  Een checkbox tonen in een report

Crystal Reports ondersteunt Boolean operators maar toont ze als:

 

True of False, 0 of 1 enzovoorts

 

Crystal Reports kan deze operators niet standaard tonen maar met wat creativiteit en Wingdings lukt dat wel.

 

Als je een Boolean veld in je rapport geplaatst hebt, kies je de Format Expert. Op het tabblad Font kies je Wingdings

 

 

Op het tabblad Common klik je op de knop achter Display Strings:

 

Onder die knop plaats je de formule:

 

if {Producten.Uit assortiment}= true then

chr(254)

else

chr(111)

 

Het uiteindelijke resultaat wordt dan:

 

 

 

•  Browse data

Rechts klikken op een veld in de Field Explorer levert de optie Browse Data.

 

Die optie geeft een inkijk op de data in een kolom. Daar zit evenwel wel een beperking op. Alleen de eerste 500 verschillende gegevns worden getoond. Alle volgende waarden worden weggelaten.

 

 

•  Details om en om kleuren

Je gaat naar de Sections Expert

 

 

kiest daar voor Details en maakt bij het tabblad color

 

 

de formule:

 

IF recordnumber MOD 2 = 1 THEN

Color(255,200,255)

ELSE

Color(255,255,200)

 

Bij groepen vervang je recordnumber door groupnumber .

 

•  Afdrukken parameter

Voor het afdrukken van een parameter die meerdere waarden bevat, maak je de volgende formule:

 

JOIN({?My Parameter},”, “)

 

De “, “ zorgt ervoor dat de waarden door een komma + spatie gescheiden worden.

 

Als je de waarden ook nog op de juiste manier gesorteerd wilt hebben, wordt de formule wat ingewikkelder:

 

stringvar array sort;

numbervar loop1;

numbervar loop2;

stringvar temp;

sort:= {?My Parameter} ;

for loop2:=1 to ubound(sort)-1 do(

for loop1:=1 to ubound(sort)-loop2 do(

 

if sort[loop1] > sort[loop1+1] then

(temp := sort[loop1];

sort[loop1] := sort[loop1+1];

sort[loop1+1] := temp)));

Join(sort,", ")

 

Als je gekozen hebt voor een parameter met een range, luidt de formule:

 

"Van " & MINIMUM({?My Parameter}) & " tot " & MAXIMUM({?My Parameter})

 

Als de parameter niet van het type string is, dan kun je deze met de functie ToText() omzetten. Vervolgens kun je toch weer Join() gebruiken.

•  Uitlijnen objecten uit verschillende secties

Je selecteert met de CTRL-toets ingedrukt de objecten te selecteren die je wilt uitlijnen. Dan klik je met de rechter muisknop op het object waar je de andere objecten mee wilt uitlijnen. Je kiest nu uit het snelmenu de optie Align en één van de uitlijnmogelijkheden.

 

•  Docken van Field Explorer

Field Explorer van zijn plek geraakt? In versie 2008 kun je deze nu snel terugkrijgen. Klik met de rechter muisknop op de bovenste balk van de Field Explorer en kies Dock