Handleiding Fastreport voor Wisa
Inhoudstafel Inhoudstafel .............................................................................................................................. 2 1. Algemeen ........................................................................................................................... 7 1.1. Algemene inleiding .................................................................................................... 7 1.2. Algemene informatie.................................................................................................. 7 1.3. Instellingen voor opstart............................................................................................. 8 1.4. Opstarten formuliergenerator ..................................................................................... 9 2. Werkomgeving................................................................................................................ 10 2.1. Ontwerpscherm ........................................................................................................ 10 2.2. Menubalk.................................................................................................................. 11 2.2.1. Menu Bestand................................................................................................... 11 2.2.1.1. Nieuw ....................................................................................................... 11 2.2.1.2. Nieuw rapport........................................................................................... 12 2.2.1.3. Nieuwe pagina.......................................................................................... 12 2.2.1.4. Nieuwe dialoog ........................................................................................ 12 2.2.1.5. Openen ..................................................................................................... 13 2.2.1.6. Opslaan..................................................................................................... 13 2.2.1.7. Opslaan als ............................................................................................... 13 2.2.1.8. Voorbeeld ................................................................................................. 13 2.2.1.9. Pagina instellingen ................................................................................... 14 2.2.1.9.1. Tabblad Papier....................................................................................... 14 2.2.1.9.2. Tabblad overige opties .......................................................................... 14 2.2.1.10. Einde......................................................................................................... 15 2.2.2. Menu Edit ......................................................................................................... 16 2.2.2.1. Ongedaan maken ...................................................................................... 16 2.2.2.2. Opnieuw doen .......................................................................................... 16 2.2.2.3. Knippen .................................................................................................... 16 2.2.2.4. Kopiëren ................................................................................................... 16 2.2.2.5. Plakken ..................................................................................................... 16 2.2.2.6. Verwijderen .............................................................................................. 16 2.2.2.7. Pagina verwijderen ................................................................................... 16 2.2.2.8. Alles selecteren ........................................................................................ 16 2.2.2.9. Groeperen ................................................................................................. 17 2.2.2.10. Groep opheffen......................................................................................... 17 2.2.2.11. Bewerken.................................................................................................. 17 2.2.2.12. Zoeken ...................................................................................................... 17 2.2.2.13. Vervangen ................................................................................................ 17 2.2.2.14. Volgende zoeken ...................................................................................... 17 2.2.2.15. Naar voorgrond brengen........................................................................... 17 2.2.2.16. Naar achtergrond sturen ........................................................................... 17 2.2.3. Menu Rapport................................................................................................... 18 2.2.3.1. Gegevens .................................................................................................. 18 2.2.3.2. Variabelen ................................................................................................ 18 2.2.3.3. Stijlen ....................................................................................................... 18 2.2.3.3.1. Stijl bewerken........................................................................................ 18 2.2.3.4. Opties ....................................................................................................... 19 2.2.3.4.1. Algemeen .............................................................................................. 19 2.2.3.4.2. Beschrijving .......................................................................................... 20 2.2.4. Menu Beeld ...................................................................................................... 20 2
2.2.4.1. Werkbalken .............................................................................................. 20 2.2.4.2. Linealen .................................................................................................... 20 2.2.4.3. Ontwerp opties ......................................................................................... 21 2.2.4.3.1. Raster..................................................................................................... 21 2.2.4.3.2. Lettertypen ............................................................................................ 21 2.2.4.3.3. Kleuren .................................................................................................. 21 2.2.4.3.4. Anders ................................................................................................... 22 2.3. Werkbalken .............................................................................................................. 23 2.3.1. Tekst werkbalk ................................................................................................. 23 2.3.1.1. Markeren van tekstvakken ....................................................................... 24 2.3.2. Kaders werkbalk............................................................................................... 25 2.3.3. Uitlijning werkbalk .......................................................................................... 26 2.3.4. Standaard werkbalk .......................................................................................... 27 2.4. Objecten balk............................................................................................................ 28 2.4.1. Banden.............................................................................................................. 28 2.4.2. Tekst object ...................................................................................................... 28 2.4.3. Afbeelding object ............................................................................................. 28 2.4.4. Subrapport object ............................................................................................. 28 2.4.5. Systeemtekst object .......................................................................................... 29 2.4.6. Tekenen object ................................................................................................. 29 2.4.7. Barcode object.................................................................................................. 29 2.4.8. OLE object ....................................................................................................... 29 2.4.9. Rich tekst object ............................................................................................... 29 2.4.10. DB kruistabel object......................................................................................... 29 2.5. Ontwerp werkbalk .................................................................................................... 30 2.6. Rapport pagina tabs .................................................................................................. 31 2.7. Rapport objecten boomstructuur .............................................................................. 31 2.8. Objecteigenschappen venster ................................................................................... 32 2.8.1 Objectnaam....................................................................................................... 32 2.8.2 Eigenschappen.................................................................................................. 33 2.8.3 Gebeurtenissen ................................................................................................. 33 2.8.4 Eigenschap omschrijving ................................................................................. 34 2.9. Gegevensboom scherm ............................................................................................ 35 2.9.1 Gegevens .......................................................................................................... 35 2.9.2 Variabelen ........................................................................................................ 36 2.9.3 Functies ............................................................................................................ 36 2.9.4 Classes .............................................................................................................. 37 3. Objecten en eigenschappen ........................................................................................... 38 3.1. Banden...................................................................................................................... 38 3.1.1. Rapport titel...................................................................................................... 38 3.1.2. Rapport samenvatting....................................................................................... 38 3.1.3. Pagina kop ........................................................................................................ 38 3.1.4. Pagina voet ....................................................................................................... 38 3.1.5. Koptekst ........................................................................................................... 38 3.1.6. Voettekst........................................................................................................... 39 3.1.7. Master gegevens ............................................................................................... 39 3.1.8. Detail gegevens ................................................................................................ 39 3.1.9. Groep kop ......................................................................................................... 40 3.1.9.1. Hou de groep bij elkaar ............................................................................ 40 3.1.9.2. Start met een nieuwe pagina..................................................................... 40
3
3.1.10. Groep Voet ....................................................................................................... 40 3.1.11. Child ................................................................................................................. 40 3.1.12. Eigenschappen van banden .............................................................................. 42 3.1.12.1. Allow split ................................................................................................ 42 3.1.12.2. Child ......................................................................................................... 42 3.1.12.3. Columngap ............................................................................................... 42 3.1.12.4. Columns ................................................................................................... 42 3.1.12.5. Columnwidth............................................................................................ 42 3.1.12.6. Condition.................................................................................................. 42 3.1.12.7. Dataset ...................................................................................................... 42 3.1.12.8. Description ............................................................................................... 42 3.1.12.9. Footeraftereach......................................................................................... 42 3.1.12.10. Height ....................................................................................................... 42 3.1.12.11. Hideifsingledatarecord ............................................................................. 43 3.1.12.12. Keepchild ................................................................................................. 43 3.1.12.13. Keepfooter ................................................................................................ 43 3.1.12.14. Keepheader............................................................................................... 43 3.1.12.15. Keeptogether ............................................................................................ 43 3.1.12.16. Name ........................................................................................................ 43 3.1.12.17. Printchildifinvisible.................................................................................. 43 3.1.12.18. Printifdetailempty..................................................................................... 43 3.1.12.19. Printonfirstpage ........................................................................................ 43 3.1.12.20. Reprintonnewpage.................................................................................... 43 3.1.12.21. Startnewpage ............................................................................................ 43 3.1.12.22. Stretched................................................................................................... 43 3.1.12.23. Top ........................................................................................................... 43 3.1.12.24. Visible ...................................................................................................... 44 3.2. Tekstobject ............................................................................................................... 44 3.2.1. Expressie editor ................................................................................................ 45 3.2.2. Berekening invoegen........................................................................................ 47 3.2.3. Eigenschappen van het tekstobject................................................................... 49 3.2.3.1. Align......................................................................................................... 49 3.2.3.2. Allowexpressions ..................................................................................... 49 3.2.3.3. AllowHTMLTags..................................................................................... 49 3.2.3.3.1. HTML Tags........................................................................................... 49 3.2.3.4. Autowidth................................................................................................. 50 3.2.3.5. BrushStyle ................................................................................................ 50 3.2.3.6. Charspacing .............................................................................................. 50 3.2.3.7. Color......................................................................................................... 50 3.2.3.8. Datafield ................................................................................................... 50 3.2.3.9. Dataset ...................................................................................................... 50 3.2.3.10. Displayformat........................................................................................... 50 3.2.3.11. Expressiondelimiters ................................................................................ 51 3.2.3.12. Font en subeigenschappen........................................................................ 51 3.2.3.13. Frame en subeigenschappen..................................................................... 51 3.2.3.14. HAlign ...................................................................................................... 51 3.2.3.15. Height ....................................................................................................... 51 3.2.3.16. Hidezeros.................................................................................................. 51 3.2.3.17. Highlight................................................................................................... 51 3.2.3.18. Left ........................................................................................................... 52
4
3.2.3.19. Memo ....................................................................................................... 52 3.2.3.20. Name ........................................................................................................ 52 3.2.3.21. Printable ................................................................................................... 52 3.2.3.22. Rotation .................................................................................................... 52 3.2.3.23. Stretchmode.............................................................................................. 52 3.2.3.24. Suppressrepeated ...................................................................................... 52 3.2.3.25. Top ........................................................................................................... 52 3.2.3.26. Underlines ................................................................................................ 52 3.2.3.27. VAlign ...................................................................................................... 52 3.2.3.28. Visible ...................................................................................................... 52 3.2.3.29. Width........................................................................................................ 53 3.2.3.30. Wordwrap................................................................................................. 53 3.3. Het afbeelding object ............................................................................................... 54 3.3.1. Specifieke eigenschappen van het afbeelding object ....................................... 55 3.3.1.1. Autosize.................................................................................................... 55 3.3.1.2. Center ....................................................................................................... 55 3.3.1.3. Keepaspectratio ........................................................................................ 55 3.3.1.4. Picture....................................................................................................... 55 3.4. Subrapport object ..................................................................................................... 55 3.5. Systeemtekst object .................................................................................................. 56 3.6. Het tekenen object .................................................................................................... 57 3.6.1. Lijn - Diagonale lijn ......................................................................................... 57 3.6.2. Rechthoek......................................................................................................... 57 3.6.3. Afgeronde rechthoek ........................................................................................ 57 3.6.4. Ellips................................................................................................................. 57 3.6.5. Driehoek ........................................................................................................... 57 3.6.6. Diamant ............................................................................................................ 57 3.6.7. Specifieke eigenschappen van tekenobjecten .................................................. 58 3.6.7.1. Diagonal ................................................................................................... 58 3.6.7.2. Curve ........................................................................................................ 58 3.6.7.3. Shape ........................................................................................................ 58 3.7. Barcode object.......................................................................................................... 58 3.7.1. Eigenschappen van het barcode object............................................................. 59 3.7.1.1. BarType .................................................................................................... 59 3.7.1.2. CalcChecksum.......................................................................................... 59 3.7.1.3. Showtext................................................................................................... 59 3.7.1.4. Text........................................................................................................... 59 3.7.1.5. Widebarratio............................................................................................. 59 3.7.1.6. Zoom ........................................................................................................ 59 3.8. Het OLE object......................................................................................................... 60 3.9. Het RichText Object................................................................................................. 61 3.10. Het DB kruistabel object ...................................................................................... 62 3.11. Vinkveld object .................................................................................................... 63 3.11.1. Specifieke eigenschappen van het vinkveld object .......................................... 63 3.11.1.1. Checked .................................................................................................... 63 3.11.1.2. Checkstyle ................................................................................................ 63 3.11.1.3. Uncheckstyle ............................................................................................ 63 4. Gegevensbeheer .............................................................................................................. 64 4.1. Algemeen ................................................................................................................. 64 4.2. Formulier gegevensbron........................................................................................... 65
5
4.2.1. De visuele querybuilder ................................................................................... 67 4.2.1.1. Het resultaat van een query bekijken ....................................................... 71 4.2.1.2. Text Query................................................................................................ 71 4.2.2. Preview data ..................................................................................................... 72 4.3. Programma parameters............................................................................................. 73 4.3.1. Algemeen ......................................................................................................... 73 4.3.2. Programma parameters scherm ........................................................................ 74 4.3.3. Eigenschappen van een programma parameter. ............................................... 75 5. Bespreking van standaard functies en variabelen....................................................... 77 5.1. Algemeen ................................................................................................................. 77 5.2. Gegevens .................................................................................................................. 77 5.3. Variabelen ................................................................................................................ 77 5.3.1. Variabelen maken en bewerken ....................................................................... 78 5.4. Functies .................................................................................................................... 80 5.4.1. Mathematisch ................................................................................................... 81 5.4.2. Wisa.................................................................................................................. 82 5.4.3. Wis@d.............................................................................................................. 83 5.4.4. Aggregate ......................................................................................................... 84 5.4.5. Tekenreeks ....................................................................................................... 85 5.4.6. Overig............................................................................................................... 86 5.4.7. Datum en tijd .................................................................................................... 88 5.4.8. Conversies ........................................................................................................ 89 5.4.9. Formattering ..................................................................................................... 90 6. Het afdrukvoorbeeld ...................................................................................................... 91 6.1. Algemeen ................................................................................................................. 91 6.2. Afdrukken................................................................................................................. 93 6.3. Exporteren ................................................................................................................ 95 6.3.1. Algemene export eigenschappen...................................................................... 95 6.3.2. PDF................................................................................................................... 96 7. Procedures....................................................................................................................... 97 7.1. Een nieuw formulier maken ..................................................................................... 97 8. Gebruik van programmeer code................................................................................... 98 9. Bijlagen............................................................................................................................ 99 9.1. Ontwerp formulier 1................................................................................................. 99 9.2. Afdrukvoorbeeld formulier 1 ................................................................................. 100 9.3. Afdrukvoorbeeld formulier 2 ................................................................................. 101
6
1. Algemeen 1.1. Algemene inleiding Dit document geeft uitleg over de werking van Fastreport. Fastreport is de formuliergenerator die standaard geleverd wordt bij de Wisa applicatie.
1.2. Algemene informatie Volgende extra velden worden in de handleiding gebruikt: • Instellingen •
Informatie – tips
Deze komen overeen met onderstaande iconen:
Dit icoon duidt een instelling (al dan niet van het programma) aan. In het menu Bewerken kan je gebruikmaken van de VK – Voorkeurinstellingen en Huidig venster om je persoonlijke gebruiksinstellingen aan te passen. Dit icoon duidt een informatieveld aan. Hierin wordt extra informatie gegeven over de omschreven functionaliteit. Dit icoon duidt een praktisch voorbeeld aan. De gegevens uit het programma worden vertaald naar een voorbeeld uit de praktijk.
7
1.3. Instellingen voor opstart Alvorens de formuliergenerator te kunnen opstarten moet je controleren of de instellingen hiervoor correct staan. De instellingen kunnen gecontroleerd en aangepast worden via de Wisa client. Hiervoor ga je in het menu naar Bewerken – voorkeursinstellingen – client instellingen – andere. Hier moet het vinkje “Standaard nieuw formulier ontwerp scherm starten” aangevinkt staan.
8
1.4. Opstarten formuliergenerator De enige manier om de formuliergenerator op te starten is via de Wisa client. Om de formuliergenerator op te starten klik je op het icoontje van de formuliergenerator in de werkbalk
Starten formuliergenerator Indien de oude formuliergenerator opstart, zal je nog moeten instellen dat je met de Fastreport formuliergenerator wil werken. Deze handeling wordt beschreven in punt 1.3.
9
2. Werkomgeving In dit hoofdstuk wordt de werkomgeving besproken zoals je deze zal terugvinden in Fastreport. De verschillende onderdelen worden elk in detail besproken. 2.2
2.6
2.3
2.7 2.9 2.5
2.1 2.4
2.8
2.1. Ontwerpscherm In dit deel van het scherm zal het uiteindelijke ontwerp van het formulier komen. Hier worden dus de verschillende banden, groepen,velden…. op het formulier geplaatst. Bij het aanmaken van een nieuw ontwerp worden hier standaard 3 banden geplaatst: een rapport titel, een databand en een band voor de pagina voettekst.
10
2.2. Menubalk Hieronder een afbeelding van de menubalk.
De verschillende menu items worden in dit onderdeel besproken.
2.2.1. Menu Bestand
2.2.1.1. Nieuw Dit is één van de mogelijkheden om een nieuw formulier aan te maken. Je krijgt nu een keuzemenu dat vraagt welke je actie je verder wil uitvoeren.
Toch is het beter om een nieuw formulier aan te maken zoals besproken wordt in punt 2.2.1.2. Dit omdat het bijvoorbeeld niet mogelijk is om via de wizard de gegevens van de Wisa databank aan te spreken en het uiteindelijke resultaat toch een lege opmaak zal zijn.
11
2.2.1.2. Nieuw rapport Dit is de beste manier om een blanco formulier aan te maken. Bij het aanmaken van een nieuw ontwerp worden hier standaard 3 banden geplaatst: een rapport titel, een databand en een band voor de pagina voettekst. De verschillende banden worden verder in deze handleiding besproken. Om een nieuw formulier aan te maken kan je in het hoofdstuk procedures de procedure “Een nieuw formulier maken” volgen. 2.2.1.3. Nieuwe pagina Dit menu laat toe om een nieuwe pagina toe te voegen aan het formulier. Op de afdruk zullen deze gegevens dus verschijnen op het volgende blad. De afdrukvolgorde van de verschillende pagina’ s hangt af van de volgorde van de tabbladen en niet van de nummering van de pagina’s. Als je bijvoorbeeld een pagina invoegt en deze noemt page2 maar deze komt in de volgorde van de tabbladen links van page1 te staan, zal tijdens het afdrukken eerst page2 gedrukt worden en daarna page1. Je kan de volgorde wijzigen door deze tabbladen te verslepen.
2.2.1.4. Nieuwe dialoog Deze keuze voegt een dialoog scherm toe. Met dialoogschermen kunnen eventueel extra gegevens opgevraagd worden, alvorens de afdruk te maken, die je dan in het formulier kan gebruiken. Deze functionaliteit wordt verder besproken in hoofdstuk 6 “Gebruik van programmeertaal”. De afdrukvolgorde van tonen van de dialoogschermen hangt af van de volgorde van de tabbladen van de dialoogschermen en niet van de nummering van de dialogen. Als je bijvoorbeeld een dialoogscherm invoegt en deze noemt dialogpage2 maar deze komt in de volgorde van de tabbladen links van dialogpage1 te staan, zal voor het afdrukken eerst dialoogscherm 2 getoond worden en daarna dialoogscherm1. Je kan de volgorde wijzigen door deze tabbladen te verslepen. Dialoogschermen worden altijd getoond vóór dat de pagina’s getoond worden, ongeacht hun onderlinge positie van de tabbladen in het ontwerp.
12
2.2.1.5. Openen Met het openen menu kan je een bestaand formulier openen. De bestanden die geopend kunnen worden moeten de extensie .arf hebben. Dit is de extensie die Fastreport gebruikt. Je kan maar 1 formulier per keer openen. Indien je dan nog een formulier zou openen, wordt het reeds eerder geopende formulier gesloten. Je kan 2 of meer ontwerpschermen starten door een nieuwe Wisa client op te starten en hierin de formuliergenerator nog een keer op te starten.
2.2.1.6. Opslaan Het aangepaste formulierontwerp bewaren met de bestaande naam en op dezelfde locatie waar het reeds bestond. De bestanden die bewaard worden krijgen de extensie .arf 2.2.1.7. Opslaan als Hier krijgt men de mogelijkheid om het formulierontwerp te bewaren op een andere locatie of met een andere naam. De bestanden die bewaard worden krijgen de extensie .arf 2.2.1.8. Voorbeeld Het menu om een afdrukvoorbeeld op het scherm op te vragen. De functionaliteiten binnen het afdrukvoorbeeld worden besproken in het hoofdstuk “Het afdrukvoorbeeld”.
13
2.2.1.9. Pagina instellingen Hier krijg je 2 tabbladen die de pagina opties weergeven.
2.2.1.9.1. Tabblad Papier
Hier kan je de grootte, papierformaat en afdrukstand instellen. Je krijgt hier ook de mogelijkheid om in te stellen welke papierlade van de printer gekozen moet worden voor pagina 1 en voor de rest van de pagina’s.
2.2.1.9.2. Tabblad overige opties
Hier kan je het aantal kolommen, de breedte van de kolom en de posities waar ze moeten geplaatst worden ingeven zoals je ze zou gebruiken op het formulier. Indien je kiest voor kolommen, zullen deze weergegeven worden door een verticale lijn in het ontwerp zodat je meteen de positie en breedte kan controleren. Afdrukken op vorige pagina wil zeggen dat indien er nog vrije ruimte is op een blad, maar de band daarop volgend te groot is om nog op het
14
blad te kunnen, toch een deel van de volgende band op het voorgaande blad gedrukt zal worden. Met marges spiegelen worden de marges van de even pagina nummers omgedraaid. Dit is handig indien men kiest voor het recto-verso printen, zodat de marges op de voor – en achterkant overeen komen. Indien je niet kiest voor recto-verso, kan je deze optie best niet inschakelen. Wanneer het vinkje grote hoogte in ontwerpmodus aangevinkt wordt, zal je merken dat het ontwerpscherm veel groter wordt. Met de optie dubbelzijdig kan je kiezen of de afdruk dubbelzijdig moet afgedrukt worden of niet. Standaard worden de printerinstellingen genomen (default). Indien je kiest voor vertical, zal de het document zo afgedrukt worden dat je dat pagina’s verticaal moet omdraaien. Indien je kiest voor Horizontal, zal je de pagina’s horizontaal kunnen omdraaien. Met de optie simplex druk je steeds enkelzijdig af. Indien je veel banden in het ontwerpscherm zal plaatsen, is het handig om “grote hoogte in ontwerpmodus” aan te vinken.
2.2.1.10.
Einde Fastreport afsluiten
15
2.2.2. Menu Edit
2.2.2.1. Ongedaan maken Met de ongedaan maken knop kan een actie die je uitgevoerd hebt ongedaan gemaakt worden 2.2.2.2. Opnieuw doen Gebruik deze knop als je met de ongedaan maken knop een actie ongedaan gemaakt hebt die je op zijn beurt terug ongedaan wil maken. 2.2.2.3. Knippen Knipt het geselecteerde object weg en plaats het op het clipbord. 2.2.2.4. Kopiëren Kopieert het geselecteerde object naar het clipbord. 2.2.2.5. Plakken Plakt het object terug op het formulier vanuit het clipbord 2.2.2.6. Verwijderen Verwijder een object van het formulier 2.2.2.7. Pagina verwijderen Verwijdert een hele pagina van het formulier. Pas beschikbaar indien het formulier bestaat uit meer dan 1 pagina 2.2.2.8. Alles selecteren Alle objecten selecteren van het actieve object. Bijv.: Als je een pagina geselecteerd hebt, worden alle banden geselecteerd. Indien je een band geselecteerd hebt, worden alle objecten binnen die band geselecteerd.
16
2.2.2.9. Groeperen Hiermee kunnen 2 of meerdere objecten gegroepeerd worden. Dit wil zeggen dat als je daarna een object selecteert van de eerder gemaakt groep, je alle objecten zal selecteren van deze groep. 2.2.2.10. Groep opheffen Gebruik groep opheffen om een eerder gemaakte groepering van objecten terug ongedaan te maken. 2.2.2.11. Bewerken Roept het bijhoren dialoogvenster op van het object om het object te editeren. 2.2.2.12. Zoeken Zoekt in de memo velden de opgegeven tekst. 2.2.2.13. Vervangen Vervang de te zoeken tekst in de memovelden door de opgegeven tekst. 2.2.2.14. Volgende zoeken Herhaalt de eerder uitgevoerd zoekactie. 2.2.2.15. Naar voorgrond brengen Indien objecten elkaar overlappen wordt het geselecteerde object naar de voorgrond gebracht indien hiervoor gekozen wordt. 2.2.2.16. Naar achtergrond sturen Indien objecten elkaar overlappen wordt het geselecteerde object naar de achtergrond gebracht indien hiervoor gekozen wordt.
17
2.2.3. Menu Rapport
2.2.3.1. Gegevens Het data menu zal verder besproken worden in het hoofdstuk gegevensbeheer. 2.2.3.2. Variabelen Zie hoofdstuk 5 bespreking van functies en variabelen 2.2.3.3. Stijlen Met Stijlen kan je voorgedefinieerde opmaakstijlen aanmaken. Deze opmaakstijlen kan je dan gebruiken in je formulier om snel de teksteigenschappen van een tekstobject te wijzigen. Hieronder wordt de stijl bewerker verder besproken.
2.2.3.3.1. Stijl bewerken
Een nieuwe stijl kan je aanmaken door op het icoontje te klikken. Je kan dan de nieuwe naam ingeven van de stijl die je wil maken. Nadat je de stijl hebt toegevoegd kan je de kleur, lettertype en eventuele omranding selecteren. Om de aangemaakte stijl te bewaren moet je enkel nog op het je verwijderen door
icoon drukken. Een eerder aangemaakte stijl kan te selecteren. Indien je later de naam van een
stijl nog wil wijzigen kan je op het icoon
18
klikken.
Opgelet: Indien de stijl reeds in gebruik was in het formulier, worden de namen van stijlen niet automatisch aangepast voor de objecten die deze stijl gebruikten indien je in de stijl bewerker de naam van de stijl gaat wijzigen.
2.2.3.4.
Opties
2.2.3.4.1.
Algemeen
Op het tabblad algemeen kan je de standaard printer opgeven die een formulier moet gebruiken. Standaard staat deze instelling op standaard printer. Dit wil zeggen dat het formulier de standaard printer zal selecteren voor afdruk zoals deze ingesteld is in Windows. Het standaard aantal afdrukken kan je instellen in het veldje Kopieën. Met het vinkje kopieën groeperen kan je kiezen het de uitvoer naar de printer is indien je meerdere exemplaren afdrukt. Indien groeperen aangevinkt staat, wordt heel het document volledig afgedrukt en dan pas worden de volgende exemplaren afgedrukt. Indien groeperen afgevinkt is, worden eerst al de pagina’s 1 afgedrukt, zoveel als je exemplaren gevraagd hebt, dan alle pagina’s 2 enz… Het vinkje dubbele stap wil zeggen dat tijdens het afdrukken, de afdruk eigenlijk 2 maal gegenereerd wordt. Als eindgebruiker krijg je natuurlijk de afdruk slechts 1 maal. Deze optie moet dus steeds aan staan als je in het formulier wil afdrukken wat het totaal aantal pagina’s is. Het formulier wordt dan een eerste maal gegenereerd en dan kent het formulier het totaal aantal pagina’s en kan het dit ook afdrukken. Indien het vinkje niet aan staat, zal je voor totaal aantal pagina’s steeds 0 krijgen omdat tijdens het afdrukken de eerste keer uiteraard het totaal aantal pagina’s nog niet gekend is. Dubbele stap is bijvoorbeeld ook nodig als je een som wil maken in de groep hoofding van een band. De soms is immers pas gekend als de band één keer volledig afgedrukt is.
19
Afdrukken indien leeg geeft de mogelijkheid om een formulier af te drukken indien er toch geen datalijnen aanwezig zijn in het formulier. Het veld wachtwoord geeft de mogelijkheid om het formulier te beveiligen en een paswoord in te stellen.
2.2.3.4.2.
Beschrijving
In het beschrijving tabblad kan je enkele eigenschappen toevoegen zoals de naam, de maker en een omschrijving van wat het formulier juist inhoudt e.d.
2.2.4. Menu Beeld
2.2.4.1. Werkbalken Geeft een overzicht weer van de werkbalken die geselecteerd kunnen worden binnen de formuliergenerator. Voor de bespreking van de werkbalken zie punt 2.3 Werkbalken 2.2.4.2. Linealen Linealen zijn de verticale en horizontale “meetlatjes” die je vindt naast het ontwerp van het formulier. Je kan deze gebruiken om snel de positie van een object na te kijken.
20
2.2.4.3.
Ontwerp opties
2.2.4.3.1. Raster Hier bepaal je of je het raster in het ontwerp wil weergeven of niet en of de velden moeten uitgelijnd en verankerd moeten worden op het raster. Je kan hier de maateenheid ingeven en de rasterstap. Dit wil zeggen dat je zoals in het voorbeeld hierboven een object kan uitlijnen op 1 mm nauwkeurig.
2.2.4.3.2. Lettertypen Code venster bepaalt de grootte en lettertype van het font dat gebruikt wordt in het scherm met de programmeer code. Tekst bewerker geeft de grootte weer zoals je deze zal krijgen in het tekst bewerk dialoog scherm. Dit is dus niet de grootte van de tekst zoals de memo zal afgedrukt worden. Indien het vinkje “gebruik lettertype van object” aan staat, zal in het tekst bewerk dialoog scherm het font gebruikt worden van de memo zelf. Indien dit vinkje af staat wordt dus het lettertype dat je ingesteld hebt bij tekst bewerker gebruikt in het tekst bewerk scherm.
2.2.4.3.3. Kleuren Met de knop werkruimte kan je de achtergrondkleur van de werkomgeving instelling. Met de knop gereedschap vensters kan de achtergrondkleur van het rapport – en object eigenschappen venster ingesteld worden. 21
Met het vinkje LCD rasterkleur kan je de zichtbaarheid van de rasterlijnen in de werkomgeving een beetje laten toenemen op LCD schermen.
2.2.4.3.4. Anders Het vinkje “toon het bewerkingsgereedschap na het invoeren”, laat het standaard bewerk scherm zien van het object nadat je een nieuw object toevoegt aan het ontwerp van het formulier. Met het vinkje “Toon band bijschriften” kan je kiezen of de benaming van de banden in de band verschijnen of erboven. Indien het vinkje aan staat, zal er boven elke band een hoofding verschijnen, indien het af staat zal de benaming van de band in de band zelf verschijnen. Dit is interessant om plaats te besparen indien je meerdere banden op het formulier plaatst. Met vrije bandplaatsing kan je kiezen om uw banden zelf te ordenen in het ontwerp. Standaard staat deze keuze af omdat de formuliergenerator de banden zelf zal ordenen a.d.h.v. hun functie binnen het formulier. Met de optie afstand tussen banden kan je de hoogte instellen tussen 2 banden. Met deze hoogte wordt uiteraard enkel rekening gehouden in het ontwerp en niet tijdens de afdruk. De banden worden immers vlak na elkaar afgedrukt.
22
2.3. Werkbalken 2.3.1. Tekst werkbalk
Icoon
Omschrijving
Omschrijving Hiermee kan een voorgedefinieerde stijl geselecteerd worden. Een voorgedefinieerde stijl kan aangemaakt worden in het menu “Report-styles”.
Stijl
Lettertype
Vet
Hiermee kan je het lettertype selecteren. De laatste 5 geselecteerde lettertypes komen bovenaan in de lijst te staan. Hiermee kan je een tekengrootte uit de lijst selecteren. Je kan deze ook manueel ingeven. Zet hiermee vette tekst aan of af
Cursief
Zet hiermee cursieve tekst aan of af
Onderstrepen
Zet hiermee onderstreepte tekst aan of af
Lettertype dialoog
Hiermee open je een dialoogscherm waar de verschillende eigenschappen m.b.t. tekstopmaak gegroepeerd staan. Stel hiermee een tekstkleur in.
Tekengrootte
Tekstkleur Markeren
Gebruik dit om bepaalde eigenschappen aan een tekstvak te geven indien dit bij de afdruk voldoet aan bepaalde eigenschappen. Zie punt 2.3.1.1
Tekst rotatie
Hiermee kan je de voorgedefinieerde tekstrotaties selecteren om uw tekst een bepaal aantal graden te doen kantelen. Je kan dit ook manueel ingeven in de rotatie eigenschap in het venster objecteigenschappen van het tekstobject.
Links uitlijnen
Tekst links uitlijnen.
Centreren
Tekst centreren
Rechts uitlijnen
Tekst rechts uitlijnen
Uitvullen
Tekst uitvullen.
Bovenaan uitlijnen
Tekst bovenaan uitlijnen
Verticaal gecentreerd uitlijnen Onderaan uitlijnen
Tekst verticaal gecentreerd uitlijnen.
23
Tekst onderaan uitlijnen
2.3.1.1.
Markeren van tekstvakken Het is mogelijk om een tekstvak een andere opmaak te geven indien bij de afdruk van dit tekstvak aan bepaalde voorwaarden wordt voldaan. Dit noemt conditioneel oplichten van tekstvakken. Het dialoogscherm voor conditioneel oplichten kan je oproepen door in de tekst werkbalk op dit icoontje te klikken . Je kan nu voor het geselecteerde tekstvak een conditie ingeven en de opmaak die moet toegepast worden als aan deze conditie voldaan wordt. Stel dat er een formulier is dat al de instellingscodes afdrukt. In onderstaand voorbeeld wordt de instelling met code 5 in het geel en vet afgedrukt, met als achtergrondkleur rood.
24
2.3.2. Kaders werkbalk
Deze werkbalk dient om snel kaders rond tekstobject te kunnen tekenen. Hieronder worden de verschillende knopjes toegelicht van deze werkbalk. Omschrijving Omschrijving Icoon Lijn bovenaan Hiermee kan je een lijn boven een tekstvak laten tekenen.
Lijn onderaan
Hiermee kan je een lijn onder een tekstvak laten tekenen.
Lijn linkerzijde
Volledig omkaderen
Hiermee kan je een lijn aan de linkerzijde van een tekstvak laten tekenen. Hiermee kan je een lijn aan de rechterzijde van een tekstvak laten tekenen. Tekent een kader rond het tekstobject
Geen lijnen
Haal alle lijnen rond het tekstobject weg
Schaduw aan / af
Teken een schaduw rond het kader.
Achtergrondkleur
Stel hiermee de achtergrondkleur van het tekstobject in. Stel hiermee de kleur in waarin de lijnen rond het tekstobject getekend worden.
Lijn rechterzijde
Lijnkleur Lijn stijl
Geeft een keuze van de verschillende stijlen van lijnen die je kan gebruiken.
Lijndikte
Geeft een keuzelijst met de lijndiktes.
25
2.3.3. Uitlijning werkbalk
De werkbalk uitlijning dient om 2 of meerdere velden op elkaar uit te lijnen of om velden uit te lijnen binnen het formulier. Icoon Omschrijving Omschrijving Linkerzijde uitlijnen Objecten links uitlijnen
Horizontaal midden uitlijnen
Het midden van de objecten horizontaal uitlijnen.
Rechterzijde uitlijnen
Objecten rechts uitlijnen.
Bovenzijde uitlijnen
De bovenzijde van de objecten uitlijnen
Verticaal midden uitlijnen
Het midden van de objecten verticaal uitlijnen.
Onderzijde uitlijnen
Objecten onderaan uitlijnen.
Horizontale spatie gelijkmatig verdelen
De horizontale spatie tussen objecten gelijkmatig verdelen.
Verticale spatie gelijkmatig verdelen Horizontaal in midden van band plaatsen
De verticale spatie tussen objecten gelijkmatig verdelen. Objecten horizontaal in het midden van de band plaatsen.
Verticaal in midden van band plaatsen
Objecten verticaal in het midden van de band plaatsen.
Breedte gelijk maken
De breedte van de objecten gelijk maken. De hoogte van de objecten gelijk maken
Hoogte gelijk maken
Je kan meerder velden selecteren door een veld aan te klikken, de shift toets in te houden en dan de volgende velden te selecteren.
Velden worden steeds uitgelijnd op het eerste veld dat je geselecteerd hebt.
26
2.3.4. Standaard werkbalk Deze werkbalk zal u ongetwijfeld vertrouwd voorkomen. Deze functies van deze werkbalk zijn immers in veel applicaties terug te vinden. Hieronder een korte beschrijving van de verschillende elementen. Voor een uitgebreidere beschrijving zie ook punten 2.2.1 en 2.2.2 Icoon Omschrijving Omschrijving Nieuw formulier Nieuw formulier aanmaken. Formulier openen
Bestaand formulier openen
Formulier bewaren
Formulier bewaren met dezelfde naam.
Afdrukvoorbeeld
Afdrukvoorbeeld op scherm opvragen
Nieuwe pagina
Nieuwe pagina toevoegen aan formulier
Nieuwe dialoog
Nieuwe dialoog toevoegen aan formulier
Verwijderen pagina
Pagina eigenschappen
Verwijder geselecteerde pagina. Pas beschikbaar indien het formulier uit meer dan 1 pagina bestaat. Pagina eigenschappen opvragen
Dialoog variabelen
Dialoogscherm met variabelen openen
Object knippen
Knippen van een object en op het clipbord plaatsen
Object kopiëren
Object kopiëren en op clipbord plaatsen
Object plakken
Object plakken van op het clipbord
Kopieer opmaak
Als je een tekstobject selecteert en dan op dit knopje drukt, zullen al de volgende tekstobjecten die je dan op het formulier plaatst dezelfde opmaak hebben. Om de bewaarde opmaak terug ongedaan te maken, klik je op een blanco deel van de pagina en dan terug op dit knopje.
Ongedaan maken
Vorige bewerking ongedaan maken
Ongedaan maken annuleren Groeperen
Indien je op ongedaan maken klikte, kan je hiermee terug naar oorspronkelijke situatie weerkeren. Groeperen van objecten
Groepering verwijderen
De aangemaakte groep verwijderen.
Grid tonen
Grid tonen of niet tonen
Uitlijnen op grid
Uitlijnen op grid aan of af zetten
Zoom
De weergave grootte aanpassen
27
2.4. Objecten balk
Objecten kunnen geselecteerd worden door er met de linker muistoets op te klikken. Afhankelijk van het object dat je selecteerde zal de formuliergenerator anders reageren. Je vindt hier een korte beschrijving van de objecten. Een uitgebreidere beschrijving vind je in het hoofdstuk objecten en eigenschappen.
2.4.1. Banden Op een formulier kunnen verschillende soorten banden geplaatst worden. Afhankelijk van welke band je selecteert, zullen de gegevens op een andere plaats afgedrukt worden. De verschillende soorten banden worden besproken in het hoofdstuk gegevensbeheer.
2.4.2. Tekst object Als je dit object selecteert
en dan met je cursor naar het ontwerp gaat, zal
te zien. Dit wil je merken dat deze verandert is. Je krijgt nu zeggen dat je een tekstobject op het formulier kan plaatsen. Ga met je cursor naar de plaats waar je de tekst wil plaatsen en klik nog eens op de linkermuisknop. Je hebt nu een tekst object op het formulier geplaatst.
2.4.3. Afbeelding object Het picture object formulier.
maakt het mogelijk om afbeeldingen op te nemen in het
2.4.4. Subrapport object Met het subreport object kan je een soort 2e formulier aanmaken binnen hetzelfde formulier. Het subreport wordt dan afgedrukt op de plaats waar je het subreport hebt geplaatst.
28
2.4.5. Systeemtekst object Met dit object is het mogelijk om enkele voorgedefinieerde teksten op het formulier te plaatsen.
2.4.6. Tekenen object Met het draw object is het mogelijk voorgedefinieerde vormen zoals cirkels, rechthoeken enz… op het formulier te plaatsen.
2.4.7. Barcode object Het barcode object maakt het mogelijk om van een bepaalde tekst of veldwaarde uit de databank een barcode te genereren.
2.4.8. OLE object OLE is de afkorting voor Object Linking and Embedding. Met het OLE object is het dus mogelijk om gegevens op te roepen vanuit andere programma’s en te linken aan het formulier.
2.4.9. Rich tekst object Zie tekstobject punt 3.2
2.4.10.
DB kruistabel object
Met een DB kruistabel object is het mogelijk om snel gegevens van verschillende tabellen uit de databank in roostervorm te gieten.
29
2.5. Ontwerp werkbalk
Icoon
Omschrijving Object selecteerder
Omschrijving De standaard gebruikersmodus welke toelaat objecten te selecteren, hun grootte aan te passen…
Hand
Laat toe om een te bewegen in het ontwerpscherm
Vergroten
Hiermee wordt de weergave grootte van de regio waarin je klikt aangepast
Tekst editor
Met dit object kan je meteen wijzigingen aanbrengen in tekstvelden zonder dat het tekst dialoogscherm zich opent. Het is ook mogelijk om met dit object nieuwe tekstvelden op het formulier te plaatsen. Dit kan je doen door het object te selecteren en dan met de linker muisknop te slepen waar je het tekstveld wil plaatsen.
Kopieer opmaak
Als je een tekstobject selecteert en dan op dit knopje drukt, zullen al de volgende tekstobjecten die je dan op het formulier plaatst dezelfde opmaak hebben. Om de bewaarde opmaak terug ongedaan te maken, klik je op een blanco deel van de pagina en dan terug op dit knopje.
30
2.6. Rapport pagina tabs
Met de rapport pagina tabs kan je switchen tussen de verschillende pagina’s, dialoogschermen, sub formulieren of code in je formulier.
2.7. Rapport objecten boomstructuur
De rapport objecten boomstructuur geeft in een boomstructuur weer welke objecten er allemaal in het formulierontwerp gebruikt worden. Indien je in de rapport pagina tabs verspringt van tabblad zal je merken dat de focus in het rapport objecten boomstructuur scherm wijzigt. Als je in de boomstructuur een object selecteert, wordt in het ontwerpscherm het desbetreffende object geselecteerd.
31
2.8. Objecteigenschappen venster
Het objecteigenschappen venster bestaat uit 4 onderdelen: objectnaam, eigenschappen, gebeurtenissen en omschrijving van de geselecteerde eigenschap. De 4 onderdelen worden hieronder wat meer besproken. Voor de gedetailleerde bespreking van de eigenschappen verwijzen we naar het hoofdstuk objecten en eigenschappen.
2.8.1 Objectnaam
Als je dit menu openklapt, krijg je alle objecten te zien die je in het formulier gebruikt. Als je dan een object selecteert, wordt in het ontwerpscherm ook dat object geselecteerd. Het eigenschappenscherm toont dan ook de eigenschappen van het op dat moment geselecteerde object. Indien je in het ontwerpscherm objecten selecteert, zal deze keuzelijst zich ook automatisch aanpassen zodat je steeds de naam van het object ziet.
32
2.8.2 Eigenschappen
Het eigenschappen scherm laat een aantal eigenschappen zien van het geselecteerde object. In dit scherm kan je de eigenschappen van een object raadplegen of wijzigen. De eigenschappen verschillen natuurlijk van object tot object. Zo zal je bijvoorbeeld voor een tekstobject niet de eigenschap Paperwidth hebben zoals je hierboven kan zien.
2.8.3 Gebeurtenissen
Op het tabblad gebeurtenissen vind je gebeurtenissen m.b.t. het geselecteerde object terug die opgeroepen worden op bepaalde tijdstippen. In de linkerzijde van het scherm zie je wanneer de gebeurtenis opgeroepen wordt, in het rechterdeel zie je welke gebeurtenis opgeroepen wordt. Een gebeurtenis is een deel code dat opgeroepen wordt. Die code van de gebeurtenis vind je terug als je het tabblad code selecteert in de rapport pagina tabs (zie 2.6). Het gebruik van code wordt gedetailleerder besproken in het hoofdstuk “Gebruik van programmeertaal”.
33
2.8.4 Eigenschap omschrijving
In het schermpje eigenschap omschrijving vind je een korte omschrijving van de eigenschap van een object waarop je momenteel staat. Zo zie je bijvoorbeeld dat als je de eigenschap width selecteert van een tekst object, je een korte omschrijving krijgt van wat de eigenschap juist inhoudt.
34
2.9. Gegevensboom scherm
Het gegevensboom scherm bestaat uit 4 delen. Je vindt in dit scherm de velden terug die je geselecteerd hebt in het gegevensbeheer,die je dan kan selecteren om op je formulier te plaatsen, een aantal voorgedefinieerde variabelen en functies en de objectklassen. Je zal merken dat een groot deel van deze functionaliteiten besproken worden in de hoofdstukken “Gegevensbeheer” en “Bespreking van standaard functies en variabelen”. Hier geven we een korte beschrijving van de tabbladen in dit scherm.
2.9.1 Gegevens
In dit scherm zullen de velden getoond worden die je hebt opgehaald vanuit de Wisa databank. Het zijn de velden die je hier ziet die beschikbaar zijn in het formulier. In het bovenstaande voorbeeld hebben we een query gemaakt die de school – naam en nummer ophaalt. Deze zou je dan hier kunnen selecteren en naar het formulierontwerp slepen.
35
2.9.2 Variabelen
Op het tabblad variabelen vind je een aantal voorgedefinieerde systeem variabelen terug die je kan gebruiken in het formulier. Je kan deze van hieruit verslepen naar de plaats waar je wil dat ze afgedrukt worden op het formulier. Het is ook mogelijk om zelf variabelen te maken maar dit wordt zoals eerder vermeld besproken in een volgend hoofdstuk.
2.9.3 Functies
Het tabblad functies geeft je een opsomming van de beschikbare functies. Deze zijn vooraf gegroepeerd per soort om je sneller een functie te laten terugvinden.
36
2.9.4 Classes
Het tabblad classes geeft een overzicht van de eigenschappen van elk object dat gebruikt kan worden binnen de fastreport formuliergenerator. Dit is vooral nuttig als je begint te werken met code. Zo kan je opzoeken hoe je een object kan aanspreken.
37
3. Objecten en eigenschappen In dit hoofdstuk worden al de verschillende soorten objecten besproken die terug te vinden zijn in de fastreport formuliergenerator. De beschrijving van de objecten werkbalk zal in dit hoofdstuk niet meer aan bod komen. Deze is besproken in punt 2.4.
3.1. Banden Het gebruik van banden in een formulier bepaalt wanneer bepaalde zaken afgedrukt worden. Zo heb je bijvoorbeeld een band “Pagina hoofding”. Deze zal steeds bovenaan een pagina gedrukt worden alsook de velden die in deze band opgenomen zijn. Banden worden aan het formulier toegevoegd door in de objecten werkbalk te kiezen voor het banden pictogram en dan de band aan te klikken dat je wil toevoegen. Een band verwijderen kan je doen door de band te selecteren en dan op de delete toets van het toetsenbord te drukken of in het menu naar bewerken – verwijderen te gaan. Opgelet: al de velden die op een band staan worden mee verwijderd van het ontwerp indien men een band verwijdert. In dit deel worden de meest gebruikte soorten van banden besproken.
3.1.1. Rapport titel Deze band wordt gebruikt om aan het begin van het formulier 1 keer afgedrukt te worden.
3.1.2. Rapport samenvatting Band dat éénmalig afgedrukt wordt op het einde van een rapport. Dit is dus de ideale band om eventueel een totaal te maken op het einde van het formulier.
3.1.3. Pagina kop De pagina kop is een band dat op elke pagina van het formulier bovenaan afgedrukt wordt. Bijvoorbeeld te gebruiken als je wil dat op elk blad bovenaan de gegevens van de school afgedrukt worden.
3.1.4. Pagina voet De pagina voet is een band dat op elke pagina van het formulier onderaan afgedrukt wordt. Deze band is dus bijvoorbeeld te gebruiken als je wil dat onderaan de paginanummering verschijnt, datum afdruk e.d.
3.1.5. Koptekst De koptekst is een band die afgedrukt wordt naargelang de plaats waar je de koptekst geplaatst hebt in het formulier. De koptekst wordt steeds afgedrukt voor de databand waar hij bij hoort en moet dus ook boven die band geplaatst worden. De band zal 1 keer afgedrukt worden alvorens de band waar de koptekst boven staat afgedrukt wordt.
38
3.1.6. Voettekst De voettekst is een band die afgedrukt wordt naargelang de plaats waar je de voettekst geplaatst hebt in het formulier. De voettekst moet steeds geplaatst worden onder de databand waarbij hij hoort. Na het volledig afdrukken van de databand en zijn bijhorende banden wordt de voettekst afgedrukt. De band zal 1 keer afgedrukt worden nadat de band waar de voettekst onder staat afgedrukt werd.
3.1.7. Master gegevens Dit is de band waar de gegevens, die opgehaald werden door de query, gekoppeld aan moeten worden. Voor elk record dat de query opgehaald heeft, zal deze band 1 keer worden afgedrukt. Het koppelen van de band aan de gegevens kan je doen in het bewerkingsgereedschap venster.
3.1.8. Detail gegevens Deze band is steeds gekoppeld aan andere gegevens en haalt zoals de naam van de band al zegt, meer gegevens op van het record waaraan deze band gekoppeld is. Zo kan je bijvoorbeeld in de master band de gegevens van een leerling ophalen zodat dit zijn fiche is en dan in de detail band al de loopbanen ophalen van de leerling of bij personeel de fiche ophalen in de master band en in de detailband de opdrachten ophalen. De detailband hangt dus steeds af van één ander gegeven en hiervoor kunnen dan meerdere extra gegevens opgehaald worden. Je zal dus in het gegevensbeheer moeten vermelden van welk ander gegeven de detailband gegevens mag verwachten. Dit wordt verder besproken in het hoofdstuk gegevensbeheer. Ook de detailband moet op zijn beurt gegevens ophalen. De koppeling gebeurt net zoals bij de master band in het bewerkingsgereedschap venster.
39
3.1.9. Groep kop De groep kop band laat toe om bepaalde gegevens die opgehaald worden in de masterdata of detaildata te groeperen en de afdruk dan te laten gebeuren volgens die groepering. Zo hebben we in het voorbeeld (zie bijlagen 10.1 en 10.2) een groepering gemaakt op parametertype. Het veld waarop gegroepeerd moet worden kan je selecteren in het groeperen bewerkingsvenster.
Zoals je merkt ken je hier nog enkele bijkomende eigenschappen meegeven. 3.1.9.1.
Hou de groep bij elkaar Indien je van deze optie gebruik maakt, zal het formulier proberen al de gegevens van een bepaalde groep af te drukken op dezelfde pagina. Indien dit niet lukt, zal de nieuwe groep afgedrukt worden op een volgende pagina.
3.1.9.2.
Start met een nieuwe pagina Met deze optie kan je kiezen om bij elke start van een nieuwe groep een nieuwe pagina te beginnen.
3.1.10.
Groep Voet
Deze band drukt gegevens af op het einde van de groep als al de gegevens binnen de groep afgedrukt zijn. De positie van de groep voet zal bepalen bij welke groep kop deze hoort.
3.1.11.
Child
De child band is steeds gekoppeld aan een andere band. De koppeling gebeurt door in de eigenschap child van de band waar de child band moet aan hangen, te zeggen welke child band gekoppeld moet worden. De child band zal dan steeds afgedrukt worden nadat de “hoofd” band afgedrukt is. In het voorbeeld 10.1 zie je dat aan de groep voet een child gekoppeld is.
40
Met de optie vrije band plaatsing kan je kiezen om uw banden zelf te ordenen in het ontwerp. Standaard staat deze keuze af omdat de formuliergenerator de banden zelf zal ordenen a.d.h.v. hun functie binnen het formulier. Deze optie vind je terug in het menu beeld – opties Met de optie toon band bijschriften kan je kiezen om de benamingen van banden bovenaan de band te tonen of de benaming in de band zelf te plaatsen. Indien de benaming in de band zelf geplaatst wordt kan je plaats besparen in het ontwerpscherm. Deze optie is dus zeer handig indien je veel banden op het formulier moet plaatsen. Deze instelling vind je terug in het menu beeld – opties
41
3.1.12.
Eigenschappen van banden
In dit deel worden de meest gebruikte eigenschappen van de banden besproken. De eigenschappen zijn afhankelijk van het bandtype dat gekozen werd en dus niet alle eigenschappen zijn van toepassing op alle banden. Je vindt al de eigenschappen van de banden terug in het object eigenschappen venster. Sommige eigenschappen kunnen ook opgeroepen worden door recht te klikken op de band.
3.1.12.1. Allow split Bepaald of de band over meerder pagina’s verdeeld mag worden. 3.1.12.2. Child Child band is verbonden met deze band. Hier gebeurt de koppeling dus met de child band. 3.1.12.3. Columngap De afstand tussen de kolommen indien hiermee gewerkt wordt. 3.1.12.4. Columns Aantal kolommen dat gebruikt moet worden in het formulier. 3.1.12.5. Columnwidth De breedte van de kolommen. 3.1.12.6. Condition Wordt gebruikt bij de groep band. Hier bepaal je op welk veld de data gegroepeerd moet worden. 3.1.12.7. Dataset Van toepassing op de detailband en de master band. Koppel hiermee de band aan de gemaakte gegevensbron (query). 3.1.12.8. Description Hiermee kan je een omschrijving ingeven m.b.t. de band. 3.1.12.9. Footeraftereach Van toepassing op de detailband en de master band. Bepaalt of de voettekst band na elke gegevensrij getoond moet worden. 3.1.12.10. Height Stel hiermee de hoogte van de band in.
42
3.1.12.11. Hideifsingledatarecord Van toepassing op de groep voeter band. Hiermee kan de groepvoeter verborgen worden als er een groep slechts één data record heeft. 3.1.12.12. Keepchild Hiermee bepaal je of de band steeds samen met zijn child afgedrukt moet worden. De formuliergenerator gaat deze dan op 1 pagina trachten te zetten. 3.1.12.13. Keepfooter Bepaalt of de band samen met de voetband afgedrukt moet worden. 3.1.12.14. Keepheader Bepaalt of de band samen met de kopregel afgedrukt moet worden. 3.1.12.15. Keeptogether Bepaalt of de band samen met al zijn subbands afgedrukt moet worden. 3.1.12.16. Name Geeft de naam van het object weer. 3.1.12.17. Printchildifinvisible Bepaalt of de child band afgedrukt wordt indien de parent band onzichtbaar is. 3.1.12.18. Printifdetailempty Bepaalt of de gegevensband afgedrukt wordt indien de subband leeg is. 3.1.12.19. Printonfirstpage Enkel van toepassing op de pagina kop band. Bepaalt of de band wordt afgedrukt op de eerste pagina. 3.1.12.20. Reprintonnewpage Bepaalt of de band op iedere pagina opnieuw afgedrukt moet worden. 3.1.12.21. Startnewpage Begint een nieuwe band voordat je de nieuwe band afdrukt. 3.1.12.22. Stretched Bepaalt of het object uitgerekt kan worden. De band wordt dan zo hoog gemaakt als nodig. De onderliggende banden schuiven automatisch mee op. 3.1.12.23. Top De bovenste coördinaat van het object.
43
3.1.12.24. Visible Bepaalt of de band zichtbaar moet zijn op de afdruk of niet.
3.2. Tekstobject In het tekstobject kan vrije tekst ingegeven worden en / of kunnen er variabelen ingegeven worden. De opvulling van een tekstobject kan gebeuren door er op te dubbelklikken of door rechts te klikken en te kiezen voor bewerken. Het memo bewerkingsgereedschap scherm opent zich:
In dit venster kan je tekst beginnen intypen. Deze zal dan ook zoals ingegeven op de afdruk verschijnen. Het is in dit venster eveneens mogelijk om een expressie in te voegen. Een expressie kan bestaan uit een gegevensveld, een variabele, een functie of de combinatie van allen. De expressie kan eenvoudig samengesteld worden met de expressie editor.
44
3.2.1. Expressie editor Je kan de expressie editor oproepen via het scherm te zien:
icoontje. Je krijgt dan volgend
De expressie editor bestaat uit 4 tabbladjes. De tabbladjes gegevens, variabelen en functies zullen we eventueel gebruiken om een expressie aan te maken. Gegevens: Op het tabblad gegevens worden de velden getoond die we ophalen in onze aangemaakte gegevensbron(nen). Variabelen: Op dit tabblad worden zowel vooraf gedefinieerde als zelf aangemaakte variabelen getoond zoals bijvoorbeeld “Date” Functies: Hier kan je standaard functies terugvinden die gebruikt kunnen worden in de formuliergenerator. Het doel van een functie is een bewerking uit te voeren op een bepaald gegeven en als resultaat het bewerkte gegeven aflevert. Om nu een geldige expressie aan te maken, kunnen we de zaken die we nodig hebben gewoon verslepen naar het vak expressie.
45
Hier volgt een voorbeeld van een expressie:
Het voorbeeld kunnen we bekomen door volgende zaken uit te voeren: - Op het tabblad functies de functie iff selecteren en deze verslepen naar het vak expressie. - In het vak expressie de cursor plaatsen op de plaats waar we het veld LL_Aantalkinderen willen plaatsen. (positie voor de eerste komma) - Vanop het tabbad gegevens het veld LL_Aantalkinderen verslepen naar het vak expressie. - De vergelijking =’0’ ingeven naast het veld LL_Aantalkinderen in het vak expressie. - De waarde ingeven voor True en False. In dit geval ‘Enig kind’ en ‘Meerdere kinderen’ Als je deze expressie nu bevestigt door op OK te klikken hebben we eigenlijk een tekst object gemaakt dat de tekst “enig kind”, indien de leerling geen broer of zus heeft, of ‘Meerdere kinderen’, indien er wel een broer of zus is, gaat afdrukken.
46
In het memo tekstveld staat nu volgend uitdrukking:
Je merkt dat de aangemaakte expressie tussen [] haakjes komt te staan. Dit wil zeggen dat de waarde van de expressie wordt afgedrukt. Je merkt ook dat het veld LL_AANTALKINDEREN tussen <> tekens staat. Dit wil zeggen dat niet de waarde van het veld afgedrukt wordt maar dat er nog een bewerking op het veld zal gebeuren. In dit voorbeeld moet immers eerst een vergelijking gemaakt worden en het resultaat van de vergelijking moet worden afgedrukt. Indien de [] haakjes niet rond deze vergelijking zouden staan, wordt gewoon de vergelijking afgedrukt op het scherm.
3.2.2. Berekening invoegen De mogelijkheid bestaat om in een tekstobject of memo een berekening te laten uitvoeren. De berekening zal steeds betrekking hebben op een gegevensband en zal dus gebeuren voor 1 of meerdere records. Het hulpscherm om berekeningen aan te maken kan je opstarten met het knopje bewerkingsgereedschap.
47
in het memo
Dit hulpscherm bestaat uit volgende velden die ingevuld moeten worden om een correcte berekening uit te voeren: -
Functie: Hierin bepaal je wat er moet uitgevoerd worden. De mogelijke functies zijn: o Sum: Maakt een som van het geselecteerde veld voor de records die afgedrukt worden binnen de geselecteerde band. o Min: Geeft het laagste getal weer van het geselecteerde veld voor de records die afgedrukt worden binnen de geselecteerde band. o Max: Geeft het hoogste getal weer van het geselecteerde veld voor de records die afgedrukt worden binnen de geselecteerde band. o AVG: Geeft het gemiddelde weer van het geselecteerde veld voor de records die afgedrukt worden binnen de geselecteerde band. o Count: telt het aantal records dat afgedrukt wordt binnen de band.
-
Gegevensband: Hier selecteer je tot welke band de functie betrekking heeft.
-
Dataset: Geeft de gegevensbron weer die gekoppeld is aan de gekozen gegevensband
-
Gegevensveld: Keuze van het veld waarop de berekening betrekking heeft.
-
Expressie: Geeft de mogelijkheid om bijkomend criteria op te geven. Bijv: [SUM(IIF(
>5,,0),MasterData1)]
Telt enkel het aantal kinderen op indien het aantal kinderen groter is dan 5 -
Tel de onzichtbare banden: De gegevens worden ook geteld indien de band toch niet wordt afgedrukt omdat die op Visible=False staat
-
Tussentotaal: Indien deze optie aanstaat, wordt er telkens opnieuw geteld nadat het resultaat afgedrukt is. Dit kan je bijvoorbeeld gebruiken als je per blad een aantal van iets wil weten op dat blad. Dan kan je in de pagefooter het tussentotaal afdrukken.
48
3.2.3. Eigenschappen van het tekstobject Hier worden de meest gebruikte eigenschappen van het tekstobject besproken. Een deel van de eigenschappen vind je ook terug door recht te klikken op het tekstobject. 3.2.3.1. Align Hiermee bepaal je de uitlijning van het tekstobject ten opzichte van de band. 3.2.3.2. Allowexpressions Hiermee ken je bepalen of een tekstobject expressies mag bevatten. Indien deze waarde op true staat, wordt de waarde van de expressie berekend en afgedrukt. Indien deze op false staat en het tekstobject toch een expressie bevat, zal de expressie afgedrukt worden als tekst. Je zal dan op de afdruk bijvoorbeeld zien staan [Uppercase()] in plaats van de omgezette code in hoofdletters. 3.2.3.3.
AllowHTMLTags
Bepaalt of je HTML tags kan gebruiken in het tekst object. Indien dit op True staat zal je bijvoorbeeld een deel van de tekst in het tekst object een andere opmaak kunnen geven. Als voorbeeld: Koptekst: (geplaatst boven groeps kop) zal op de afdruk resulteren in Koptekst: (geplaatst boven groeps kop). Alles wat hier tussen de HTML tags staat werd dus in het vet gezet. Hieronder een opsomming van de beschikbare HTML tags.
3.2.3.3.1. HTML Tags Vette tekst Vette tekst kan je bekomen door de tag . Als voorbeeld: Wisa is fijn zal op de afdruk resulteren in Wisa is fijn
Schuine tekst Schuine tekst kan je bekomen door de tag . Als voorbeeld: Wisa is fijn zal op de afdruk resulteren in Wisa is fijn
Onderlijnde tekst Onderlijnde tekst kan je bekomen door de tag . Als voorbeeld: Wisa is fijn zal op de afdruk resulteren in Wisa is fijn
Subscript tekst Subscript tekst kan je bekomen door de tag <sub>. Als voorbeeld: <sub>Wisa is fijn zal op de afdruk resulteren in Wisa is fijn
49
Superscript tekst Superscript tekst kan je bekomen door de tag <sup>. Als voorbeeld: <sup>Wisa is fijn zal op de afdruk resulteren in Wisa is fijn
Tekstkleur De tekstkleur kan je wijzigen door de tag . Als voorbeeld: Wisa is fijn zal op de afdruk resulteren in Wisa is fijn 3.2.3.4. Autowidth Bepaalt of het tekstobject zelf zijn breedte moet aanpassen. 3.2.3.5. BrushStyle Hiermee geef je de stijl in dat het tekstobject als achtergrond moet hebben. 3.2.3.6. Charspacing Het aantal pixels tussen 2 pixels. Indien je deze groter maakt zullen de karakters verder van elkaar verwijderd zijn. 3.2.3.7. Color Dient om de achtergrond kleur van het tekstobject aan te passen. 3.2.3.8. Datafield Hier kan je selecteren welk veld van de databank je wil afdrukken. Deze keuzelijst is enkel beschikbaar indien het veld dataset ook ingevuld is. 3.2.3.9. Dataset Hiermee koppel je het tekstobject aan een eerder gemaakte gegevensbron. 3.2.3.10. Displayformat Geef in deze eigenschap het formaat weer van de getoonde waarde. Standaard staat deze waarde op fkText. Dit wil zeggen dat het tekstobject een gewoon tekstveld zal weergeven. De eigenschap bestaat uit 3 subeigenschappen: decimalseparator,Formatstr en kind. Het eenvoudigste om deze aan te passen is via het hulpscherm “Toon formaat”. Dit scherm kan opgeroepen worden door de eigenschap displayformat te selecteren en dan op het knopje met de 3 puntjes te klikken.
50
In dit scherm kan je aanklikken welk formaat je het tekstobject wil geven. Als je een standaard formaat voorbeeld selecteert, zal in het tekstvak tekenreeks formaat de codering verschijnen. Je kan ook zelf een tekenreeks formaat ingeven gebaseerd op de reeds bestaande. 3.2.3.11. Expressiondelimiters De tekens die gebruikt worden om een expressie in de tekst op te nemen. Van wat er tussen deze haakjes staat, zal de waarde afgedrukt worden. Voor een meer uitgebreide uitleg zie punt 3.2.1 3.2.3.12. Font en subeigenschappen Hiermee kan je het lettertype, stijl enz. instellen van het tekstobject. Dit kan uiteraard ook sneller gebeuren door de voorziene icoontjes te gebruiken van de tekst werkbalk. 3.2.3.13. Frame en subeigenschappen Hiermee kunnen de eigenschappen van de omkadering van het tekstobject ingesteld worden. Een snellere manier om dit in te stellen is door gebruik te maken van de kaders werkbalk. 3.2.3.14. HAlign Hiermee stel je de horizontale uitlijning van de tekst binnen het object in. Je kan hiervoor ook eenvoudiger gebruik maken van de uitlijn icoontjes van de tekst werkbalk. 3.2.3.15. Height Met deze eigenschap kan je de hoogte van het object instellen. 3.2.3.16. Hidezeros Indien het resultaat van het tekstobject 0 is en deze eigenschap staat op true, zal het tekstobject niet afgedrukt worden. 3.2.3.17. Highlight Met deze eigenschap kan je het conditioneel oplichten van tekstvelden instellen. Voor gedetailleerde uitleg zie punt 2.3.1.1 Markeren van tekstvakken.
51
3.2.3.18. Left Dient om de linkerpositie in te stellen van het tekstobject. 3.2.3.19. Memo Bevat de inhoud van het tekstobject. Indien je deze eigenschap selecteert zal je steeds in het memo bewerkingsgereedschap komen. Voor meer uitleg zie punt 3.2 3.2.3.20. Name De naam van het object. 3.2.3.21. Printable Geeft weer of het object afgedrukt kan worden. Objecten waar de eigenschap op false staat, worden wel afgedrukt in het afdrukvoorbeeld maar niet op de afdruk zelf. 3.2.3.22. Rotation Geeft de verdraaiing van de tekst weer in graden. 3.2.3.23. Stretchmode Geeft het uitrekgedrag van het tekstobject weer. Indien je deze waarde instelt op Maxheight kan het interessant zijn om ook de eigenschap van de band zo in te stellen. 3.2.3.24. Suppressrepeated Indien deze waarde op true ingesteld staat, worden dezefde object slecht 1 maal afgedrukt. 3.2.3.25. Top Geeft het bovenste coördinaat weer van het object. 3.2.3.26. Underlines Indien dit op true staat, zal het object onderlijnd worden. Opgelet: dit is niet steeds hetzelfde als het onderlijnen van de tekst in het object. De eigenschap underlines onderlijnd het object. Als het object dus groter is als de tekst die erin staat, zal de lijn niet enkel onder de tekst staan maar zal deze doorlopen. 3.2.3.27. VAlign Geeft de verticale uitlijning van de tekst binnen het object weer. Je kan deze ook eenvoudig instellen met de verticale uitlijn icoontjes van de tekst werkbalk. 3.2.3.28. Visible Geeft de zichtbaarheid weer van het object. Indien deze op false staat, zal je het object wel zien in het ontwerp maar niet op het afdrukvoorbeeld of op de afdruk.
52
3.2.3.29. Width Dient om de breedte van het object in te stellen. 3.2.3.30. Wordwrap Bepaalt of het tekstobject een zacht return invoegt zodat de tekst verder loopt op de volgende lijn indien de tekst langer is dan het object.
53
3.3. Het afbeelding object Met dit object is het mogelijk om figuren op een formulier te plaatsen. Een afbeelding kan je selecteren door het object op het formulier te plaatsen en dan te dubbelklikken op het object. Je krijgt dan het hulpscherm om de afbeeldingen te selecteren.
Met het icoontje kan je een browse scherm openen om zo naar de afbeelding te bladeren die je wil selecteren. Indien je een afbeelding gekozen hebt, verschijnt deze in het afbeelding hulpscherm. Om te bevestigen klik je op het
icoon.
54
3.3.1. Specifieke eigenschappen van het afbeelding object In dit punt worden de specifieke eigenschappen van het afbeelding object besproken. De algemene eigenschappen kan je ook terugvinden bij de eigenschappen van het tekstobject in punt 3.4 3.3.1.1. Autosize Bepaalt of de afbeelding zijn afmeting zelf moet instellen. 3.3.1.2. Center Bepaalt of de afbeelding gecentreerd moet worden binnen het object. 3.3.1.3. Keepaspectratio Indien deze eigenschap op true staat worden de oorspronkelijk verhoudingen behouden van de afbeelding. Dit om vervorming van de afbeelding te voorkomen. 3.3.1.4. Picture Opent het hulpscherm om afbeeldingen te openen.
3.4. Subrapport object Met het subrapport object kan je op een bepaalde plaats op je formulierontwerp een andere pagina oproepen die op haar beurt gegevens kan afdrukken. Je zal merken als je het subrapport object op het formulierontwerp toevoegt, er een extra tabblad met als naam subreport verschijnt. Als je dat tabblad selecteert kan je eigenlijk gewoon een nieuw formulier beginnen te ontwerpen en dat zal dan opgeroepen worden op de locatie waar je het object geplaatst hebt. De eigenschappen en gebruik van het subrapport zijn hetzelfde als die van een gewone pagina.
55
3.5. Systeemtekst object Een systeemtekst object is eigenlijk hetzelfde als een tekst object. Het enig verschil is dat in een systeemtekst object geen combinatie kan gemaakt worden van bijvoorbeeld een veld uit de databank en een vaste tekst. Om dit te verduidelijken zie je hieronder het hulpscherm staan m.b.t. het systeemtekst object.
Zolas je ziet heb je de keuze tussen een systeemvariabele, een berekende waarde of een vaste tekst maar geen combinatie van velden. Voor al het overige is het systeemtekst object hetzelfde als het tekstobject dat besproken wordt in punt 3.2
56
3.6. Het tekenen object Met het tekenen object is het mogelijk om voorgedefinieerde vormen op het formulier te plaatsen. Je hebt de keuze uit de volgende vormen:
3.6.1. Lijn - Diagonale lijn Hiermee kan je een lijn tekenen op het formulier. Voor de eigenschappen van de lijn wordt verwezen naar punt 3.10
3.6.2. Rechthoek Met het rechthoek object krijg je de mogelijkheid om rechthoeken te tekenen op het formulier. Opgelet: een rechthoek bestaat steeds uit 4 lijnen dus het is niet mogelijk om in de frame eigenschap te bepalen welke lijnen je wel of niet wil tekenen.
3.6.3. Afgeronde rechthoek Met dit object is het mogelijk om een rechthoek met afgeronde hoeken te tekenen. Als je het object op het formulier plaatst zal je merken dat je standaard een gewone rechthoek te zien krijgt. Je kan de afronding instellen door de eigenschap curve aan te passen.
3.6.4. Ellips Dit object gebruik je om cirkels te tekenen op het formulier.
3.6.5. Driehoek Te gebruiken voor het tekenen van een driehoek op het formulier.
3.6.6. Diamant Met dit object kan een ruit op het formulier geplaatst worden.
57
3.6.7. Specifieke eigenschappen van tekenobjecten Voor de algemene eigenschappen van objecten wordt verwezen naar punt 3.4 Hieronder volgen enkel de eigenschappen die een specifieke betrekking hebben op het tekenobject 3.6.7.1. Diagonal Hiermee kan je aangeven of een lijn diagonaal getekend moet kunnen worden. Indien dit op true staat, heb je de mogelijkheid om de geplaatste lijn in het ontwerp te selecteren en deze dan in de richting te draaien die je wil. Indien deze eigenschap op false staat zal je enkel in staat zijn om horizontale lijnen te tekenen. 3.6.7.2. Curve De curve eigenschap wordt gebruikt om de afronding van hoeken te bepalen. Deze eigenschap is bijvoorbeeld van toepassing op de rechthoek met afgeronde hoeken. Hoe hoger het getal hoe meer de hoeken afgerond zullen worden. 3.6.7.3. Shape Keuzelijst met de voorgedefinieerde vormen. Je kan de vorm hier nog wijzigen indien je bijvoorbeeld het verkeerde tekenobject selecteerde.
3.7. Barcode object Met dit object is het mogelijk om de barcode van een bepaalde veldwaarde of een ingegeven tekst af te drukken. Je kan de barcode het eenvoudigste instellen via de barcode editor. Je krijgt deze als je dubbelklikt op het barcode object in het ontwerp of door rechts te klikken op het object en te kiezen voor bewerken.
Als je op het icoontje Fx klikt, kom je terecht in de expressie editor. Deze wordt gedetailleerder besproken in punt 3.3 In het veld code komt dan de uiteindelijke expressie te staan. Van de waarde van die expressie zal uiteindelijk de barcode gedrukt worden. De overige opties worden besproken in punt 3.13.2 “eigenschappen van het barcode object”
58
3.7.1. Eigenschappen van het barcode object Hieronder wordt een opsomming gegeven van de specifieke eigenschappen van het barcode object. Voor de andere eigenschappen wordt verwezen naar punt 3.4 “eigenschappen van het tekstobject”. 3.7.1.1. BarType In het veld “type van de bar”, krijg je een keuzelijst te zien van welke barcode standaards er allemaal beschikbaar zijn. Selecteer hier het type dat je wil gebruiken. 3.7.1.2. CalcChecksum Bepaalt of de barcode het controlegetal zelf moet berekenen. 3.7.1.3. Showtext Hier kan je kiezen of de tekstuele inhoud van de barcode afgedrukt moet worden . 3.7.1.4. Text Hier krijg je de mogelijkheid om een tekst in te geven die omgezet moet worden in een barcode. Indien de inhoud van de barcode een veldwaarde bevat, zal met deze tekst geen rekening gehouden worden. 3.7.1.5. Widebarratio Met widebarratio kan de relatieve breedte aangepast worden. Dit wel zeggen dat alle streepjes evenveel zullen verbreden ten opzicht van elkaar. 3.7.1.6. Zoom Met zoom kan je de grootte van de barcode aanpassen.
59
3.8. Het OLE object OLE is de afkorting voor Object Linking and Embedding. Hiermee is het dus mogelijk om gegevens op te roepen vanuit andere programma’s en te linken aan het formulier. OM het OLE object uit te leggen gaan we werken met een Excel voorbeeld. Het is dus ook mogelijk om andere objecten toe te voegen op het formulier. Wanneer je het OLE object op het formulier plaatst en er dan op dubbelklikt om het OLE object bewerk scherm te openen, krijg je onderstaand scherm.
Hier kan je klikken op invoegen om de selectie te maken van het te koppelen object. Nadat je geklikt hebt op invoegen krijg je onderstaand scherm.
Je kan nu kiezen om een nieuw object te maken, bijvoorbeeld een leeg Excel werkblad, of om een bestand te gebruiken. Als je kiest voor nieuw object, krijg je al de ondersteunde types in een lijst. In ons voorbeeld kiezen we voor bestand gebruiken en bladeren we naar het excel bestand dat we willen koppelen. Als we het bestand geselecteerd hebben en op OK geklikt hebben, krijg je een voorbeeld in het OLE object bewerk scherm
60
Als we nu op sluiten klikken, wordt de inhoud van het Excel werkblad in ons formulier opgenomen. Indien je op bewerken klikt, kan je de inhoud van het Excel blad nog wijzigen en zullen de wijzigingen ook op het formulier zichtbaar zijn. De eigenschappen van het OLE object zijn terug te vinden bij de eigenschappen van het tekstobject in punt 3.4
3.9. Het RichText Object Zie punt 3.2
61
3.10. Het DB kruistabel object Met een DB kruistabel object is het mogelijk om snel gegevens van verschillende tabellen uit de databank in roostervorm te gieten. Als voorbeeld gaan we een formulier maken dat al de leerlingen ophaalt die binnen 2 opgegeven schooljaren in de instelling gezeten hebben en daarvoor hun klas afdrukken. We beginnen met het DB kruistabel object op het formulier te plaatsen. Als het object op het formulier geplaatst is open je het cross tab bewerk scherm.
De velden die in de brongegevens beschikbaar zijn, hebben we met een query opgehaald in het gegevensbeheer. Het gebruik van het gegevensbeheer wordt besproken in hoofdstuk 4. We kunnen nu de velden die we willen zien verschijnen op ons formulier verslepen naar de plaats dat we willen dat ze verschijnen op het formulier.
62
Door naast de velden op de pijltjes te klikken, krijg je de opties te zien wat er moet gebeuren van bewerkingen op de velden. We vinken nu nog de volgende velden af: show title, show corner, kolom totaal en rij totaal, zodat we enkel een kolomkop en een rijkop overhouden. Nu onze grid gemaakt is, klikken we op ok zodat we terug in het ontwerpscherm komen. Je ziet nu de opbouw van de grid in het ontwerpscherm. Om te verduidelijken wat het DB kruistabel object nu juist doet, heb je hieronder een deel van de afdruk van het hierboven aangemaakt formulier.
3.11. Vinkveld object Het vinkveld object kan je gebruiken om de waarde van vinkje in de Wisa applicatie mee af te drukken. Je kan de databank veldjes dan ophalen in het gegevensbeheer en het vinkveldje koppelen aan het bijpassende databank veld.
3.11.1.
Specifieke eigenschappen van het vinkveld object
In dit deel worden enkel de specifieke eigenschappen van het vinkveld object weergegeven. Voor de algemene eigenschappen ken je terecht in punt 3.4 3.11.1.1. Checked Bepaalt of het vinkje standaard aan of af staat. 3.11.1.2. Checkstyle Met deze eigenschap kan je de stijl van het vinkje selecteren. 3.11.1.3. Uncheckstyle Geeft de mogelijkheid om de stijl in te geven indien het vinkje niet aangevinkt is.
Indien je in het menu beeld – opties gekozen hebt voor “toon het bewerkingsgereedschap na het invoegen”, opent er zich, na het plaatsen van een nieuw object op het formulier, meteen het bewerkingsgereedschap scherm. Je kan het bewerkingsgereedschap ook manueel oproepen door rechts te klikken op het object en dan te kiezen voor bewerken of door te dubbelklikken op het object.
63
4. Gegevensbeheer
4.1. Algemeen In het gegevensbeheer wordt bepaald welke gegevens er opgehaald worden uit de databank (formulier gegevensbron) en welke parameters (programma parameters) het formulier moet krijgen vanuit het Wisa programma om de gegevens correct te kunnen ophalen. Het gegevensbeheer kan gestart worden via het menu Rapport – Gegevens. Hieronder vind je een afbeelding van het gegevensbeheer scherm dat standaard opgestart wordt bij aanmaak van een nieuw formulier.
64
4.2. Formulier gegevensbron Op het tabblad formulier gegevensbron worden de verschillende gegevensbronnen getoond die het formulier heeft. In een formulier gegevensbron worden bepaalde gegevens opgehaald uit de databank die je later zal willen afdrukken op het formulier. Het is mogelijk om meerdere formulier gegevensbronnen te maken per formulier. De formulier gegevensbron is eigenlijk niet meer of minder dan een SQL query die uitgevoerd wordt bij het oproepen van het formulier. Een formulier gegevensbron heeft de volgende kenmerken: Naam: hier geef je de naam in van de gegevensbron. Als je bijvoorbeeld een query maakt die de gegevens van een leerling ophaalt kan je als naam ‘leerling’ kiezen. De naam is volledig vrij te kiezen. Wel kies je best een naam die enige betekenis voor je heeft. Dit is vooral handig als je met meerdere gegevensbronnen gaat maken binnen hetzelfde formulier. Zo vindt je snel de juiste gegevensbron terug. Actief: geeft weer of de query uitgevoerd moet worden bij het uitvoeren van het formulier of niet. Kan vooral gebruikt worden bij het aanmaken en testen van het formulier. Indien het vinkje niet aanstaat zal er, bij het aanmaken van de afdruk, voor deze gegevensbron ook geen data opgehaald worden. Omschrijving: In het veld omschrijving kan je nog een vrij te kiezen omschrijving ingeven die je wat meer uitleg geeft over wat de gegevensbron gaat ophalen. Type: Hier geef je het type van de gegevensbron in. Als het een eigen formulier is dat aangemaakt wordt, kan je dit best laten staan op SQL-query. Indien bij type gegevens uit bestand staat, verwacht het formulier een bestand dat reeds opgevuld is met gegevens en gaat de gegevensbron van het formulier gevuld worden met gegevens uit dat bestand. Het gegevensbestand zal steeds moeten aangeleverd worden vanuit het Wisa pakket. Aangezien het niet mogelijk is om zelf een gegevensbestand aan te maken is dit type dus niet van toepassing. Master: Hier kan je opgeven of de gegevensbron die je maakt afhankelijk is van een andere gegevensbron. Een simpel voorbeeld is dat je bijvoorbeeld een gegevensbron hebt die gegevens van leerlingen ophaalt en een gegevensbron die adressen ophaalt. Je kan dan de gegevensbron die het adres ophaalt laten afhangen van de master, die in dit geval de leerling is, zodat enkel de adressen van die leerling opgehaald worden.
65
Query: In dit vak komt de uiteindelijke query die uitgevoerd zal worden als deze gegevensbron opgeroepen wordt. Je kan hier zelf een query intypen of je kan werken met de visuele querybuilder die gestart kan worden met volgende . De visuele querybuilder is een handig hulpmiddel om zelf knop query’ s aan te maken door tabellen te verslepen en velden aan te klikken die je wil gebruiken. Een nieuwe gegevensbron toevoegen. Een gegevensbron verwijderen Aangebrachte wijzigingen in de gegevensbron bewaren. Aangebrachte wijzigingen in de gegevensbron ongedaan maken. Voorbeeld opvragen van de data die zal opgehaald worden door de gegevensbron. Zie punt 4.2.2 Preview data
66
4.2.1. De visuele querybuilder De visuele query builder kan gestart worden door in het gegevensbeheer scherm op volgende knop te klikken. Met deze tool kan je, ook al ken je niets van SQL en query’s, toch op een eenvoudige wijze een query voor u laten maken. Het enige wat je moet doen is de tabellen en velden selecteren en eventueel enkele criteria ingeven waarop gefilterd moet worden. Hieronder vind je het standaard scherm dat gestart wordt bij het aanmaken van een nieuwe query met de visuele query builder.
67
Een query aanmaken met de query builder Een query aanmaken gebeurt best in enkele stappen. Het eerste wat je best kan doen is bepalen welke tabellen je allemaal nodig zal hebben. Je kan deze tabellen dan in het rechter deel van het scherm, waar je een overzicht krijgt van alle beschikbare tabellen, selecteren en verslepen naar het grijze valk in de query builder. Stel dat we van een bepaalde instelling de gegevens willen ophalen zoals de naam van de instelling, het adres en de gemeente, dan hebben we de tabellen Instelling,School en gemeente nodig. Nadat je deze 3 tabellen versleept hebt, krijg je in het grijze vak iets dat zou moeten lijken op onderstaand scherm.
Je merkt meteen dat de querybuilder automatisch de verbinding legt tussen de tabellen en dat je hier zelf dus niets moet van kennen.
68
De volgende stap dat we moeten doen is de velden selecteren die we willen gebruiken in ons formulier. In ons voorbeeld moeten we de velden selecteren zoals in onderstaand voorbeeld. De velden kunnen geselecteerd worden door deze gewoon aan te vinken.
Je merkt nu dat er in het onderste deel van het scherm een overzicht komt dat de velden bevat die we selecteerden. Stel dat we het overzicht van de instellingen nu willen sorteren op het instellingsnummer, dan kunnen we dit hier ook meteen instellen. Je zal dan in de kolom sort type moeten aanduiden in welke volgorde je de lijst wil sorteren en indien je op meerdere velden wil sorteren, de hoeveelste sortering dit moet zijn. Dit kan je doen met de eigenschap sort order. Indien je een filter wilt instellen zodat in dit voorbeeld niet alle gegevens van alle instellingen getoond worden, zal je in het veld criteria nog bepaalde zaken moeten ingeven. Meestal zal dit een parameter zijn die de query verwacht vanuit het Wisa programma. Bij het aanmaken van een afdruk geef je immers steeds bepaalde zaken in zoals de werkdatum en de instelling. Hier wordt dus bepaald wat de gebruiker moet ingeven voor hij het formulier kan afdrukken. Een parameter wordt in het criteria steeds ingegeven onder de vorm :naamparameter
69
Stel dat we willen filteren op instellingsID dan zal er in het vak criteria voor het veld instelling.IS_ID :IS_ID moeten staan zoals in onderstaand voorbeeld.
Indien de parameter een tekst is die doorgegeven moet worden aan de query, moet je de parameter nog tussen haakjes zetten. Stel dat je dus een filter wil maken op een naam dan zal je bij criteria het volgende moeten ingeven =:’Naam’ Onze eerste query is nu af. Je merkt zelf dat dit niet moeilijk is… Je kan eventueel eens bekijken wat het programma nu allemaal in de achtergrond gemaakt heeft voor jou door op het knopje text query te klikken . Je zou dan iets gelijkaardigs moeten krijgen.
Je merkt dus meteen dat de query builder een handig hulpmiddel is om je heel wat typwerk te besparen. Indien je de query builder nu sluit zal je merken dat je query meteen overgenomen wordt in het scherm formulier gegevensbron.
70
4.2.1.1.
Het resultaat van een query bekijken Als je een query hebt aangemaakt met de visuele query builder kan je meteen het resultaat bekijken.Dit kan je doen door in de query builder te klikken op het knopje result bovenaan in de query builder. Indien je in uw query bepaalde parameters opvraagt, zal je in het resultaat niets zien omdat de waarde van de parameter hier immers nog niet gekend is.
Indien je in uw query bepaalde parameters opvraagt in de kolom criteria, zal je in het resultaat niets zien omdat de waarde van de parameter hier immers nog niet gekend is. Je kan dan in plaats van een parameter op te vragen hier tijdelijk een waarde ingeven in plaats van de parameter.
4.2.1.2.
Text Query De optie tekst query binnen de query builder stelt je in staat om toch nog aanpassing te doen in de query. Indien je niet op de hoogte bent van SQL kan je hier best zelf niets in wijzigen.
71
4.2.2. Preview data Met de optie preview data kan je meteen een voorbeeld opvragen van de data die zal opgehaald worden uit Wisa door je aangemaakte gegevensbron.
Sluit het scherm preview data Ga naar het eerste record in het overzicht Ga naar het vorige record in het overzicht Ga naar het volgende record in het overzicht Ga naar het laatste record in het overzicht
Indien je in uw query gebruik maakt van programma parameters, zal je in het scherm preview data niets zien omdat de waarde van de parameter hier immers nog niet gekend is. Je kan dan in plaats van een parameter op te vragen tijdelijk een bestaande waarde ingeven in plaats van de parameter.
72
4.3. Programma parameters 4.3.1. Algemeen Programma parameters zijn gegevens die uw aangemaakte gegevensbron of query nodig heeft om correct uitgevoerd te kunnen worden. Deze worden aangeleverd door het Wisa pakket. Als je een formulier afdrukt vanuit de bibliotheek moet je immers steeds enkele zaken ingeven. Dit zijn dus de programma parameters. Stel dat je een formulier wil afdrukken met de leerlingen van een bepaalde instelling, dan zal uw query zeker 2 parameters nodig hebben. Dit zijn dan een datum om enkel de leerlingen op te halen op die datum en het ID van de instelling waarvoor je de leerlingen wil ophalen. Er zijn 2 mogelijkheden om programma parameters in te geven in het formulier. De eerste mogelijkheid is als je een parameter gebruikt in de query en je deze query bevestigt, de formuliergenerator de vraag zal stellen of de parameters moeten worden toegevoegd aan de programma parameters. De tweede mogelijkheid is om ze zelf in te geven. Programma parameters zijn enkel gekend in de query. Als je ze toch wil gebruiken op de afdruk, moet je de parameters nog toevoegen aan de rapport variabelen. Rapport variabelen worden besproken in hoofdstuk 5. Indien in het formulier programma parameters gedefinieerd zijn die niet worden doorgegeven door het Wisa pakket, zal bij het oproepen van het afdrukvoorbeeld het formulier de melding geven dat er extra parameters nodig zijn om het formulier af te drukken. Afhankelijk van het type van de parameter krijg je dan verschillende ingave mogelijkheden. (zie 4.3.3 eigenschappen van een parameter)
73
4.3.2. Programma parameters scherm Het lege programma parameters scherm ziet er zo uit:
Zelf een programma parameter toevoegen Een programma parameter verwijderen Aangebrachte wijzigingen bewaren Aangebrachte wijzigingen ongedaan maken. Geeft de mogelijkheid om aangemaakte rapport variabelen snel toe te voegen als programma parameter. Rapport variabelen worden besproken in hoofdstuk 5.
74
4.3.3. Eigenschappen van een programma parameter. Een programma parameter heeft enkele eigenschappen. Deze worden hier besproken. Name: Is de naam van de parameter zoals deze gebruikt wordt in de query. Description: Hier kan je een korte omschrijving ingeven voor de parameter. Indien de parameter niet werd doorgegeven door het Wisa pakket bij het oproepen van de afdruk, zal je een melding krijgen met de vraag om extra parameter in te geven. Het is deze omschrijving van de parameter die dan getoond zal worden aan de gebruiker. Data type: Hier krijg je de mogelijkheid om het type van de parameter in te geven. De verschillende types worden hier kort besproken:
Geheel getal: dit type verwacht een geheel getal. Zoekwaarde: momenteel niet in gebruik Tekstwaarde: dit type wordt gebruikt om een tekst door te geven. Datum: wordt gebruikt om een datum door te geven in het formaat dd/mm/yyyy Datum(SQL formaat): verwacht een datum in het formaat mm/dd/yyyy. Dit type wordt normaal niet gebruikt omdat de gebruiker de datum steeds in dd/mm/yyyy doorgeeft. Zoeklijst waarde: momenteel niet in gebruik. Keuzelijst: momenteel niet in gebruik.
75
Lookup type: Momenteel niet in gebruik Value: Hier kan je een standaard waarde ingeven voor de parameter. Als je gebruik maakt van programma parameters moet je hier steeds iets invullen. Indien het type een tekstwaarde is, moet je de waarde tussen aanhalingstekens zetten. Bijvoorbeeld ‘naam’
76
5. Bespreking van standaard functies en variabelen 5.1. Algemeen Het scherm met de variabelen en functies kan opgeroepen worden via het menu Rapport – variabelen. In dit scherm wordt een overzicht gegeven van de beschikbare gegevens, variabelen en functies. In dit hoofdstuk wordt enkel een beschrijving gegeven van de beschikbare functies en hoe je een variabele moet toevoegen. Het gebruik op zich van de variabelen en functies zal meestal gebeuren in een tekstobject. Zie 3.2 tekstobject.
5.2. Gegevens Op dit tabblad worden de beschikbare velden getoond die opgehaald worden door de aangemaakt query’ s in het gegevensbeheer. De velden staan gegroepeerd per gegevensbron. Door de gegevensbron open te klikken, worden de velden van de gegevensbron getoond. Indien er geen velden onder de gegevensbron verschijnen, wil dit zeggen dat de query een fout bevat.
5.3. Variabelen Op dit tabblad krijg je een overzicht van de reeds bestaande variabelen die gebruikt kunnen worden in het formulier. Variabelen kunnen ook gebruikt worden op de afdruk van het formulier. Standaard is er een categorie Wisa en standaard. De variabelen onder de categorie Wisa zijn variabelen die verschillende directories ophalen die ingegeven zijn in het Wisa pakket zoals map met beeldjes, map met Wisa formulieren…. Met de systeem variabelen kun je bijvoorbeeld de huidige datum en tijd weergeven of de paginanummering afdrukken…
77
Hieronder een korte beschrijving van het variabelen scherm. Een nieuwe categorie aanmaken Een nieuwe variabele aanmaken Een variabele of categorie bewerken Een variabele of categorie verwijderen Geeft een lijst weer van alle categorieën en variabelen Een eerder bewaard variabelen bestand laden Aangemaakte variabelen bewaren in een bestand. Uitgevoerde acties annuleren Uitgevoerde acties bevestigen
5.3.1. Variabelen maken en bewerken Het is mogelijk om zelf variabelen aan te maken die je dan kan gebruiken in de afdruk van het formulier. Zelf aangemaakte variabelen moeten steeds in een nieuwe categorie aangemaakt worden. Een veel gebruikt voorbeeld is de werkdatum. Deze datum wordt dikwijls opgevraagd bij het aanmaken van een afdruk vanuit het Wisa pakket. Het is niet ondenkbaar dat je deze datum dan ergens wil afdrukken op het formulier. Om dit te doen moeten we een bijkomende variabele definiëren. In deze variabele wordt dan de werkdatum gestockeerd zodat deze gebruikt kan worden in de afdruk. Omdat de werkdatum doorgegeven wordt door het programma, moet deze ook gedefinieerd worden in de programmaparameters. Zie punt 4.3 Indien de werkdatum gekend is in de programma parameters, kunnen we de werkdatum ook aanmaken als variabele. Het is belangrijk dat de variabele dezelfde naam krijgt als de programma parameter en dat je er een standaard waarde aan toekent in het vak expressie. Bij het aanmaken van de afdruk wordt de werkdatum dan als programmaparameter opgevraagd en doorgegeven en gestockeerd in de variabele werkdatum. Deze werkwijze is nodig omdat we programmaparameters niet kunnen afdrukken op het formulier en variabelen wel.
78
Je kan ook gebruik maken van variabelen zonder dat deze gekend zijn als programma parameter. Bijvoorbeeld een tellertje om tijdelijk gegevens in te stockeren bij het aanmaak van de afdruk. Meestal wordt dit dan samen gebruikt met programmeercode en dit wordt hier niet verder besproken.
79
5.4. Functies In de formuliergenerator zitten enkele voorgedefinieerde functies. Deze functies doen bepaalde bewerkingen en geven steeds een resultaat terug. Functies kunnen bijvoorbeeld gebruikt worden in de expressie editor van een tekstvak. (Zie 3.2.1) Zo kan je bijvoorbeeld het schooljaar laten berekenen in een tekstvak als je een datum opgeeft. Binnen de functies kunnen zowel waarden uit de databank gebruikt worden als zelf aangemaakte variabelen. Hieronder worden de meeste functies besproken die in de formuliergenerator opgenomen zijn. Het voorbeeld geeft de functie weer indien je de functie zou gebruiken in een tekstvak.
80
5.4.1. Mathematisch Naam
Omschrijving
Voorbeeld
Resultaat
ABS
Geeft een geheel getal terug
[Abs(-3)]
3
Frac
Geeft het decimale deel terug van een decimaal getal
[Frac(10.25)]
0.25
Int
Geeft het geheel getal deel terug van een decimaal getal
[Int(10.25)]
10
Round
Rondt een decimaal getal af op het dichtstbijzijnde gehele getal Kapt een decimaal getal af tot een geheel getal
[Round(10.55)]
11
[Trunc(10.25)]
10
Trunc
81
5.4.2. Wisa Naam
Omschrijving
Voorbeeld
Resultaat
Aligncenter
Voegt langs links en rechts spaties toe aan een tekst tot de opgegeven lengte bereikt is. Voegt langs rechts spaties toe aan een tekst tot de opgegeven lengte bereikt is. Voegt langs links spaties toe aan een tekst tot de opgegeven lengte bereikt is. Maakt een gestructureerde mededeling van het factuurnummer Zet een komma gescheiden lijst om naar een CRLF gescheiden lijst. Geeft het aantal dagen tussen datum1 en datum2 Geeft true terug als datum1 <= Datum2
L [AlignCenter('Wisa',12)] R
L
[AlignLeft('Wisa',8)] R
Wisa
L[AlignRight('Wisa',8)]
L
[BankMessage('1300071751')]
+++130/0071/75154+++
[CommaTextToText('Wisa,Administratie')] [DaysBetween(strtodate('01/09/2007'),strtodate('30/09/2007'))]
Wisa Administratie 29
[Earlier(StrTodate('01/09/2007'),strtodate('02/09/2007'))]
True
Geeft de naam van de map waar rapport gegevens terecht komen Geeft de naam van de map voor eigen formulieren Geeft de naam van de map met beeldjes
[GetDataDir ]
Variabel
[GetLocalReportDir ]
Variabel
[GetPictureDir ]
Variabel
Geeft de naam van de map met Wisa formulieren Haalt de parametercode op vertrekkend van de parameter ID Haalt de parameter waarde extra op vertrekkend van de parameter ID Haalt de omschrijving van de parameter op vertrekkend van de parameter ID
[GetReportDir ]
Variabel
[ParameterCode(50)]
Variabel
[ParameterExtra(50)]
Variabel
[ParameterOmschrijving(50)]
Variabel
Alignleft AlignRight Bankmessage CommaToText DaysBetween Earlier GetDatadir GetLocalReportDir GetPictureDir GetReportDir ParameterCode ParameterExtra ParameterOmschrijving
82
Wisa
R
R
Wisa
5.4.3. Wis@d Naam
Omschrijving
Voorbeeld
Resultaat
EindSchoolJaar
Geeft 30 juni van het schooljaar waarin de datum ligt Geeft 31 augustus van het schooljaar waarin de datum ligt Haalt de deelgemeente van de gemeente op vertrekkend van het gemeente ID Haalt de fusiegemeente van de gemeente op vertrekkend van het gemeenteID Haalt de postcode van de gemeente op vertrekkend van het gemeenteID Haalt de code van de instellingsparameter op vertrekkend van de ID Haalt de waarde extra van de instellingsparameter op vertrekkend van de ID Haalt de omschrijving van de instellingsparameter op vertrekkend van de ID Geeft 30 juni van het schooljaar terug waarin D1 ligt of D2 indien die vroeger valt Geeft 1 september van het schooljaar terug waarin D1 valt of D2 als die later valt Geeft het schooljaar terug waarin D ligt Geeft 1 september van het schooljaar waarin D valt terug
[EindSchoolJaar(strtodate('01/09/2006'))]
30/06/2007
[ExtraSchoolJaar(strtodate('01/09/2006'))]
31/08/2007
[GemeenteDeelgemeente(50)]
Variabel
[GemeenteFusieGemeente(50)]
Variabel
[GemeentePostCode(50)]
Variabel
[InstellingParameterCode(50)]
Variabel
[InstellingParameterExtra(50)]
Variabel
[InstellingParameterOmschrijving(50)]
Variabel
[LeerlingEindSchoolJaar(strtodate('01/09/2006'),strtodate('10/09/2006'))]
30/06/2007
[LeerlingEindSchoolJaar(strtodate('10/10/2006'),strtodate('08/10/2006'))] [LeerlingStartSchoolJaar(strtodate('02/09/2006'),strtodate('10/09/2006'))]
08/10/2006 10/09/2006
[LeerlingStartSchoolJaar(strtodate('10/09/2006'),strtodate('02/09/2006'))] [SchoolJaar(strtodate('05/09/2006'))]
01/09/2006 2006
[StartSchoolJaar(strtodate('06/09/2006'))]
01/09/2006
Extraschooljaar GemeenteDeelgemeente
GemeenteFusieGemeente
GemeentePostCode
InstellingParameterCode
InstellingParameterExtra
InstellingParameterOmschrijving
LeerlingEindSchoolJaar(D1,D2)
LeerlingStartSchooljaar(D1,D2)
Schooljaar(D) StartSchooljaar(D)
83
5.4.4. Aggregate Aggregate functies kunnen ook opgeroepen worden met het
knopje in het tekstobject. (Zie punt 3.2)
Naam
Omschrijving
Voorbeeld
Resultaat
AVG
Berekent het gemiddelde van een expressie op een band
AVG(,MasterData1)
MIN
Berekent het minimum van een expressie op een band
MIN(,MasterData1)
MAX
Berekent het maximum van een expressie op een band
MAX (,MasterData1)
SUM
Berekent de som van een expressie op een band
SUM (,MasterData1)
COUNT
telt het aantal records dat afgedrukt wordt binnen de band.
COUNT(MasterData1)
Berekent het gemiddeld aantal kinderen opgeroepen op band Masterdata1 Toont het kleinste aantal kinderen opgeroepen op band Masterdata1 Toont het grootste aantal kinderen opgeroepen op band Masterdata1 Berekent het totaal aantal kinderen opgeroepen op band Masterdata1 Telt het aantal records dat afgedrukt wordt.
84
5.4.5. Tekenreeks Naam
Omschrijving
Voorbeeld
Resultaat
CHR(i)
Converteert een geheel getal i naar een karakter uit de ASCII code Vergelijkt 2 teksten en geeft de waarde 0 indien deze gelijk zijn en -1 indien verschillend Geeft een deel van een tekst s terug, vanaf positie i1, en dit i2 karakters lang Verwijdert een deel van een tekst s, vanaf positie i1 en dit i2 karakters lang Voegt een tekenreeks s2 in een andere tekenreeks s1 in en dit op positie i Geeft het aantal karaketers van tekenreeks s terug Converteert alle tekens in een tekenreeks in klein letters Converteert het eerst teken van een woord in een hoofdletter Converteert een karakter in een geheel getal uit de ASCII code Geeft de positie van s1 in s2 terug
Chr(122)
z
CompareText('a','Z')
-1
CompareText('z','Z') Copy('Wisa',2,2)
0 is
DeleteStr('Wisa',3,2)
Wi
Insert('Wa','is',2)
Wisa
Length(‘Wisa’)
4
Lowercase(‘WISA’)
wisa
Namecase(‘wisa administratie’) Ord(‘Z’)
Wisa Administratie 90
pos('is','Wisa')
2
Trim(' Wisa ')
Wisa
Uppercase(‘wisa’)
WISA
CompareText(s1,s2)
Copy(s,i1,i2)
Delete(s,i1,i2)
Insert(s1,s2,i)
Length(s) Lowercase(s) Namecase(s) Ord(c) Pos(s1,s2) Trim(s) Uppercase
Verwijdert alle linker en rechter spaties in een tekenreeks Converteert alle tekens in een tekenreeks naar hoofdletters
85
5.4.6. Overig Naam
Omschrijving
Voorbeeld
Resultaat
CHR(i)
Converteert een geheel getal i naar een karakter uit de ASCII code Geeft van een bepaalde expressie E de waarde Truewaarde terug als de expressie waar is, anders wordt Falsewaarde terug gegeven. Toont een ingavescherm met als titel ‘Titel’, als label ‘label’ en indien gewenst een standaard tekst ‘standaart’. Het resultaat is een tekenreeks. De inputbox wordt opgeroepen telkens het veld afgedrukt wordt.
Chr(122)
z
IIF(‘WISA’=’WISA’,’Correct’,’Niet correct’)
Correct
InputBox('Geef een waarde voor maand','Maand','')
Variabel
ShowMessage(s)
Toont een bericht met als tekst de waarde van s. De boodschap wordt zoveel keer getoond als deze opgeroepen wordt.
ShowMessage('Hallo')
ValidDate(D)
Geeft True terug indien de opgegeven datum D een geldige datum is. Anders wordt False teruggegeven.
ValidDate('01/09/2006')
True
ValidDate('01/13/2006')
False
Geeft True terug als de ingegeven tekenreeks s een geldig decimaal getal is.
ValidFloat('1.2')
True
ValidFloat(‘A’)
False
IIF(E,TrueWaarde,FalseWaarde)
Inputbox(Titel,label,Standaard)
ValidFloat(s)
86
ValidINt(s)
Geeft true terug als de ingegeven tekenreeks s een geldig geheel getal is
ValidInt('1') ValidInt(‘1.3’)
87
True False
5.4.7. Datum en tijd Naam
Omschrijving
Voorbeeld
Resultaat
Date
Geeft de huidige datum terug
Date
12/10/2007
DayOf(D)
Geeft het nummer van de dag van de opgegeven datum Geeft het nummer van de dag van de week terug voor de opgegeven datum D Geeft het aantal dagen in de maand terug voor het jaar Y en de maand M Geeft een datum waarde van het type datumtijd terug voor het ingegeven jaar Y, maand M en dag D Geeft een tijd waarde terug van het type datumtijd voor het opgegeven uur U, minuut M, second S en milissecond MS Geeft aan of het opgegeven jaar een schrikkeljaar is Geeft het nummer van de maand van de opgegeven datum D Geef de huidige datum en tijd terug Geeft de huidige tijd terug
DayOf(strtodate('01/09/2006'))
1
DayOfWeek(Strtodate('01/09/2006'))
6
DaysInMonth(2004,2)
29
EncodeDate(2007,08,29)
29/08/2007
EncodeTime(14,53,15,20)
14:53:15
IsLeapYear(2004)
True
MonthOf(strtodate('01/09/2007'))
9
Now
12/10/2007 13:59:00
Time
13:59:00
Geeft het jaar van opgegeven datum D
YearOf(strtodate('01/09/2007'))
2007
DayOfWeek(D)
DaysInMonth(Y,M)
EncodeDate(Y,M,D)
EncodeTime(U,M,S,MS)
IsLeapYear(Y) MonthOf(D) Now Time YearOf(D)
88
5.4.8. Conversies Naam
Omschrijving
Voorbeeld
Resultaat
DateTimeToStr(Dt)
Converteert een datum – tijd type in een tekenreeks Converteert een datum type naar een tekenreeks Converteert een decimaal getal naar een tekenreeks Converteert een geheel getal naar een tekenreeks Converteert een tekenreeks s naar een datum formaat Converteert een tekenreeks s naar een datum tijd formaat Converteert een tekenreeks s naar een decimaal getal Converteert een tekenreeks s naar een geheel getal Converteert een tekenreeks s naar een geheel getal (te gebruiken indien getal > 2147483647 Converteert een tekenreeks s naar een tijdformaat Converteert een variantwaarde v naar een tekenreeks
DateTimeToStr(Now)
12/10/2007 14:06:50
DateToStr(Now)
12/10/2007
FloatToStr(12.5)
12.5
IntToStr(15)
15
StrToDate('02/09/2007')
02/09/2007
StrToDateTime('02/09/2006 15:59:20')
02/09/2006 15:59:20
StrToFloat('15.5')
15.5
StrToInt(15)
15
StrToInt64(‘2147483648’)
2147483648
StrToTime('15:12:13')
15:12:13
VarToStr(15)
15
DateToStr(D) FloatToStr(d) IntToStr(i) StrToDate(s) StrToDateTime(s) StrToFloat(s) StrToInt(s) StrToInt64(s)
StrToTime(s) VarToStr(v)
Conversie functies geven als resultaat meestal hetzelfde als datgene er wordt opgevraagd door de functie. Alleen is het resultaat van een andere formaat (type). Als je bijvoorbeeld het aantal cijfers wil kennen waaruit een getal bestaat kan je een functie maken die eerst het getal omzet naar een tekenreeks en van die tekenreeks kan je het aantal karakters ophalen. Vb: length(IntToStr(456)) geeft als resultaat 3
89
5.4.9. Formattering Naam
Omschrijving
Voorbeeld
Resultaat
FormatDateTime(s,d)
Formatteert een datum en tijd waarde d in het opgegeven formaat s Formatteert een decimaal getal d in het opgegeven formaat s Formatteert een tekenreeks s2 m.b.v. een invoermasker s1
FormatDateTime('yyyy/mm/dd',Now)
2007/12/28
FormatFloat('0.000',15.5) FormatFloat('#.###',15.5) FormatMaskText('(+00) 000/000.000;0;*', '32478258179')
15.500 15.5 (+32) 478/258.179
FormatFloat(s,d) FormatMaskText(s1,s2)
90
6. Het afdrukvoorbeeld 6.1. Algemeen In dit hoofdstuk worden de functionaliteiten besproken van het afdrukvoorbeeld. Het afdrukvoorbeeld kan opgeroepen worden door in het ontwerpscherm van icoontje te klikken of door een de formuliergenerator op het afdrukvoorbeeld op te vragen vanuit het Wisa pakket. Een standaard afdrukvoorbeeld ziet er zo uit:
De volgende icoontjes zijn terug te vinden in het afdrukvoorbeeld: Icoon
Omschrijving Afdrukken
Omschrijving Drukt het formulier af
Open formulier
Opent een bewaard afdrukvoorbeeld. (*.fp3)
91
Bewaar afdrukvoorbeeld
Bewaart een afdrukvoorbeeld (*.fp3)
Exporteer afdrukvoorbeeld
Exporteert het afdrukvoorbeeld naar een geselecteerd formaat.
Exporteer naar PDF
Exporteert het formulier naar *.pdf
Verzenden via e-mail
Exporteert het formulier naar het gekozen formaat en verstuurt het dan als bijlage via mail. Zoekt de opgegeven tekst in het afdrukvoorbeeld
Tekst zoeken Zoom in Schaal Uitzoomen Volledig scherm
Vergroot het afdrukvoorbeeld op het scherm Geeft de weergave grootte weer in % Verkleint het afdrukvoorbeeld op het scherm Toont het afdrukvoorbeeld over het volledige scherm. OM terug te keren naar het oorspronkelijke formaat kan je dubbelklikken in het afdrukvoorbeeld.
Rapport groepering boomstructuur
Hiermee toon je de groepering boomstructuur. De OutlineText eigenschap is terug te vinden op groephoofdings – en databanden. Deze eigenschap moet verwijzen naar een variabele. Zie punt 10.3 voor een voorbeeld
Miniatuurweergaven
Geeft een extra balk met miniatuurweergaven van alle pagina’ s van het afdrukvoorbeeld.
Pagina instellingen
Roept het scherm met de pagina eigenschappen op.
Eerste pagina
Ga naar de eerste pagina van het afdrukvoorbeeld.
Vorige pagina
Ga naar de vorige pagina van het afdrukvoorbeeld.
Pagina nummer
Weergave van de huidige pagina. Je kan hier ook een pagina nummer ingeven om er rechtstreeks naartoe te gaan. Ga naar de volgende pagina van het afdrukvoorbeeld.
Volgende pagina Laatste pagina
Ga naar de laatste pagina van het afdrukvoorbeeld.
Scherm sluiten
Sluit het afdrukvoorbeeld.
92
6.2. Afdrukken In dit punt bekijken we de opties die er zijn in het afdrukopties scherm. Je krijgt dit scherm als je in het afdrukvoorbeeld op het afdrukvoorbeeld.
icoontje klikt in het
In de kader “Afdrukken” kan je de printer selecteren waarop je het document wil afdrukken, de eigenschappen van die printer oproepen. In de “Pagina’s” groep kan je kiezen of je alles wil afdrukken, enkel de geselecteerde pagina in het afdrukvoorbeeld of een aantal opgegeven pagina’s. In het kadertje “Kopieën” kan je kiezen hoeveel keer het document afgedrukt moet worden en of de afdruk verzamelt moet worden. Indien verzamelen aangevinkt is en je kiest voor meerdere kopieën, zal eerst het volledige document afgedrukt worden en dan pas zal de volgende kopie afgedrukt worden. Indien het vinkje verzamelen niet aangevinkt is, zal eerst pagina 1 x aantal keer afgedrukt worden, dan pagina 2 enz… In de “Other” groep kan je volgende zaken instellen: Afdrukken: Hier kan je kiezen of alle pagina’s, enkel de even of enkel de oneven afgedrukt moeten worden. Order: De sorteervolgorde waarin het document afgedrukt moet worden. Duplex: Zie punt 2.2.1.9.2
93
Met de “Print mode” optie kan je kiezen om bepaalde papierformaten te herschalen naar een opgegeven formaat. Hieronder een opsomming van de verschillende opties:
-
Default: met deze optie wordt het document afgedrukt zoals weergegeven in het afdrukvoorbeeld. 1 Pagina in het afdrukvoorbeeld wordt gedrukt op 1 pagina.
-
Split big pages: Deze optie kan gebruikt worden als bijvoorbeeld een A3 formaat afgedrukt moet worden op een A4 papier. Eén pagina in het afdrukvoorbeeld wordt afgedrukt over verschillen pagina’s. Als je deze optie kiest, moet je ook het formaat selecteren waarop de eigenlijke afdruk moet gebeuren.
-
Join small pages: Deze optie kan gebruikt worden als je verschillende pagina’s in het afdrukvoorbeeld wil afdrukken op 1 pagina. Bijvoorbeeld als je 2 A4 pagina’s wil afdrukken op 1 A3 papier. Als je deze optie kiest zal je ook nog het formaat moeten selecteren waarop de eigenlijke afdruk moet gebeuren.
-
-Scale: Met deze optie wordt 1 pagina afgedrukt op 1 pagina maar de afdruk wordt herschaald. Indien je deze opties selecteert, moet je ook het formaat selecteren waarop de eigenlijke afdruk moet gebeuren.
94
6.3. Exporteren Het afdrukvoorbeeld kan geëxporteerd worden naar verschillende formaten. Hieronder volgen de verschillende formaten en hun specifieke export eigenschappen. De keuze tabel met export formaten krijg je als je in het afdrukvoorbeeld op het
icoontje klikt.
6.3.1. Algemene export eigenschappen Als je een type export gekozen hebt, zal je steeds een scherm krijgen dat aanvullende export opties komt vragen. Onderstaande opties zijn algemeen en komen terug in elk type export.
Met deze instellingen kan je opgeven wat er moet geëxporteerd worden.
95
6.3.2. PDF Bij het exporteren naar PDF krijg je volgende bijkomende opties:
-
Gecomprimeeerd: Met deze eigenschap kan je de grootte van het export bestand verkleinen maar dit vertraagt wel de exportsnelheid.
-
Ingesloten lettertype: Alle lettertypes die gebruikt worden in de afdruk zullen opgenomen worden in de export. Zo kunnen computers die het lettertype van het afdrukvoorbeeld niet hebben, toch het afdrukvoorbeeld openen met de originele lettertypes. Dit vergroot de grootte van het exportbestand aanzienlijk.
-
Openen na export: Indien een programma geïnstalleerd is dat PDF bestanden kan openen zal het exportbestand meteen geopend worden na het aanmaken van de export.
-
Print optimized: Deze optie zal afbeelding met hoge resolutie exporteren. Deze optie moet enkel opgezet worden als er afbeelding in het formulier gebruikt zijn en deze afgedrukt moeten worden. Deze optie zal de grootte van de export aanzienlijk vergroten
96
7. Procedures 7.1. Een nieuw formulier maken
97
8. Gebruik van programmeer code
98
9. Bijlagen 9.1. Ontwerp formulier 1
99
9.2. Afdrukvoorbeeld formulier 1
100
9.3. Afdrukvoorbeeld formulier 2
101