4.13.Sestava s mezisoučty

Microsoft Access umožňuje vytvářet sestavy doplněné řadou výpočetních operací, členit záznamy v sestavách do skupin a provádět výpočetní operace také v rámci jednotlivých skupin. Protože se jedná o velmi často používané činnosti, ukážeme si tvorbu takové sestavy pomocí programu ReportWizard na následujícím příkladu. Pro sestavu využijeme dotaz, který vrací informace o osobách v adresáři doplněné datem jejich svátku a jejich věkem. Postup se poněkud odlišuje od tvorby adresních štítků. Jako typ sestavy zvolíme Groups/Totals. Tím otevřeme okno pro volbu položek, které budou v sestavě použity, viz obr. 59a.

Obr. 59a. Volba položek pro zobrazení v sestavě

Dalším krokem je určení položky, podle které budou záznamy sestavovány do skupin. Můžeme zadat tvorbu skupin až podle tří položek, viz obr. 59b.

Obr. 59b. Volba položky pro tvorbu skupin

Následně určíme požadovaný rozsah pro tvorbu skupin. Protože jsme v ukázkovém příkladu zvolili tvorbu skupin podle hodnoty položky Věk, zadáme tvorbu skupin po desítkách let, viz obr. 59c. Pokud bychom chtěli tvořit skupiny podle jednotlivých hodnot, zvolíme hodnotu Normal.

Obr. 59c. Volba rozsahu hodnot pro tvorbu skupin

V dalším okně určíme položky, podle kterých se má provádět setřídění záznamů v rámci jedné skupiny. Zvolili jsme nejprve Příjmení a pak Jméno. Pořadí jejich volby určuje také pořadí jejich použití, viz obr. 59d.

Obr. 59d. Volba položky pro setřídění záznamů uvnitř skupin

Následuje volba grafické úpravy formuláře. Můžeme si vybrat ze tří nabídek. Ukázka výsledného tvaru zápisu je na levé straně okna, viz obr. 59e.

Executive - jednoduchá úprava, záhlaví je odděleno dvojitou čarou.
Presentation - složitější úprava, záhlaví je odděleno tučnou čarou.
Ledger - položky jsou orámovány a vzhledem tvoří tabulku.

Obr. 59e. Volba grafické úpravy sestavy

Posledním krokem je určení názvu sestavy. Odtud se přesuneme buď na ukázku hotové výstupní sestavy (Print Preview), viz obr. 59h, nebo do okna pro úpravu sestavy (Design), viz obr. 59f.

Obr. 59f. Úprava vzhledu sestavy

V okně úpravy sestavy vidíme, že sestava má více částí.

Report Header-záhlaví sestavy. Je tisknuto na začátku celé sestavy. V ukázce obsahuje název sestavy a datum provedení tisku (funkce Now).
Page Header-záhlaví stránky. Je tisknuto na začátku každé stránky. V ukázce obsahuje popisy vystupujících položek záznamu.
Věk Header-záhlaví skupiny tvořené podle obsahu položky Věk. Je tisknuto na začátku každé skupiny. V ukázce obsahuje informaci o rozsahu skupiny, např. 10 až 19 let.
Detail-oblast informací o jednom záznamu. Obsahuje konkrétní informace o jednom záznamu. Je možno používat jakékoliv objekty, které známe z tvorby formuláře, výpočty apod. Na obr. 0 si všimněme položky Narozen, která je nastavena jako neviditelná (parametr Visible = No), na výsledné sestavě nebude zobrazena. Slouží jen pro možnost nastavení filtru záznamů.
Věk Footer-úpatí skupiny tvořené podle obsahu položky Věk. Je tisknuto na konci každé skupiny. V ukázce obsahuje informaci o počtu záznamů skupiny : =Count(Den).
Page Footer-úpatí stránky. Je tisknuto na konci každé stránky. V ukázce obsahuje číslo stránky, tištěné skloněným písmem : ="strana "& Page .
Report Footer-úpatí sestavy. Je tisknuto na konci celé sestavy. To znamená, že v reálném případě bude předcházet vytištění úpatí poslední stránky. V ukázce obsahuje počet všech záznamů v sestavě.

Blíže si ještě všimněme nastavení parametrů pro tvorbu skupin a setřídění záznamů v rámci skupiny, viz obr. 59g. Nastavení obsahuje čtyři řádky. První řádek slouží pro nastavení parametru pro tvorbu skupin (je označen na levé straně symbolem skupin), u něj je nastaveno zobrazení záhlaví i úpatí skupin a rozsah skupin v intervalu po 10. Na druhém řádku je tatáž položka použita pro setřídění v rámci skupiny, u ní je nastaveno nezobrazovat záhlaví ani úpatí skupiny, její rozsah je po jedné. Ostatní řádky určují parametry pro setřídění záznamů, u nichž mají nadřízené položky třídění shodné obsahy.

Obr. 59g. Parametry pro tvorbu skupin a třídění záznamů

Parametr pro rozsah skupin je závislý na typu položky, podle které se skupiny vytvářejí.

U textových dat může mít parametr Group On hodnotu :
Each Value -skupiny budou tvořit záznamy s použitou položkou stejné hodnoty.
Prefix Characters -skupiny budou tvořit záznamy, jejichž použitá položka začíná stejným písmenem.

U číselných dat, počítadel apod. může mít parametr Group On hodnotu :
Each Value-skupiny budou tvořit záznamy s použitou položkou stejné hodnoty.
Interval-skupiny budou tvořit záznamy, jejichž použitá položka má hodnotu v určeném intervalu krokování, např 5 znamená skupiny 0 - 4, 5 - 9, 10 - 14 atd.

U datumových a časových dat může mít parametr Group On hodnotu :

Each Value-skupiny budou tvořit záznamy s použitou položkou stejné hodnoty.
Year- skupiny budou tvořeny podle stejného roku.
Qtr- skupiny budou tvořeny podle stejného čtvrtletí roku.
Month- skupiny budou tvořeny podle stejného měsíce roku.
Week-skupiny budou tvořeny podle stejného týdne roku.
Day- skupiny budou tvořeny podle stejného dne roku.
Hour- skupiny budou tvořeny podle stejné hodiny.
Minute-skupiny budou tvořeny podle stejné minuty.

Pokud jsme s úpravami sestavy spokojeni, zobrazíme si tvar sestavy pomocí činnosti menu File-Print Preview. Výsledek vidíme na obr. 59h. Pokud nejsme spokojeni s okraji papíru pro tisk sestavy, musíme je nastavit v globálních parametrech (Options) před tvorbou nové sestavy. Program Wizard vždy tvoří sestavu tak, aby plně využil prostor stránky a následné úpravy jsou tedy dosti pracné.

Obr. 59h. Výsledný vzhled sestavy

4.14.Tvorba makropříkazů

Makropříkazy jsou pomůckou pro rychlejší obsluhu databáze. Umožňují provádět opakovaně ustálené postupy činností a v konečném důsledku řídit veškerou práci s databází. Objekty třídy makro, které chápeme jako posloupnosti jednotlivých makropříkazů, se vytvářejí (New) vnávrhovém okně, viz obr. 61. Ve stejném okně provádíme ijejich úpravy (Design). Popišme si opět nejprve jednotlivé činnosti menu. Tradičně vynecháme nabídky Window a Help.

4.14.1.Menu File

New - vytvoření nového objektu, následně je nabídnut seznam tříd objektů.

Close- uzavření aktuálního objektu.

Save (Ctrl+S) - uložení aktuálního makra.

Save As...- uložení aktuálního makra pod zvoleným jménem.

Print Definition...- tisk popisu aktuálního objektu.

Run Macro...- spuštění některého z hotových maker (objekt třídy makro).

Add-ins- připojení doplňkových programových možností.

Exit- opuštění programu Microsoft Access.

4.14.2.Menu Edit

Undo (Ctrl+Z)-zrušení poslední operace.

Cut (Ctrl+X) - přesun označené oblasti do pomocné paměti (Clipboard).

Copy (Ctrl+C)- kopie označené oblasti do pomocné paměti.

Paste (Ctrl+V)- kopie obsahu pomocné paměti ke kurzoru.

Delete (Del) - zrušení označené oblasti.

Select All-označí všechny příkazy (řádky) makra.

Insert Row-před aktuální příkaz vloží prázdný řádek pro nový příkaz.

Delete Row-zruší označený příkaz nebo příkazy.

4.14.3.Menu View

Macro Names- zapíná/vypíná zobrazení sloupce s názvy dílčích maker uvnitř celého makra.

Conditions-zapíná/vypíná zobrazení sloupce s podmínkami, při jejichž splnění se mají činnosti provádět.

Toolbars...- ;určení, které lišty nástrojů (Toolbars) mají být zobrazeny.

Options... - zobrazí nastavení parametrů programu Access.

4.14.4.Menu Macro

Run

-provede se aktuální makro.

Single Step -zapíná/vypíná provádění makra po jednotlivých příkazech(krokování), viz obr. 63.

4.15.Použití makropříkazů

Vytvořená makra můžeme použít několika způsoby. Můžeme je spouštět ručně pro provedení požadované posloupnosti činností, ale především je můžeme zařadit jako obsluhu nejrůznějších událostí, jako je změna hodnoty položky v objektu, zmáčknutí myši na objektu apod. Způsob připojení makra reagujícího na konkrétní událost je zřejmý z rozboru vlastností u objektů, zejména formuláře.

Pro řízení úlohy se často vytváří formuláře, které se neodkazují na žádný objekt třídy tabulka ani dotaz. Pro takové formuláře je možno nastavit zvláštní chování pomocí globálních vlastností formuláře Pop Up a Modal, jak byly popsány. Ukázka obslužného formuláře je na obr. 60. Vidíme, že kromě informačního popisu obsahuje čtyři příkazová tlačítka a jeden přepínač (Check box) s názvem Filtr. Proobsluhu jednotlivých tlačítek vytvoříme vhodná makra. Můžeme vytvořit jednotlivá makra, která připojíme do vlastností On Click příslušných tlačítek nebo jedno makro, které bude obsahovat všechna tato makra. Protože makra budou krátká, bude výhodnější je sdružit dohromady. Na takové makro se pak odvoláváme :

[Jméno hlavního makra].[Jméno makra uvnitř hlavního makra]

Obr. 60. Formulář pro řízení databáze

Okno pro tvorbu makra se skládá ze dvou částí. V horní části jsou řádky, do kterých zapisujeme jednotlivé příkazy v pořadí jejich provádění, shora - dolů. V dolní části jsou pak parametry pro aktuální příkaz, viz obr. 61.

Každý řádek je rozdělen několika sloupci, které mají následující významy :

Macro Name - jméno makra. Tento sloupec není potřebný u maker, která nejsou souhrnem více maker.
Condition - podmínka, která musí být splněna, aby byl příkaz vykonán. Pokud platí tatáž podmínka pro více příkazů, uvádí se u prvního příkazu plné znění podmínky, u následujících tři tečky. Pokud se chceme odvolávat na objekty (položky) aktuálních záznamů v otevřených formulářích či sestavách, použijeme následující konvence : Forms![jméno formuláře]![jméno objektu] nebo Reports![jméno sestavy]![jméno objektu].
Action - příkaz. Volí se z nabídky použitelných příkazů. Příkazům náleží různé parametry uváděné v dolní části návrhového okna.
Comment - komentář. Popis smyslu příkazu. Slouží tvůrci makra pro lepší orientaci.

V ukázkovém příkladu je vytvořeno jedno společné makro pro obsluhu formuláře MOsoby, které obsahuje řadu dílčích maker ("podmaker") :

Kalendář -otevře formulář FKalendář.
Kdy má kdo svátek - otevře sestavu s informacemi, kdy má která osoba svátek.
Blízká výročí - otevře sestavu s informacemi, kdo slaví nějaké výročí v blízké době. K tomu se využívá uživatelská funkce Blizka_vyroci, která podle informace o datu narození a jménu osoby vrátí text s uvedením co slaví tato osoba v nejbližším časovém okolí (dva dny před a deset dnů po aktuálním datu) : Blizka_vyroci([Narozen];[Jméno])<>"Nic" Je výhodné, aby sestava byla otevřena přes celou obrazovku. Přitom je nutné, aby po jejím uzavření byla okna opět převedena do obvyklé velikosti. Proto jsou obě činnosti připojeny přímo k sestavě, jako obsluha událostí On Open aOn Close, což je výhodnější.

Obr. 61. Tvorba makropříkazu

Speciální použití má makro s názvem AutoExec. Toto makro se automaticky provede po otevření databáze. V našem případě obsahuje řadu činností pro nastavení parametrů programu a hlavní činnost, tedyotevření formuláře FOsoby pro řízení práce sdatabází. Protože nepotřebujeme provádět podmíněné příkazy a makro se dále nedělí, jsou nepotřebné sloupce v definici příkazů vynechány, viz obr. 62.

Dalším významným makrem je AutoKeys, které definuje uživatelské horké klávesy. Jeho jméno je však součástí parametrů programu (v nabídce Options), pro správnou činnost úlohy je nutno jeho jméno zadat programově, jinak by mohlo být hledáno makro nesprávného jména.

Obr. 62. Makro spouštěné automaticky po otevření databáze

Na závěr se ještě zmíníme o možnosti krokování makra při jeho ladění. Zajistíme ho činností menu Macro-Single Step. Při zapnutí krokování se před každým provedením příkazu otevře okno, které vypíše informace o příkazu, jeho parametry a nabídne následující možnosti, viz obr. 63 :

Step-jeden krok, provedení zobrazeného příkazu.
Halt-zastavení činnosti makra.
Continue-pokračování činnosti bez krokování, bez přerušování.

Stejné okno se otevře také při výskytu chyby za běhu makra. V tom případě je použitelná pouze činnost Halt. Okno slouží pouze pro informaci, ve kterém příkazu došlo k chybě.

Obr. 63. Okno pro krokování makra

4.15.1. Příkazy pro makra

V makrech můžeme použít řadu různých příkazů. Program přitom nabízí jejich abecední seznam. Tato forma jejich seřazení nedbá na logické souvislosti příkazů, proto se pokusíme seřadit příkazy dologicky souvisejících skupin. U každého příkazu také krátce popíšeme jeho parametry. Řada makropříkazů přitom dovoluje, aby některé parametry nebyly udány. Např. makropříkaz Close nemusí mít uveden název uzavíraného objektu. V tom případě bude operace provedena s aktuálním objektem.

4.15.1.1.Manipulace s objekty

OpenTable

- připojení tabulky.

Table Name

- jméno tabulky.

View

- forma zobrazení tabulky (Datasheet, Design, Print Preview).

Data Mode

- způsob přístupu k datům (Add - přidávání nových záznamů, Edit - editace a přidávání záznamů, Read Only - jen prohlížení údajů).

OpenQuery

- připojení dotazu typu Select, u výkonných dotazů jejich provedení.

Query Name

- jméno dotazu.

View

- forma zobrazení dotazu (Datasheet, Design, Print Preview).

Data Mode

- způsob přístupu k datům (Add - přidávání nových záznamů, Edit - editace a přidávání záznamů, Read Only - jen prohlížení údajů).

OpenForm

- připojení formuláře.

Form Name

- jméno formuláře.

View

- forma zobrazení formuláře (Form, Design, Print Preview, Datasheet).

Filter Name

- jméno dotazu pro filtr záznamů.

Where Condition

- podmínka pro výběr záznamů.

Data Mode

- způsob přístupu k datům (Add - přidávání nových záznamů, Edit - - editace a přidávání záznamů, Read Only - jen prohlížení údajů).

Window Mode

- způsob zobrazení v okně (Normal, Hidden, Icon, Dialog).

OpenReport

- připojení sestavy.

Report Name

- jméno sestavy.

View

- forma zobrazení sestavy (Print, Design, Print Preview).

Filter Name

- jméno dotazu pro filtr záznamů.

Where Condition

- podmínka pro výběr záznamů.

OpenModule

- otevření programu v okně pro jeho úpravy.

Module Name

- jméno modulu.

Procedure Name

- jméno programové rutiny.

Print

- tisk aktuálního objektu na tiskárnu podle aktuálního nastavení.

Print Range

- rozsah tisku (All - vše, Selection - označenou část, Pages - následující rozsah stran).

Page From

- první strana nastaveného rozsahu.

Page To

- poslední strana nastaveného rozsahu.

Print Quality

- kvalita tisku (High, Medium, Low, Draft).

Copies

- počet kopií.

Collate Copies

- (Yes, No). Při nastavení No může být tisk poněkud rychlejší.

Close

- odpojení objektu.

Object Type

- třída objektu.

Object Name

- jméno objektu.

SelectObject

- přesun do objektu. Objekt bude aktuální.

Object Type

- třída objektu.

Object Name

- jméno objektu.

In Database Window

- (Yes - otevřít okno pro objekt, No - objekt již byl připojen do okna).

CopyObject

- kopie aktuálního objektu do jiné databáze.

Destignation Database

- jméno cílové databáze.

New Name

- nové jméno objektu.

Source Object Type

- zdrojový typ objektu.

Source Object Name

- název zdrojového objektu.

DeleteObject

- zrušení aktuálního objektu.

Object Type

- třída objektu.

Object Name

- jméno objektu.

Rename

- přejmenování aktuálního objektu.

New Name

- nové jméno objektu.

Object Type

- třída objektu.

Object Name

- jméno objektu.

RepaintObject

- překreslení objektu, přepočtení hodnot položek apod.

Object Type

- třída objektu.

Object Name

- jméno objektu.

Requery

- přepočtení obsahu položky v aktuálním objektu. Pokud změníme obsah položky v programu, pak neproběhne automatická aktualizace položek, které se odkazují na její hodnotu.

Control Name

- jméno položky v objektu (nic = všechny položky).



4.15.1.2.Práce s daty ve formulářích a sestavách

ApplyFilter

- aplikuje určený filtr záznamů ve formuláři.

Filter Name

- jméno filtru, který byl uložen jako dotaz (Save As Query).

Where Condition

- podmínka, která má být pro výběr záznamů splněna.

ShowAllRecords

- zobrazí všechny záznamy. Ruší předchozí filtr záznamů.

FindRecord

- vyhledání záznamu, který vyhovuje zadané podmínce.

Find What

- hledaná hodnota.

Where

- omezení vyhledávání (Start of Field - jen na začátku položky, Match Whole Field - v celé položce, Any Part of Field - kromě začátku položky).

Match Case

- vliv rozdílné velikosti písmen (Yes - je, No - není).

Direction

- směr hledání (Up - od aktuálního k předchozím záznamům, Down -
- od aktuálního k dalším záznamům).

Search Formatted

- prohledávat záznamy jako formátované (Yes - ano, No - ne).

Search In

- prohledávání v (Current Field - aktuální položce, All Fields - ve všech položkách).

Find First

- hledat první vyhovující záznam (Yes - ano, No - ne).

FindNext

- vyhledání dalšího záznamu stejných parametrů jako u předtím použitého příkazu FindRecord [ - ].

GoToPage

- přechod na určenou stranu objektu.

Page Number

- číslo cílové stránky

Right

- horizontální posun pohledu na stránku v cm od levého okraje.

Down

- vertikální posun pohledu na stránku v cm od horního okraje.

GoToRecord

- přechod na určený záznam v objektu.

Object Type

- třída objektu.

Object Name

- jméno objektu dané třídy.

Record

- požadovaný záznam (Prewious - předchozí, First - první, Last -
- poslední, GoTo - určeného pořadí, New - nově vkládaný).

Offset

- číslo objektu, pokud v parametru Record je uvedeno GoTo.

GoToControl

- přechod na určenou položku v rámci záznamu.

Control Name

- jméno požadované položky, objektu formuláře apod.

SetValue

- určení hodnoty položce. Odkaz na položku je vhodné uvádět celou adresou, tedy např. Forms![jméno formuláře]![jméno položky]

Item

- jméno položky.

Expression

- nová hodnota.

ShowToolbar

- zobrazení (vypnutí zobrazení) určené lišty nástrojů.

Toolbar Name

- jméno lišty (odpovídá prováděné manipulaci s objekty).

Show

- způsob zobrazení (Yes - bude vidět stále, No - nebude vidět vůbec, When Appropriate - bude vidět, pokud provádíme příslušnou činnost).



4.15.1.3.Import a export dat

TransferDatabase

- export/import objektu z databáze jiného typu nebo jiné databáze. Pokud existuje objekt stejného jména, dostane nový objekt navíc číslo 1, 2 ...)

Transfer Type

- druh činnosti (Import, Export, Attach - připojení dynamickou vazbou).

Database Type

- formát dat, např. DBase III.

Database Name

- jméno databáze.

Object Type

- třída objektu.

Source

- zdroj.

Destination

- cíl.

Structure Only

- zpracovat pouze strukturu, např. jen záhlaví tabulky (Yes, No).

TransferSpreadsheet

- export/import dat ve formě tabulkového procesoru.

Transfer Type

- druh činnosti (Import, Export).

Spreadsheet Type

- formát dat, např. Lotus.

Table Name

- jméno tabulky databáze.

File Name

- jméno souboru kalkulátoru.

Has Field Names

- obsahuje názvy položek - záhlaví tabulky (Yes, No).

Range

- rozsah.

TransferText

- export/import dat ve formě textového souboru.

Transfer Type

- druh činnosti (Import, Export; Delimited - položky oddělované oddělovači, Fixed Width - s pevnou délkou položek).

Specification Name

- jméno specifikace pro Fixed Width.

Table Name

- jméno tabulky databáze.

File Name

- jméno textového souboru.

Has Field Names

- obsahuje názvy položek - záhlaví tabulky (Yes, No).

OutputTo

- výstup dat z databáze a jejího určeného objektu v požadovaném formátu.

Object Type

- třída objektu.

Object Name

- jméno objektu.

Output Format

- požadovaný formát (*.XLS - Excel, *.RTF - Rich Text Format, *.TXT- text).

Output File

- název výstupního souboru, případně včetně cesty.

Auto Start

- okamžitý start výstupu při otevření uvedeného objektu (Yes, No).

SendObject

- vyslání dat z databáze a jejího určeného objektu v požadovaném formátu pomocí elektronické pošty ve standardu MAPI (např. Microsoft Mail).

Object Type

- třída objektu.

Object Name

- jméno objektu.

Output Format

- požadovaný formát (*.XLS - Excel, *.RTF - Rich Text Format, *.TXT- text).

To

- adresa příjemce.

CC

- hlášení CC - Carbon Copy.

Bcc

- hlášení Bcc - Blind Carbon Copy.

Subject

- nadpis zprávy.

Message Text

- text uvedený za objektem (není-li objekt uveden, lze takto vyslat samotnou zprávu).

Edit Message

- editace zprávy před vysláním (Yes, No).



4.15.1.4.Výkonné příkazy

RunMacro

- spuštění makra.

Macro Name

- jméno makra.

Repeat Count

- maximální počet opakování makra (nic = jednou).

Repeat Expression

- podmínka, její hodnota False určuje zastavení opakování makra.

RunCode

- provedení funkce vytvořené v programu (Module). Nelze přitom spustit proceduru!

Function Name

- jméno funkce.

RunSQL

- provedení příkazu SQL.

SQL Statement

- definice příkazu SQL.

RunApp

- spuštění jiné aplikace pro MS-Windows nebo MS-DOS, jako je Microsoft Excell nebo Paintbrush.

Command Line

- příkaz pro spuštění aplikace.

CancelEvent

- zrušení činnosti volajícího objektu. Např. při kontrole hodnoty položky uBefore Update je zjištěna špatná hodnota, příkaz zajistí, že nebude uložena.

StopMacro

- zastavení činnosti makra. Obvykle v případě splnění nějaké podmínky.

StopAllMacros

- zastavení činnosti všech spuštěných maker.

Quit

- opuštění programu Microsoft Access.

Options

- parametr opuštění (Prompt - s dotazem, zda má uložit změněné objekty, Save All - s automatickým uložením všech změněných objektů,
Exit - bez uložení).

DoMenuItem

- provede činnost menu programu Access. Často je výhodnější použít činnost menu než makropříkaz. Např. pro uzavření formuláře s podformulářem je nutno použít buď příkazu menu nebo makropříkazu s udaným názvem formuláře. Není možno použít makropříkaz Close bez udání objektu.

Menu Bar

- určení třídy objektu, z jejíhož menu bude činnost, (např. Form).

Menu Name

- určení skupiny příkazů menu (např. Edit).

Command

- činnost menu (např. Select Record).

Subcommand

- činnost z dalšího menu, pokud se otevírá činností uvedenou vCommand.



4.15.1.5.Manipulace s oknem

Maximize

- zvětší aktuální okno přes celou obrazovku.

Minimize

- zmenší aktuální okno, do podoby ikony.

MoveSize

- upraví rozměry aktuálního okna.

Right

- poloha levého okraje na obrazovce v cm.

Down

- poloha horního okraje na obrazovce v cm.

Width

- šířka okna v cm.

Height

- výška okna v cm.

Restore

- vrátí aktuální okno do původních rozměrů (před Maximize nebo Minimize).



4.15.1.6.Komunikace s uživatelem během činnosti makra

MsgBox

- hlášení uživateli s čekáním na potrzení.

Message

- text hlášení.

Beep

- zvukový signál při výpisu (Yes - ano, No - ne).

Type

- typ ikony v okně hlášení (None, Critical, Warning?, Warning!, Information).

Title

- nadpis okna hlášení.

Beep

- zvukový signál - pípnutí.

Echo

- zmrazení obsahu obrazovky po dobu běhu makra a vypsání informačního řádku.

Echo On

- výstup na obrazovku povolen (Yes - ano, No - ne).

Status Bar Text

- text zobrazený v dolním informačním řádku.

Hourglass

- zobrazení kurzoru jako přesýpací hodiny. Je vhodné při delším čekání naprovedení rutiny, dotazu apod.

Hourglass On

- (Yes - bude, No - nebude).

SetWarnings

- určení, zda se budou zobrazovat hlášení o kritických stavech a chybách vsystému.

Warnings On

- (Yes - ano, No - ne).

AddMenu

- vytvoří část uživatelského menu ve formě jedné skupiny činností. Používá se vmakru, kterým vytvoříme uživatelské menu pomocí několika těchto příkazů a připojíme ho do formuláře do vlastnosti Menu Bar. Pokud chceme odpojit systémové menu, postačí do uvedené vlastnosti připojit prázdné makro.

Menu Name

- jméno skupiny činností (bude na vodorovné liště menu).

Menu Macro Name

- jméno makra pro obsluhu skupiny činností menu. Toto makro musí být tvořeno podmakry. Jejich názvy budou použity jako názvy činností vuživatelském menu. Do stavového řádku bude zapsán obsah položky Comment z definice podřízené činnosti.

Status Bar Text

- text na dolním řádku při práci se skupinou činností menu.

Standardní vlastností menu Windows jsou horké klávesy pro jeho obsluhu. Vyvolání činnosti zmenu je možné stiskem klávesy Alt a písmene, které je v názvu činnosti podtrženo. Této vlastnosti dosáhneme předznamenáním požadovaného podtrženého znaku pomocí & , např. "K&onec" -> "Konec"

SendKeys

- provedení sekvence kláves. Má podobné použití, jako vyvolání činnosti menu.

Keystrokes

- posloupnost kláves k provedení.

Wait

- určení, zda se má čekat po provedení posloupnosti kláves (Yes - ano, No - ne).

Např. rozvinutí nabídky Combo Boxu je možno provést klávesou F4. Pokud chceme, aby nabídka byla při práci s tímto objektem vždy rozvinuta, připojíme na událost On Enter makro s vyvoláním činnosti klávesy F4.

Poslední uvedená činnost používá předdefinované označení kláves. Můžeme je použít také vuživatelském makru, které bude obsluhovat uživatelem definované horké klávesy. Toto makro připojíme v parametrech programu ke klávesnici (činnost menu View-Options-Keyboard) do globálního parametru Key Assignment Macro. Implicitně se předpokládá název makra AutoKeys. V tomto makru použijeme jako názvy "podmaker" označení kláves, na které mají reagovat, viz obr. 64, např. :

označení

klávesa

označení

klávesa

{BACKSPACE}, {BS}

BACKSPACE

{BREAK}

BREAK

{CAPSLOCK}

CAPS LOCK

{CLEAR}

CLEAR

{DELETE}, {DEL}

DELETE

{DOWN}

DOWN ARROW

{END}

END

{ENTER}, ~

ENTER

{ESCAPE}, {ESC}

ESC

{HELP}

HELP

{HOME}

HOME

{INSERT}

INS

{LEFT}

LEFT ARROW

{NUMLOCK}

NUM LOCK

{PGDN}

PAGE DOWN

{PGUP}

PAGE UP

{PRTSC}

PRINT SCREEN

{RIGHT}

RIGHT ARROW

{SCROLLLOCK

SCROLL LOCK

{TAB}

TAB

{UP}

UP ARROW

{F1}

F1

{F2}

F2

atd.

 

+SHIFT

^CTRL

%ALT

Používají se následovně :

^A-současný stisk kláves "Ctrl" a "A",

^{F1}-současný stisk kláves "Ctrl" a funkční klávesy "F1",

%{INSERT}-současný stisk kláves "Alt" a klávesy "Insert",

+{DELETE}-současný stisk kláves "Shift" a klávesy "Delete".

Při tvorbě horkých kláves je třeba si uvědomit, že budou přístupné stále, bez ohledu na otevřený formulář apod. Proto je třeba mezi ně zařazovat jen takové činnosti, které jsou skutečně obecné pro celou úlohu. Druhou možností je využití programové změny názvu makra pro horké klávesy, pomocí níž připojíme vždy makro obsahující horké klávesy odpovídající stavu úlohy. Pokud mezi horké klávesy zařadíme např. obsluhu klávesy {F1}, která jinak vyvolává nápovědu (Help), bude samozřejmě vyvolána námi určená činnost.

Obr. 64. Makro AutoKeys s definicí uživatelských horkých kláves


Návrat k obsahu