Tvorba sestav - DataReport

DataReport mß takΘ n∞jakΘ udßlosti. Za dobu, co s DataReporty pracuji jsem vyu₧il pouze dv∞, a to DataReport_Initialize a DataReport_QueryClose. Na udßlost Initialize si nynφ ukß₧eme jednu takovou zajφmavost.

Pokud si p°ejete nap°φklad dynamicky m∞nit popisky jednotliv²ch RptLabel∙, je mo₧nΘ to uskuteΦnit prßv∞ na udßlosti DataReport_Initialize. Jen je nutnΘ najφt ten sprßvn² prvek. Jak vφme, prvky se umφs¥ujφ do sekcφ. Tak₧e si otev°ete nßÜ prvnφ DataReport (rptRep1) a pokusφme se zm∞nit nadpis celΘho reportu, kter² je v sekci Report Header - a tady si vÜimn∞te Φφslo, kterΘ je zobrazeno u jeho sekce - 4!

Te∩ si nechte zobrazit k≤d pro udßlost DataReport_Initialize a zapiÜte:

Private Sub DataReport_Initialize()

   Stop

End Sub


Spus¥te projekt a vyvolejte zobrazenφ prvnφho reportu. Aplikace se zastavφ na stopce. Nechte si zobrazit Immediate Window (CTRL+G) a zapiÜte (pozor, ke konci ji₧ VB nenabφzφ vlastnosti a metody pomocφ IntelliSense):

?me.Sections(4).Controls(1).caption

A Visual Basic Vßm vesele ohlßsφ chybu. P°itom by m∞lo b²t logickΘ, ₧e nßpis prvnφho prvku v sekci 4 (co₧ je podle nßvrhß°e Report Header) by m∞l b²t "Seznam mφst a PS╚". A ono to tak nenφ !!! Kdy₧ toti₧ napφÜete:

?me.Sections(1).Controls(1).caption

tak dostanete teprve sprßvn² v²sledek. Ono v∙bec vyhledßvßnφ t∞ch sprßvn²ch prvk∙ v DataReportu je docela nß°ez a zabere to spoustu Φasu. 

Projekt klidn∞ stopn∞te a vra¥te se do nßvrhß°e k udßlosti DataReport_Initialize. P°epiÜte proceduru na:

Private Sub DataReport_Initialize()

   Me.Sections(1).Controls(1).Caption = "Toto je ukßzka p°epsßnφ titulku"

End Sub


Nynφ op∞t projekt spus¥te a nechte si zobrazit prvnφ sestavu - nadpis na prvnφ strßnce by m∞l b²t p°epsßn.

Zp∞t DalÜφ

Autor: The Bozena