Tvorba sestav - DataReport |
![]() |
Tak, a nyní je nejvyšší čas si ukázat, jak vytvářet trochu náročnější reporty pomocí sekce Group Header a vnořených RecordSetů. Otevřete si tedy DataEnvironment, založte nový RecordSet a nastavte jej následovně: Nezapomeňte jako vždy nastavit správně LockType a CursorType. Tento RecordSet vybere jedinečné výskyty telefonních předvoleb v tabulce PSC. Nyní si připravíme vnořený RecordSet, který bude pomocí telefonní předvolby svázán s nadřízeným RecordSetem). Označte náš nově vytvořený RecordSet (sRep2) a použijte tlačítko Add Child Command. Založí se nový RecordSet, ale ne již přímo pod spojení CNN, ale bude podřízen RecordSetu sRep2. Základní vlastnosti nastavte následovně: Nyní je nutné nastavit ještě relaci mezi vnořeným a rodičovským RecordSetem. Přepněte se na záložku Relation a v definici relace zvolte jak Parent Fields tak Child Fields pole TELPRED. Pak klikněte na tlačítko Add: Takto by měl vypadat výsledek. A teď k reportu. Abychom si ušetřili práci, tak nejprve náš již hotový report uložíme pod jiným jménem a pak ho upravíme. Takže klikněte v Project Exploreru pravým tlačítkem na rptRep1 a uložte jej jako rptRep2. Nyní jej otevřete a přejmenujte na rptRep2. Do projektu přidejte zpět rptRep1. Nyní si upravíme rptRep2. Klikněte do jeho tiskové plochy pravým tlačítkem a použijte volbu Insert Group Header/Footer. Založí se nová sekce. Nyní klikněte na titulek celého reportu, aby se zobrazili vlastnosti celé sestavy. Jako DataMember nastavte sRep2. Do sekce Group Header přidejte RptLabel s popiskem "Telefonní předvolba" a jeden RptTextBox, jehož DataMember nastavte na sRep2 a DataField na TELPRED. Pod něj přetáhněte prvky, které jsou dosud v sekci Page Header - popisky i čáru: Nesmíme zapomenout ještě také opravit prvky, které jsou v Sekci Detail. Stačí vždy jen vybrat prvek a změnit mu DataMember na sRep2c - pozor, ne sRep2, ale na vnořený RecordSet. No a konečně ještě trochu upravíme ty počty záznamů - všechny prvky, které máte v sekci Report Footer přesuňte do sekce Group Footer a samozřejmě že je třeba změnit DataMember u RptFunction na sRep2c. Nyní si na
formulář přidejte další tlačítko a na jeho událost Click zapište: Nemyslete
si, že u takto sestaveného reportu si nemůžeme hrát se zdrojovým
RecordSetem. Pokud si necháte vypsat Source pro sRep2 tak zjistíte, že
vypadá následovně: Private Sub
Command2_Click() |
![]() |
Autor: The Bozena |