Databázový systém Microsoft Access 2016 databázový systém

Rozměr: px
Začít zobrazení ze stránky:

Download "Databázový systém Microsoft Access 2016 databázový systém"

Transkript

1 VŠE v Praze Databázový systém Microsoft Access 2016 databázový systém Tomáš Kubálek 2016

2

3 Obsah 3 Obsah Obsah Databáze Databázový systém Firma Encián Seznámení s aplikací Access Návrhové zobrazení tabulky Relace Typy a význam vztahů Základní relace v databázi Encián Import dat z Excelu do databáze Encián Relace v databázi Encián Další možnosti zobrazení vztahů Databáze školení MIN Databáze Bankovní účet BAN Tabulky Způsoby tvorby a zobrazení tabulky Tvorba tabulky Tvorba tabulky vytvořením součástí aplikace Tvorba tabulky vyplněním prázdné tabulky Tvorba tabulky návrhem tabulky Tvorba tabulky importem z Excelu Tvorba tabulky uložené v SharePointu Návrhové zobrazení Typy polí Obecné vlastnosti polí Vyhledávací vlastnosti polí Vlastnosti tabulky Zobrazení datového listu Další úpravy databáze Encian Dotazy Druhy dotazů Výběrové dotazy z jedné tabulky se základními funkcemi Výběrové dotazy z jedné tabulky s pokročilými funkcemi Výběrové dotazy z více tabulek Výpočty Výpočty v rámci věty Výpočty za skupinu vět Parametrické dotazy Křížové dotazy Akční dotazy... 90

4 Obsah Vytvářecí dotazy Aktualizační dotazy Odstraňovací dotazy Přidávací dotazy Jazyk SQL Formuláře Druhy formulářů Samostatný formulář Další samostatný formulář Nekonečný formulář Formulář se souhrny Podformulář Graf Graf za všechny věty Graf za jednotlivé zaměstnance Graf za jednotlivé podniky Formuláře s nabídkou dalších objektů Formulář s kartou Formulář s navigací Formulář s odkazy na objekty Sestavy Druhy sestav Sestava s výrazy Sestava dle upravené šablony Sestava o více sloupcích Hlavní sestava a podsestavy Sestava bez duplikátů Sestava nad více dotazy Sestava s podíly Štítky Makra Druhy a struktura maker Makro spustitelné samostatně Makro filtrující sestavu Makro ve formuláři Makro s vlastností Viditelné Makro s vlastnostmi Titulek a Barva popředí Makro v sestavě Makro v podrobnostech sestavy Makro v záhlaví skupiny Skupina maker

5 Obsah 5 8 Moduly Druhy modulů Funkce výpisu celého jména Funkce konverze textu do textu bez háčků a čárek Funkce kontroly rodného čísla Funkce kontroly čísla účtu Lokální podprogram výpočtu ve větě Lokální podprogram výpočtu mezi větami Globální podprogram formátování čísla účtu Externí data Možnosti exportu a importu Word Excel PowerPoint Access Visio Další aplikace Project Outlook OneNote Publisher Hypertextové odkazy Webová aplikace pro Access Databázové nástroje Přehled Skupina Nástroje Skupina Makro Skupina Relace Skupina Analyzovat Skupina Přesunout data Vlastní karta Užitečné Vlastní karta Nabídky z maker Správce propojených tabulek Správce přepínacích panelů Šifrování a formáty ukládání databáze Práce s navigačním panelem Možnosti aplikace Access Karta Soubor Příloha A: Dodatek ke kap. 4 Dotazy z databáze Banka Databáze Banka Výběrové dotazy z jedné tabulky se základními funkcemi

6 Obsah Výběrové dotazy z jedné tabulky s pokročilými funkcemi Výběrové dotazy z více tabulek Výpočty Výpočty v rámci věty Výpočty za skupinu vět Parametrické dotazy Křížové dotazy Akční dotazy Vytvářecí dotazy Aktualizační dotazy Odstraňovací dotazy Přidávací dotazy Jazyk SQL Příloha B: Příklady k procvičení Ke kapitole 1 Databáze Ke kapitole 2 Relace Ke kapitole 3 Tabulky Ke kapitole 4 Dotazy Ke kapitole 5 Formuláře Ke kapitole 6 Sestavy Ke kapitole 7 Makra Ke kapitole 8 Moduly Ke kapitole 9 Externí data Ke kapitole 10 Databázové nástroje Příloha C: Seznam operátorů, symbolů a funkcí Operátory zástupné symboly Funkce Textové funkce Funkce data a času Další funkce Rejstřík

7 1 Databáze 7 1 Databáze Databáze Databázový systém Databázové modely Access 2016 Access v Office Pro Plus Objekty Accessu 1.1 Databázový systém Databáze je souhrn dat vztahujících se k určitému tématu nebo účelu. Databázi lze chápat jako množinu dat popisujících určitou část objektivní reality, udržovanou a využívanou prostřednictvím databázového systému. Databázový systém systém řízení báze dat (SŘBD) Database Management System (DBMS) je programové vybavení pro vytvoření a využití databází (bází dat). Často se slovem databáze rozumí jak uložená data, tak i software (SŘBD). Postupně vznikly různé databázové modely odlišné dle způsobu ukládání dat a vazeb mezi nimi: hierarchické databáze: Logické uspořádání dat je omezeno na stromovou strukturu. Vztahy mezi daty v záznamech jsou vyjádřeny prostřednictvím ukazatelů (pointerů). Ukazatele obsahují odkaz na související záznam. síťové databáze: Každý záznam může být spojený s libovolným počtem dalších záznamů. relační databáze: Je založena na tabulkách. Tabulka shromažďuje údaje o jednom druhu objektů (např. o zaměstnancích, odběratelích). Řádky tabulky zastupují záznamy (věty, např. jednotlivé zaměstnance či jednotlivé podniky). Sloupce tabulky se nazývají atributy (položky), vyjadřují vlastnosti záznamu (např. jméno, příjmení zaměstnance). Sloupce mají různé datové typy (např. textový, číselný). Atributy jsou pojmenovány (např. Jméno, Příjmení). Mezi tabulkami existují vztahy (relace), slouží ke svázání dat, která spolu souvisejí. objektové databáze: Základem není tabulka, ale objekt. Každý objekt má atributy (vlastnosti, obdobně jako mají záznamy v relační databázi) a metody, které pracují s hodnotami vlastností. Mezi objekty se využívá dědičnost, zapouzdřenost, polymorfismus. objektově-relační databáze: Data jsou uchovávána v tabulkách, některé položky mohou mít složitější datovou strukturu (uživatelem definované typy), rysy objektového přístupu se promítají do tabulek. Řadu databází je možné vytvořit i využívat na úrovni kancelářského balíku. Jedním z programů pro systém řízení relační databáze (RDBMS) je Microsoft Access, který je nyní dostupný ve verzi 2016 lokalizované do češtiny. Microsoft Access lze zakoupit v rámci kancelářského balíku Microsoft Office. Access je součástí plánů Office 365 Pro Plus, Office 365 Enterprise E3 a E5, Office 365 Nonprofit E3 a E5, Office 365 pro domácnosti, Office 365 pro jednotlivce. Studenti a zaměstnanci VŠE mají Access k dispozici v rámci Office Pro Plus z portálu Office 365. Postup instalace Office Pro Plus z portálu Office 365: Přihlásíme se k portálu Office 365 z adresy Uživatelským jménem je uživatelské jméno z InSIS rozšířené o Heslo je shodné s InSIS. V horním navigačním panelu klikneme z aplikace Pošta do tlačítka Nastavení (ozubené kolečko). V pravém podokně v sekci MOJE NASTAVENÍ APLIKACÍ klikneme do odkazu Office 365. V levém podokně je vybrána záložka Nastavení. V prostřední části stránky klikneme do odkazu Software. Klikneme do tlačítka Nainstalovat. Office Pro Plus takto můžeme nainstalovat až na 5 zařízení. Office Pro Plus je funkční po dobu aktivního studia (bez přerušení) či zaměstnaneckého poměru. Access ukládá data formou tabulek do jediného souboru databáze s příponou accdb. Do stejného souboru se ukládají také další objekty databáze. Access pracuje s několika typy objektů: Tabulka je souhrn dat týkající se určitého objektu. Datové věty (záznamy) jsou uvedeny v řádcích, jednotlivá pole (atributy, položky, vlastnosti) ve sloupcích. Tabulky lze v databázi

8 1 Databáze 8 Šíření aplikací připravených v Accessu vytvořit, můžeme je také importovat nebo připojit z Excelu, z SharePointu, Outlooku, jiné databáze Accessu a dalších zdrojů. Relace specifikují vztahy mezi tabulkami, např. můžeme omezit vkládání identifikačního čísla odběratele do faktury (tj. věty v tabulce faktur) na seznam daný tabulkou odběratelů. Dotaz je otázka, kterou se tážeme na výskyt určitých dat v databázi. Lze se ptát na obsah jedné či více tabulek spojených relacemi, výsledkem často bývá tzv. datová sada. Formulář slouží k pohodlnému vkládání, opravě či prohlížení dat. V návrhu formuláře určujeme, v jaké formě chceme zobrazit data. Formulář může zobrazovat data z jedné či více tabulek. Sestava se využívá při prezentaci dat na obrazovce či na tiskárně. Do sestavy můžeme snadno zařadit souhrny skupin dat, např. dílčí a celkové součty. Makro je seznam akcí, které často provádíme v sekvenci za sebou. Makro umožňuje sekvenci uchovat a snadno opakovaně provádět. Modul obsahuje příkazy jazyka Visual Basic. Pomocí jazyka Visual Basic lze automatizovat složitější operace než v makrech. Spouštění objektů může být v Accessu automatizované např. pomocí formuláře s výchozí nabídkou operací. Řešení v databázovém systému Access můžeme šířit dalším uživatelům, kteří nemusí mít možnost měnit naše návrhy objektů. 1.2 Firma Encián Výklad bude v publikaci proveden na příkladu databáze firmy Encián. Fiktivní firma Encián vyvíjí a distribuuje programy zaměřené na podnikové finance zejména pro malé a střední podniky. Jedná se o 6 programů (Bonita, Finanční analýza, Investice, Kauzální analýza, Podnikatel, SAFI). V roce 2025 vytvořila nové verze programů. V databázi bude firma Encián ukládat informace do tabulek (vztah tabulek je uveden v diagramu relací v obr. 1-1): OBR. 1-1: VZTAHY (RELACE) TABULEK V DATABÁZI FIRMY ENCIÁN

9 1 Databáze 9 Osoby (Osoba) Oddělení (Oddělení) personální data Osoby» Osobní data 20 zaměstnanců včetně fotografií a odkazů na jejich osobní webovou stránku.» Každý zaměstnanec má své uživatelské jméno s ovou adresou. V tabulce budeme jako jednoznačný identifikátor používat zkrácené uživatelské jméno, např. Novak.Petr pro ředitele Petra Nováka s em novak.petr@horec.onmicrosoft.com. Zkrácené uživatelské jméno zapíšeme do pole Osoba.» Většina zaměstnanců má určenu místnost, s výjimkou Ondřeje Světlého, který je externím programátorem.» Každý zaměstnanec, který má určenu místnost, má k dispozici telefon, který je uveden ve větě zaměstnance v poli Telefon. Dříve byl do každé kanceláře zaveden jediný telefon. Ten je dosud uváděn v tabulce Místnosti v poli Původní_telefon.» Každý zaměstnanec je zařazen do jednoho z 6 oddělení a má určeného nadřízeného.» Jen někteří zaměstnanci mají právo fakturovat. Oddělení» Zaměstnanci jsou rozděleni do 6 oddělení (ředitelství, analýza, programování, marketing, distribuce, konzultace).» Jednoznačným identifikátorem oddělení je třípísmenná zkratka názvu oddělení v poli Oddělení.» Pro každé oddělení je jmenován vedoucí.» Organizační diagram firmy (připravený aplikací Microsoft Visio) je uveden v obr OBR. 1-2: ORGANIZAČNÍ DIAGRAM FIRMY ENCIÁN V organizačním diagramu: Jsou barevně odlišena oddělení. Pro každého zaměstnance je uvedeno příjmení, kód oddělení, charakteristika, číslo kanceláře, telefon. V pravém horním rohu je pro zaměstnance s oprávněním fakturovat zobrazeno zaškrtnutí. V pravém horním rohu je pro zaměstnance na částečný úvazek a nulový úvazek uvedena ikona grafu. V pravém dolním rohu je zobrazen pro ženy červený praporek.

10 1 Databáze 10 Podniky (IČ) Stádia (Stádium) data o odběratelích Podniky» Základní data o odběratelích, kterými je 69 malých a středních podniků.» Podniky jsou nazvány krátkými fiktivními názvy vytvořenými z křestních jmen, mají jednoznačné identifikační číslo (IČ).» Podniky jsou rozděleny dle stádia vývoje. Na základě dotazníku zařadila firma Encián svých 69 odběratelů do stádií životního cyklu. Jedná se o 5 základních vývojových stádií podniku (koncepce, existence, růst, rozvoj, vyspělost) a 3 vedlejší statická stádia (životní styl, zastavený růst, zastavený rozvoj).» Každému podniku je přiřazeno až 6 kódů klasifikace ekonomických činností (NACE) pro převažující činnosti.» Pro odběratele sledujeme jeho adresu, telefon, bankovní účet a kód banky. Stádia» V samostatné tabulce je pro každé stádium upřesněn jeho stupeň, charakteristika a dynamika.» Jednoznačným identifikátorem stádia je název stádia v poli Stádium.» Využíváme celkem 8 stádií (viz obr. obr. 1-3, v němž jsou u stádií znázorněny teploměrem počty odběratelů v jednotlivých stádiích). OBR. 1-3: STÁDIA NACE (NACE) NACE» V samostatné tabulce je doplněno pro každý kód NACE 1 jeho slovní vysvětlení. Čtyřciferný kód NACE je systematický (viz obr. 1-4): OBR. 1-4: STRUKTURA KLASIFIKACE NACE První dvě číslice vyjadřuje oddíl, např. 47 Maloobchod, kromě motorových vozidel. První tři číslice vyjadřují skupinu, např. 472 Maloobchod s potravinami, nápoji a tabákovými výrobky ve specializovaných prodejnách. První čtyři číslice vyjadřují třídu, např Maloobchod s ovocem a zeleninou. 1 Zkratka NACE je odvozena z francouzského názvu Nomenclature générale des Activités économiques dans lescommunautés Européennes. Tuto statistickou klasifikaci ekonomických činností používá Evropská unie od roku Klasifikace NACE roku 2008 nahradila odvětvovou klasifikaci ekonomických činností (OKEČ) dříve používanou v ČR.

11 1 Databáze 11 Oddíly_Sekce (Oddíl) Sekce (Sekce) Faktury (Faktura) Licence (Program a Sériové_číslo)» Ve výjimečných případech se pro národní účely používá pět číslic. Pátá úroveň vyjadřuje podtřídy. V databázi firmy Encián pátou úroveň nevyužijeme.» V případech, kdy daná úroveň klasifikace níž už dále není členěna, používá se na nižších úrovních číslice 0, např Výroba tabákových výrobků.» Všude, kde je to možné, se v označení skupin a tříd typu ostatní používá v kódu číslice 9, např Ostatní maloobchod s potravinami ve specializovaných prodejnách.» Tabulka je převzata z oficiálního číselníku České statistického úřadu. Obsahuje 88 oddílů, 272 skupin, 615 tříd a 160 podtříd, tj vět. 2 Oddíly_Sekce» V tabulce jsou převáděny oddíly činností (např. 47) na méně členité sekce označené písmeny (např. oddíl 47 Maloobchod, kromě motorových vozidel je zařazen do sekce G Velkoobchod a maloobchod; opravy a údržba motorových vozidel). 88 oddílů NACE je tak redukováno na 21 sekcí NACE dle převodní tabulky: A B C D E F G H I J K L M N O P Q R S T U » Jednoznačným identifikátorem je pole Oddíl. Sekce» V tabulce je pro každý kód sekcí v poli Sekce doplněno jeho slovní vysvětlení.» Jednoznačným identifikátorem je pole Sekce. data o prodejích firmy Encián v prvním pololetí roku 2025 Faktury» Každé faktuře je přiděleno jednoznačné číslo uvedené v poli Faktura a upřesněno pro ni, kdo (zaměstnanec z tabulky Osoby), kdy a komu (podnik z tabulky Podniky) fakturu vystavil.» Za sledované období bylo vydáno 102 faktur. Licence» Programy jsou prodávány formou licencí. Jednou fakturou můžeme prodávat více licencí programů. Každá licence má v rámci jednotlivých programů jednoznačné sériové číslo. V každé větě je uveden kód programu, sériové číslo a číslo faktury, kterou byla licence prodána.» Na fakturách byl fakturován různých počet licencí: počet licencí na faktuře celkem počet faktur » Vyskytly se případy, kdy na jedné faktuře bylo prodáno více licencí stejného programu: program BON FIN INV KAU POD SAF faktura faktura faktura faktura faktura faktura faktura faktura faktura » Jednoznačným identifikátorem licence je dvojice polí Program a Sériové_číslo.» Za sledované období se prodalo 178 licencí programů. 2 Aktuální číselník NACE je dostupný na webu České statistického úřadu po kliknutí do volby KLASIFIKACE, ČÍSELNÍKY/KLASIFIKACE a kliknutí do odkazu Klasifikace ekonomických činností (CZ-NACE). Klasifikace je dostupná také formou tabulky Excelu.

12 1 Databáze 12 Programy (Program) Cesty (Rok a Cesta) Výjezdy (Osoba, Rok a Cesta) Programy» Pro každý z 6 programů je ke kódu programu v poli Program doplněn název a cena. Pro jednoduchost předpokládáme, že cena je jednotná pro všechny odběratele v celém období, není tedy diferencována dle jednotlivých faktur. data o služebních cestách zaměstnanců firmy Encián Cesty» Každá služební cesta je jednoznačně určena rokem a číslem cesty v rámci roku. Pro cestu je uvedeno datum zahájení, datum dokončení a místo cesty.» Jednoznačným identifikátorem je dvojice polí Rok a Cesta. Výjezdy» V každé větě je uvedena osoba, rok a číslo cesty.» Jednoznačným identifikátorem služební cesty je trojice polí Osoba, Rok a Cesta.» Za první pololetí sledovaného roku 2025 se ve firmě uskutečnilo 30 výjezdů jednotlivých zaměstnanců v rámci 15 služebních cest, tj. jedné cesty se v průměru zúčastnili 2 zaměstnanci (viz obr. 1-5). OBR. 1-5: SLUŽEBNÍ CESTY FIRMY ENCIÁN Místnosti (Místnost) Majetek_typy (Typ_majetku) data o inventáři firmy Místnosti» Firma Encián sídlí v třípodlažním domě (viz obr. 1-6). V prvním a druhém podlaží jsou dvoučlenné kanceláře zaměstnanců, zasedací a školící počítačová místnost, zázemí (kuchyňka, WC, umývárna). Ve třetím podlaží v podkroví sídlí ředitel a sekretářka firmy.» Pro každou místnost ve firmě je uvedeno její číslo, popis, oddělení, které zodpovídá za místnost.» Jednoznačným identifikátorem je pole Místnost.» Místnosti jsou číslovány systematicky, desítková číslice vyjadřuje podlaží, případné písmeno za číslem místnosti vnitřní místnost (např. 26a je sklad na 2. podlaží dostupný z místnosti 26), popř. obslužnou místnost číslovanou dle nejbližší kanceláře (např. 16b je umývárna pro muže na 1. podlaží blízko kanceláře 16). Celkem je ve firmě 40 číslovaných prostor (včetně chodeb 10a, 20a, 30a). Majetek_typy» Firma je vybavena mobiliářem (nábytkem), výpočetní, audiovizuální a komunikační technikou. Vybavení je nakupováno hromadně, často se vyskytují společné typy vybavení.

13 1 Databáze 13» V každé větě je pro typ majetku uveden jeho druh (Skříň, Stůl, Židle, Křeslo, Výpočetní technika, LCD, Audiovizuální technika, Komunikační technika, Reprografická technika, Vyvolávací systém, Kuchyň 3 ), popis majetku, pořizovací cena a datum pořízení.» Jednoznačným identifikátorem typu je pole Typ_majetku.» Firma má 57 typů inventáře. OBR. 1-6: MÍSTNOSTI FIRMY ENCIÁN Majetek_ umístění (Inventární_ číslo) Spuštění Accessu Majetek_umístění» Každý kus inventáře má přiděleno inventární číslo, k němuž je upřesněn typ majetku, zodpovědná osoba a místnost, v níž je majetek umístěn.» Jednoznačným identifikátorem je pole Inventární_číslo.» Tabulka obsahuje 625 kusů inventáře.» Inventarizovaný majetek firmy má hodnotu dle pořizovací ceny Kč. Odpadkové koše, telefony a květiny nejsou vzhledem k jejich nízké pořizovací ceně (koš za 213 Kč, telefon za 302 Kč, květina za 325 Kč) inventarizovány. Nejvyšší podíl na inventáři tvoří výpočetní technika Kč (bez LCD, jejichž pořizovací hodnota činila Kč) a židle ( Kč). 1.3 Seznámení s aplikací Access Program Access spustíme z prostředí Windows např.: dvojitým kliknutím na ikonu Accessu na pracovní ploše nebo z menu Windows Start, dále volbou Všechny aplikace a nalezením Accessu v seznamu programů. Otevře se obrazovka nabídky souborů (obr. obr. 1-7). V levém podokně můžeme vybrat dříve vytvořenou databázi. Z místní nabídky databáze můžeme: připnout databázi k seznamu připnutých databází (na začátku seznamu dříve vytvořených databází), odebrat databázi ze seznamu připnutých databází či dříve otevíraných databází. Kliknutím na název databáze můžeme databázi ze seznamu otevřít. 3 Druh inventáře určuje vrstvu v diagramu v programu Microsoft Visio, v němž je připraven prostorový plán budovy firmy Encián.

14 1 Databáze 14 OBR. 1-7: OBRAZOVKA NABÍDKY SOUBORŮ Desktopové databáze V pravé části stránky je zobrazena nabídka šablon databází. Nabízí se dva druhy šablon: desktopové databáze aplikace Access (bez zeměkoule) Data jsou ukládána do místní databáze ve formátu accdb. Databáze využívá pokročilé funkce, např. křížové a aktualizační dotazy, moduly Visual Basicu. K dispozici jsou šablony, které můžeme rozdělit na tři druhy dle jejich účelu:» podnikání Aktiva: Databáze pro sledování aktiv a kontaktů. Obsahuje tabulky Aktiva, Kontakty a s nimi související objekty. Kontakty: Databáze kontaktů pro uchovávání informací o osobách (zákaznících a partnerech). Obsahuje jedinou tabulku Kontakty a s ní související objekty. Marketingové projekty: Databáze ke sledování průběhu marketingových projektů. Obsahuje tabulky Běžné úkoly, Prodejci, Projekty, Úkoly, Zaměstnanci a s nimi související objekty. Problémy: Databáze evidence problémů, které můžeme přiřazovat řešitelům a sledovat průběh jejich plnění. Obsahuje tabulky Kontakty, Problémy a s nimi související objekty. Prodejní kanály: Databáze prodejních kanálů, umožňuje sledovat vývoj obchodních příležitostí. Obsahuje tabulky Příležitosti, Zákazníci, Zaměstnanci a s nimi související objekty. Události: Databáze událostí pro sledování schůzek, termínů a dalších událostí. Obsahuje tabulku Události a s ní související objekty. Úkoly: Databáze úkolů a sledování jejich plnění. Obsahuje tabulky Kontakty a Úkoly a s nimi související objekty. Projekty: Databáze řešených projektů. Obsahuje tabulky Běžné úkoly, Projekty, Úkoly, Zaměstnanci a s nimi související objekty.» studium Studenti: Databáze studentů pro sledování informací o studentech včetně kontaktních informací pro naléhavé případy, informací o používaných lécích a opatrovnících. Struktura tabulek vhodná pro evidenci na základních a středních školách. Obsahuje tabulky Opatrovníci, Studenti a s nimi související objekty. Učitelský sbor: Databáze vyučujících pro udržování informací o členech pedagogického soboru včetně informací pro naléhavé případy a informací o vzdělání vyučujících. Struktura tabulek vhodná pro evidenci na základních a středních školách. Obsahuje tabulku Vyučující a s ní související objekty.» demonstrace možností Accessu Nortwind 2007: Databáze demonstrující využití Accessu na agendě fiktivní firmy. Obsahuje tabulky Faktury, Informace o dodavatelích, Inventář transakcí, Objednávky, Objednávky nákupu, Oprávnění, Oprávnění zaměstnance, Přepravci, Rozpis

15 1 Databáze 15 Webové aplikace Vytvoření databáze objednávek, Rozpis objednávek nákupu, Řetězce, Stav daně objednávek, Stav objednávek, Stav objednávky nákupu, Stav rozpisu objednávek, Typy transakcí inventáře, Výkazy o prodeji, Výroby, Zákazníci, Zaměstnanci. Databáze obsahuje řadu ukázkových dotazů, formulářů, sestav, maker a modulů. Nebo můžeme vytvořit svou vlastní databázi (Prázdná databáze). webové aplikace (se zeměkoulí) Organizace využívá SharePoint v Office 365 nebo vlastní SharePoint (on premise SharePoint instalovaný na vlastním serveru). Data jsou uložena v seznamech SharePointu. Data mohou s příslušným oprávněním upravovat i uživatelé bez desktopové aplikace (klienta) Access. Data jsou dostupná odkudkoliv prostřednictvím webového rozhraní. K úpravě aplikace slouží klient Access. K dispozici jsou šablony:» Sledování majetku: Obdobně jako desktopová databáze Aktiva.» Kontakty: Obdobně jako desktopová databáze Kontakty.» Sledování problémů: Obdobně jako desktopová databáze Problémy.» Řízení projektů: Obdobně jako desktopová databáze Projekty. Nebo můžeme vytvořit svou vlastní webovou aplikaci (Vlastní webová aplikace). V dalším výkladu se zaměříme na tvorbu desktopových databází. K tvorbě webové aplikace se vrátíme v kap Na rozdíl od ostatních programů kancelářského balíku Microsoft Office Pro Plus nemůžeme pracovat s prázdnou neuloženou databází. Již při výběru šablony musíme proto v pravém podokně upřesnit umístění a název souboru. Pro účely databáze firmy Encián nevyhovuje žádná připravená šablona. Proto v pravé části okna klikneme do dlaždice Prázdná databáze. Do pole Název souboru zapíšeme název Enc1 4. Klikneme do tlačítka Umožňuje vyhledat umístění pro databázi napravo od pole Název souboru a vyhledáme vhodnou složku pro umístění databázového souboru 5 (viz obr. 1-8). OBR. 1-8: ZADÁNÍ NÁZVU DATABÁZE A JEJÍHO UMÍSTĚNÍ Enc První tabulka Prázdnou databázi vytvoříme kliknutím do tlačítka Vytvořit. Ve vybrané složce se vytvořil soubor Enc1.accdb. V databázi se zahájila automaticky tvorba první tabulky. Do tabulky zapíšeme základní osobní data vybraných zaměstnanců firmy Encián: V prvním sloupci je formální identifikátor řádku ID, který je automaticky vyplňován čísly od 1 krokem 1. V druhém sloupci klikneme do textu Kliknutím přidat. Nejprve upřesníme typ sloupce. Vybereme typ Krátký text. 4 Odkazy na soubory příkladů jsou vypisovány na levém okraji se symbolem a názvem databáze. První verzi databáze uložíme pod název Enc1. 5 Výchozí složku pro ukládání a otevírání databází můžeme upřesnit kliknutím do tlačítka Office a tlačítka Možnosti aplikace Access. V kartě Oblíbené v sekci VYTVÁŘENÍ DATABÁZÍ nastavíme pole Výchozí složka pro databáze.

16 1 Databáze 16 Po výběru typu sloupce je sloupec nazván Pole 1. Přepíšeme text názvem našeho identifikátoru Osoba. Názvy polí budeme volit krátké, místo mezer či uvozovek budeme používat podtržítko. Po odeslání názvu sloupce Osoba se připraví druhý sloupec. Obdobně doplníme sloupce: Krátký text: Příjmení Číslo: Místnost Krátký text: Oddělení Klikneme do prvního řádku dat. Na začátku řádku je hvězdička příznak nového dosud prázdného řádku. Vyplníme sloupec Osoba textem Novak.Petr. Při vyplňování se hvězdička na začátku řádku změní na tužku věta (řádek) zaměstnance je rozepsána, není dosud uložena. Po odeslání hodnoty ve sloupci Osoba se kurzor přesune do sloupce Příjmení. Obdobně vyplníme další hodnoty v řádku zaměstnance: Příjmení: Novák Místnost: 31 (Prvotně byla vložena do sloupce hodnota 0). Oddělení: RED Pokud při vyplňování stiskneme klávesu Esc, zapomene se změna v aktuálně vyplňovaném poli tabulky. Druhým stisknutím klávesy Esc bychom ztratili celou rozepsanou větu, která dosud nebyla uložena. Po přechodu na další větu odesláním hodnoty ve sloupci Oddělení se věta automaticky uloží. Na začátku řádku již není zobrazena v tzv. volici záznamů tužka. Ve druhém řádku je ve voliči záznamů hvězdička. V průběhu editace řádku můžeme větu průběžně uložit kombinací klávese Shift Enter. Po odeslání hodnoty RED zahájíme zápis nové věty ve sloupci Osoba. Zapíšeme sem hodnotu Sladka.Marie. Obdobně doplníme další hodnoty do věty sekretářky ředitele Marie Sládké: příjmení Sladká, místnost 32, oddělení RED. Pro vyplnění oddělení shodného s předchozí větou použijeme kombinaci kláves Ctrl " (uvozovky). Obdobně doplníme dalšího zaměstnance, osobu Kolinska.Eva, příjmení Kolínská, místnost 23, oddělení PRG (viz obr. 1-9). OBR. 1-9: TABULKA OSOBY Osoby Vytvoření tabulky Zavřeme objekt tabulky kliknutím do ukončovacího tlačítka s křížkem v řádku s názvem tabulky Tabulka1. Access ukládá hodnoty vět průběžně do souboru Enc1.accdb. Přesto se nás ptá, zda má uložit změny v návrhu objektu. Jedná se o strukturu a název tabulky. Klikneme do tlačítka Ano. V dialogovém okně Uložit jako vyplníme název tabulky. Navrhovaný název Tabulka1 změníme na Osoby. Vytvoříme druhou tabulku. V pásu karet klikneme do karty Vytvoření. Ve skupině TABULKY klikneme do tlačítka Tabulka. Opět se vytvořila tabulka s názvem Tabulka1, kterou vyplníme: V tabulce vytvoříme sloupce: Krátký text: Oddělení (kód oddělení) Krátký text: Oddělení_v (vysvětlivka kódu oddělení). Vložíme dvě věty: RED, ředitelství a PRG, programování.

17 1 Databáze 17 Oddělení Vytvoření dotazu Tabulku uložíme kliknutím do tlačítka Uložit v panelu nástrojů Rychlý přístup nebo kombinací kláves Ctrl S. Při ukládání modifikujeme název tabulky na Oddělení. Tabulku zavřeme zavíracím tlačítkem. Vzhledem k tomu, že jsme již tabulku ukládali (přesněji její návrh, obsah se ukládá průběžně), nejsme již vyzváni k zápisu názvu tabulky. Mezi tabulkami mohou být v Accessu relace vazby, které pomáhají při konstrukci dotazů. Nejčastěji se využívají výběrové dotazy, které vybírají data z jedné či více tabulek, výsledkem je tzv. datová sada ve formě tabulky, která může být kombinací data z více tabulek. Zkombinujeme data z tabulky Osoby a Oddělení formou jednoduchého dotazu. Ke každému zaměstnanci chceme vypsat jeho příjemní, kód a vysvětlivku oddělení, do něhož je zařazen: V kartě VYTVOŘENÍ ve skupině DOTAZY klikneme do tlačítka Návrh dotazu. V dialogovém okně Zobrazit tabulku (viz obr. 1-10) vybereme tabulky, kterou budou zdrojem dotazu. Dvojitě klikneme na tabulku Oddělení. Klikneme na tabulku Osoby a klikneme do tlačítka Přidat. V rámci okna Zobrazit tabulku klikneme do tlačítka Zavřít. OBR. 1-10: DIALOGOVÉ OKNO ZOBRAZIT TABULKU Návrhové zobrazení dotazu se skládá ze dvou podoken (viz obr. obr. 1-11, kde je již návrh dotazu dokončen): V horním podokně Diagram je diagram tabulek, z nichž dotaz čerpá data. V dolním podokně Mřížka je návrhová mřížka dotazu, do níž budeme vybírat z podokna Diagram pole tabulek, popř. upřesňovat kritéria výběr, řazení a další. Do podokna Diagram jsme umístili tabulky Oddělení a Osoby. Dvojitě klikneme na pole Příjmení z tabulky Osoby. Příjmení se zapíše do prvního sloupce dotazovací mřížky. Dvojitě klikneme na pole Oddělení v tabulce Osoby a pole Oddělení_v v tabulce Oddělení. V kartě NÁVRH ve skupině VÝSLEDKY klikneme do tlačítka Zobrazení. Zobrazil se výsledek dotazu. Pro každého zaměstnance se ve výsledné datové sadě vypsaly dvě věty. Access vytvořil všechny kombinace 3 vět tabulky Osoby se 2 větami tabulky Oddělení, tj. 3 x 2 = 6 kombinací. My však chceme zobrazit jen vhodné kombinace, tj. kombinace, kde je shodné pole Oddělení v tabulce Osoby a pole Oddělení v tabulce Oddělení.

18 1 Databáze 18 V kartě DOMŮ ve skupině ZOBRAZENÍ klikneme do tlačítka Zobrazení. V podokně Diagram návrhu dotazu tažením přesuneme pole Oddělení z tabulky Oddělení na pole Oddělení tabulky Osoby. Vytvoříme tak relaci mezi tabulkami. Znovu zobrazíme výsledek dotazu kliknutím do tlačítka Zobrazení. Ve výsledku se zobrazí již jen 3 kombinace, pro něž platí rovnost pole Oddělení v tabulkách Osoby a Oddělení. OBR. 1-11: DOTAZ VYPISUJÍCÍ K ZAMĚSTNANCŮM ODDĚLENÍ P13 Zaměstnanci s odděleními Kombinací kláves Ctrl S uložíme návrh dotazu pod názvem P13 Zaměstnanci s odděleními. 6 Podívejme se nyní na součásti okna Accessu (viz obr. 1-12, v němž je otevřen dotaz P13 Zaměstnanci s odděleními): OBR. 1-12: SOUČÁSTI OKNA ACCESSU 6 Název objektů s výjimkou tabulek budeme zahajovat písmenem P (publikace), číslem kapitoly, tj. v kap. 1.3 vytváříme objekty P13 Zaměstnanci s odděleními. Bude-li v kapitole objektů více, odlišíme je malým písmenem za číslem kapitoly, např. P31a Dotaz. Čtenář zakládá stejně nazvané objekty avšak bez úvodního písmena P. Čtenářovy objekty tak budou v seznamech objektů řazených dle abecedy uvedeny dříve.

19 1 Databáze 19 Panel nástrojů Rychlý přístup Titulkový pruh Pás karet Skupiny příkazů Vlevo nahoře je panel nástrojů Rychlý přístup, který obsahuje základní příkazy na trvale zobrazených tlačítkách. Po instalaci Accessu je to tlačítko Uložit, tlačítko pro návrat zpět o jeden vykonaný příkaz a tlačítko pro opakování kroku postupu 7. V případě dotykového zařízení je doplněno ještě tlačítko pro optimalizaci mezer mezi příkazy (větší rozestupy tlačítek na dotykovém zařízení). Na konci panelu nástrojů Rychlý přístup je úzké tlačítko Přizpůsobit panel nástrojů Rychlý přístup. Kliknutím do tlačítka se zobrazí nabídka: Nejprve jsou nabídnuty časté příkazy, které lze zařadit do panelu nástrojů Rychlý přístup (Nová, Otevřít,..., Režim dotykového ovládání/ovládání myší). Dále můžeme zobrazit další příkazy, které lze zařadit do panelu nástrojů Rychlý přístup. Otevře se okno Možnosti aplikace Access, v němž je možné zobrazit vybranou kategorii příkazů a přidávat je do panelu nástrojů Rychlý přístup. V ostatních kartách jsou další možnosti modifikace Accessu. Volbou Zobrazit pod pásmem karet můžeme panel nástrojů Rychlý přístup zobrazit pod pásem karet. Poslední volby jsou dostupné také z místní nabídky pásu karet. V místní nabídce je navíc volba Minimalizovat pás karet, kterou můžeme potlačit zobrazení pásu karet a zvětšit tak prostor pro podokna Accessu. Alternativně lze sbalit pás karet také kliknutím do tlačítka Sbalit pás karet v pravém dolním rohu pásu karet či kombinací kláves Ctrl F1. V titulkovém pruhu okna je název otevřené databáze. Za názvem databáze je v závorce formát uložení databáze (v našem případě Access ) a název aplikace Access. Na konci titulkového pruhu jsou tlačítka: Název účtu uživatele: Kliknutím do názvu zobrazíme nabídku nastavení účtu kancelářského balíku Office Pro Plus:» Změnit fotku: Možnost změny fotografie v profilu Office Pro Plus.» O mně: Editace profilu a připojení profilu k sociálním sítím.» Nastavení účtu: Nastavení pozadí, motiv a připojených služeb (soukromý One Drive, One Drive pro firmy jedné či více firem, Weby SharePoint jedné či více firem, LinkedIn, Twitter, Flickr, YouTube), možnost potlačení aktualizací.» Přepnout účet: Možnost změny účtu, pokud máme aktivních více účtů Office Pro Plus (Office 365 včetně Office Pro Plus u více organizací). Nápověda pro Access: Otevření nápovědy. Běžná tlačítka aplikací Windows (Minimalizovat, Maximalizovat, Zavřít). Pod titulkovým pruhem je zobrazen pás karet s příkazy pro program Access. Příkazy jsou rozděleny do karet. Standardní karty (DOMŮ, VYTVOŘIT, EXTERNÍ DATA, DATABÁZOVÉ NÁSTROJE) se zobrazují stále, kontextové karty (např. NÁVRH) se zobrazují jen v kontextu některých činností (např. návrh dotazu). V některých situacích se potlačí zobrazení standardních karet a zobrazí se aplikační karty (např. NÁHLED při zobrazení náhledu tisku výsledku dotazu). Návrat z aplikačních karet bývá kliknutím do tlačítka Zavřít v závěru aplikační karty. Specifická karta SOUBOR zprostředkovává příkazy pro práci se soubory (založení nové databáze, otevření dříve vytvořené databáze, komprimace databáze, nastavení Accessu). Aby databáze nezabírala příliš místa a aby byl její provoz rychlý, budeme vždy po úpravě databáze (např. jednou denně) provádět komprimaci databáze kliknutím do karty SOUBOR a v dílčí kartě Informace do tlačítka Zkomprimovat a opravit databázi. Příkazy v kartách jsou pro přehlednost rozděleny do skupin. Názvy skupin jsou uvedeny v spodní části karty (např. v kartě NÁVRH skupiny VÝSLEDKY, TYP DOTAZU, NASTAVENÍ DOTAZU, ZOBRAZIT NEBO SKRÝT). Pokud je v pásu karet dost místa (záleží na rozlišení zobrazování a na šíři okna), jsou u příkazových tlačítek jejich názvy. Vzhled karty se může se změnou velikost okna měnit. Řada tlačítek zastupuje nabídku, která se vyklopí kliknutím do tlačítka. Zastupování nabídky je vyznačeno na konci tlačítka ikonou nabídky (trojúhelníkem, viz např. tlačítko vše ve skupině NASTAVENÍ DOTAZU). Kliknutím do některých tlačítek (např. Barva písma ve skupině 7 V obr je navíc uživatelské tlačítko Uložit objekt jako, které zobrazíme v souvislosti s ukládáním dotazů.

20 1 Databáze 20 Spouštění dialogového okna Navigační podokno FORMÁTOVÁNÍ TEXTU v kartě DOMŮ) zadáme naposledy použité nastavení tlačítka (např. barvu písma) na rozdíl od kliknutí do ikony nabídky, kterým zobrazíme další varianty (např. výběr jiné barvy), z nichž jednu můžeme vybrat a zároveň tak nastavit tlačítko pro další použití. Některé skupiny příkazů zastupují řadu příkazů, které lze přehledně zobrazit v dialogovém okně. Toto dialogové okno lze zobrazit kliknutím do spouštěče dialogového okna v pravém dolním rohu skupiny (např. pro skupinu FORMÁTOVÁNÍ TEXTU v kartě DOMŮ). Některá tlačítka se skládají ze dvou částí (např. tlačítko Zobrazení ve skupině VÝSLEDKY). Kliknutím do horní části přímo zadáme nejčastější variantu příkazu, kliknutím do dolní části vyklopíme detailní nabídku možností. Na levém kraji pod pásem karet je zobrazeno navigační podokno. Zobrazuje seznam objektů databáze. Navigační podokno lze minimalizovat či obnovit kliknutí do tlačítka se symbolem << v jeho pravém horním rohu. Tažením můžeme upravit polohu svislé příčky, která odděluje navigační podokno od zbývajících podoken. V navigačním podokně jsou zobrazeny objekty dle typů objektu (Tabulky, Dotazy, Formuláře, Sestavy, Makra, Moduly). Objekty můžeme kategorizovat do skupin i jinak, můžeme také zobrazit jen některé objekty, tj. použít filtr. Klikneme do záhlaví navigačního podokna nadepsaného Všechny tabulky. Zobrazí se nabídka, v níž můžeme vybírat:» kategorie Vlastní: Objekty jsou rozděleny do námi vytvořených skupin 8. Typ objektu: Objekty jsou rozděleny do skupin dle typu objektu (tabulky, dotazy, formuláře, sestavy, makra, moduly). Tato kategorie je nastavena jako výchozí při zakládání databáze. Kliknutím do tlačítka na konci nadpisu skupiny můžeme sbalit či rozbalit skupinu. Tabulky a související zobrazení: Objekty jsou rozděleny do skupin dle tabulek, do skupiny jsou zařazeny související objekty. V případě naší databáze jsou v navigačním podokně zobrazeny tabulky a s nimi související objekty ve skupinách. Dotaz P13 souvisí s oběma tabulkami, je proto zařazen do obou skupin. Datum vytvoření: Objekty jsou rozděleny do skupin dle data vytvoření. Datum změny: Objekty jsou rozděleny do skupin dle data poslední změny objektu.» filtry: Můžeme vybrat jedinou skupinu a zobrazit pouze její objekty. Potom je v záhlaví navigačního podokna název skupiny. Objektů může být v databázi velké množství, Access proto nabízí četné modifikace Navigačního podokna: Z místní nabídky navigačního podokna můžeme:» vybrat kategorizaci objektů do skupin,» vybrat kritérium řazení objektů ve skupinách a vzestupné či sestupné řazení,» vybrat způsob zobrazení objektů. Podrobnosti: Pro každý objekt je zobrazeno kromě názvu objektu jeho typ, datum vytvoření a datum poslední změny objektu, popř. popis objektu 9. Každá vlastnost je zobrazena na jednom řádku, úplný řádek lze zobrazit tažením za příčku navigačního podokna. Ikona: Před názvem objektu je zobrazena větší ikona. Seznam: Před názvem objektu je zobrazena menší ikona.» zobrazit či potlačit Panel hledání: Panel hledání je zobrazen v druhém řádku navigačního podokna. Může do něj zadávat úplný název či část názvu objektu. V navigačním podokně se potom zobrazí pouze odpovídající objekty. 8 Vlastní skupiny můžeme vytvářet, když klikneme pravým tlačítkem myši kamkoliv v Navigačním podokně a z místní nabídky vybereme Možnosti navigace. V dialogovém okně můžeme potom do kategorie VLASTNÍ přidávat další skupiny, přejmenovávat a odebírat skupiny. Můžeme také vytvořit další kategorizaci. 9 Vlastnost objektu lze zadat, když na název objektu klikneme pravým tlačítkem a z místní nabídky vybereme Vlastnosti objektu. V dialogovém okně Vlastnosti objektu vyplníme pole Popis. Můžeme také zaškrtnout pole Skrytý, pokud se jedná o pomocný objekt, který běžně nechceme zobrazit v seznamu objektů. Popis je jednou z vlastností objektu, můžeme jej proto také zadat v rámci návrhu objektu.

21 1 Databáze 21» zobrazit okno Možnosti navigace (viz obr. 1-13). OBR. 1-13: DIALOGOVÉ OKNO MOŽNOSTI NAVIGACE Podokno objektu Stavový řádek Návrhové zobrazení V dialogovém okně Možnosti navigace můžeme: přidat, odstranit, přejmenovat či změnit pořadí položek kategorizací, v rámci vybrané kategorizace můžeme přidat, odstranit, přejmenovat či změnit pořadí skupiny, zaškrtnutím můžeme potlačit zobrazení některých skupin, zadat zobrazování skrytých objektů 10, zadat zobrazování systémových objektů 11, zobrazit panel hledání, ovlivnit způsob otevírání objektu (kliknutí či dvojité kliknutí). V našem případě přidáme kategorizaci Struktura publikace, v níž budeme třídit objekty dle jednotlivých kapitol této publikace. Okno Možnosti navigace zavřeme kliknutím do tlačítka OK. Napravo od navigačního podokna jsou zobrazena podokna otevřených objektů. Každý otevřený objekt je zastoupen záložkou. V případě návrhového režimu zobrazení dotazu jsou k objektu dotazu zobrazena dvě podokna Diagram a Mřížka. Dělící mřížky navigačního podokna a podoken Diagram a Mřížka můžeme tažením posouvat a měnit tak velikost podoken. Ve stavovém řádku jsou: vlevo informace různé dle kontextu, např. při vyplňování tabulek zde budou zobrazeny popisy polí, pokud budou vyplněny v návrhovém zobrazení tabulky ve sloupci Popis, jinak je zde zobrazen režim zobrazení, vpravo stav zapnutí kláves (např. NumLock) a tlačítka režimů zobrazení, jejichž počet je pro různé objekty různý (např. pro dotazy jsou uvedena 3 tlačítek zobrazení). 1.4 Návrhové zobrazení tabulky Dosud jsme navrhovali strukturu tabulky a naplňovali její obsah v zobrazení datového listu. Nyní zobrazíme tabulku Osoby v návrhovém zobrazení jedním ze čtyř postupů: Klikneme pravým tlačítkem myši na název tabulky Osoby v navigačním podokně a z místní nabídky vybereme Návrhové zobrazení. Dvojitým kliknutím v navigačním podokně zobrazíme tabulku Osoby. Z místní nabídky záložky tabulky Osoby zadáme Návrhové zobrazení. 10 Skrytí objektu lze zadat z místní nabídky názvu objektu výběrem volby Vlastnosti objektu. 11 Access ukládá některé informace do pomocných tabulek, které standardně nezobrazuje.

22 1 Databáze 22 Enc Dvojitým kliknutím v navigačním podokně zobrazíme tabulku Osoby. V kartě DOMŮ klikneme ve skupině Zobrazení na horní část tlačítka Zobrazení. Dvojitým kliknutím v navigačním podokně zobrazíme tabulku Osoby. V pravém dolním rohu klikneme do tlačítka Návrhové zobrazení. Úpravy struktury tabulky Osoby 12 (viz obr. 1-14). OBR. 1-14: NÁVRHOVÉ ZOBRAZENÍ TABULKY OSOBY Jako první pole doplnil Access do tabulky pole ID, do něhož se automaticky doplňuje pořadové číslo věty. Pokud větu smažeme, číslo věty zůstane nevyužito. V našem případě využijeme k jednoznačné identifikaci věty pole Osoba. Odstraníme pole ID. Kliknutím do voliče řádku (prázdného čtverce se symbolem klíče) označíme řádek pole ID a stiskneme klávesu Delete. Na oba varující dotazy Accessu odpovíme kliknutím do tlačítka Ano. Pole Osoba naopak povýšíme na primární klíč. Hodnota v poli (popř. ve více polích) primárního klíče musí být pro každý záznam jedinečná. Podle primárního klíče jsou také věty seřazeny při zobrazování tabulky. Kurzor umístíme do řádku pole Osoba a kliknutím do tlačítka Primární klíč ve skupině NÁSTROJE zadáme primární klíč. Pro pole Osoba omezíme ještě maximální délku textu na 20 znaků. Do spodního podokna se přepneme klávesou F6 13 nebo kliknutím myší do spodního podokna. Hodnotu vlastnosti pole Osoba nazvanou Velikost pole změníme z hodnoty 255 na 20. Obdobně maximální délku pole Příjmení změníme na 15. Datový typ pole Místnost odhadnul Access na Číslo, protože jsme do tabulky zatím zadali označení místností pouze ve formě čísel. V označení místností se však budou vyskytovat také písmena, proto změníme datový typ na Krátký text, délku omezíme na 3 znaky. Také délku pole Oddělení změníme na 3 znaky. Okno tabulky zavřeme kliknutím do uzavíracího tlačítka na konci řádku se záložkami názvů tabulek. Potvrdíme uložení změn v návrhu tlačítkem Ano. Access nás upozorní na možnou ztrátu dat zkrácením polí. Potvrdíme svůj úmysl tlačítkem Ano. Obdobně upravíme tabulku Oddělení: Odstraníme pole ID. Pole Oddělení bude primárním klíčem s délkou 3 znaky. Pole Oddělení_v zkrátíme na 15 znaků. 12 O způsobech tvorby a zobrazení tabulky podrobněji viz kap Klávesa F6 přepíná mezi pěti částmi obrazovky Access: podokno s poli tabulky, podokno s vlastnostmi polí, podokno s vlastnostmi tabulky, navigační podokno, tlačítka zobrazení, pás karet.

23 2 Relace 23 2 Relace Návrh databáze Normalizace 2.1 Typy a význam vztahů Ukažme si nyní, jak vytvořit databázi na příkladu databáze Encián. V průběhu návrhu databáze postupujeme v následujících krocích: Určíme účel databáze. V našem případě je účelem databáze evidence zaměstnanců, jejich služebních cest, inventárního majetku firmy a prodejů včetně evidence odběratelů. Vyhledáme a uspořádáme požadované informace. V našem případě jsme zvážili, které informace chceme uchovávat v databázi, vytipovali jsme pole vět. Rozdělíme informace do tabulek. Dodržujeme dvě základní zásady rozdělení do tabulek: Udržujeme data vždy jen na jednom místě, bráníme vzniku duplicitních (redundantních) dat, která zabírají místo a mohou být příčinou chyb. V našem případě by např. nebylo vhodné do věty zaměstnance uvádět název oddělení. Při změně názvu oddělení bychom museli změnu provádět ve více větách. Data vkládáme správná a úplná. V našem případě připustíme při zadávání nového zaměstnance či úpravy věty stávajícího zaměstnance výběr kódu oddělení (třípísmenné zkratky) jen z nabídky v tabulce Oddělení, v níž je seznam všech oddělení včetně názvů oddělení. Zadáme primární klíče. Pokud je to možné, pro každou tabulku zvolíme primární klíč, který jednoznačně identifikuje větu tabulky. Primárním klíčem může být jedno pole (např. Osoba v tabulce Osoby) či více polí (např. pole Rok, Cesta v tabulce Cesty nebo Osoba, Rok, Cesta v tabulce Výjezdy). Ověříme splnění normalizačních pravidel. Normalizace je proces zjednodušování a optimalizace struktury tabulek v databázi především za účelem minimalizace redundantních (nadbytečných) dat. Správnost návrhu se vyhodnocuje tzv. normálními formami: První normální forma (1NF) Všechny sloupce nelze dále dělit na části nesoucí nějakou informaci. V poli nesmí být data, která lze rozdělit do více polí. V našem případě by první normální forma byla porušena v tabulce Podniky, kdyby v jednom poli bylo PSČ i název města. Byla by také porušena, kdyby v tabulce Osoby byl sloupec Výjezd a v něm by se mohlo vyskytovat více hodnot (např. oddělených čárkami). Druhá normální forma (2NF) Tabulka obsahuje pouze sloupce, které jsou závislé na celém klíči. Pokud by tabulka Licence obsahovala pole Cena, pole Cena by záviselo pouze na části klíče, tj. na poli Program, nikoliv na poli Sériové_číslo, čímž by nebyla splněna druhá normální forma. Ceny programů proto uvádíme v tabulce Programy. Třetí normální forma (3NF) Nesmí existovat závislost mezi neklíčovými poli tabulky. Pokud by tabulka Osoby obsahovala pole Oddělení_v, bylo by pole Oddělení_v závislé na poli Oddělení a nikoliv na klíčovém poli Osoba, čímž by nebyla splněna třetí normální forma. V našem případě např. každý zaměstnanec patří do nanejvýš jednoho oddělení. Pokud bychom připustili zařazení do více oddělení, museli bychom vytvořit můstkovou tabulku mezi tabulkami Osoby a Oddělení nazvanou např. Zařazení, v níž by k zaměstnancům (pole Osoba) byla přiřazována jejich oddělení (pole Oddělení). Takovouto můstkovou tabulku máme v databázi použitou jako zprostředkovatele vazeb tabulek:» Osoby a Cesty (můstek Výjezdy),» Faktury a Programy (můstek Licence),» Místnosti a Majetek_typy (můstek Majetek_umístění).

24 2 Relace 24 Typy relací Typy spojení Čtvrtá normální forma (4NF) Nesmí existovat tzv. multizávislost. Multizávislost je případ, kdy v tabulce jsou dvě skupiny polí a kdy k jedné hodnotě první skupiny polí se přiřadí více hodnot druhé skupiny polí. Pokud by v tabulce Faktury byla uvedena pole Program, Sériové_číslo (v tom případě by klíčovými poli byla pole Faktura a Program), bylo by ke skupině polí Faktura, Osoba, Datum, IČ přiřazeno více hodnot skupiny Program, Sériové číslo, čímž by nebyla splněna čtvrtá normální forma. 14 Vytvoříme relace mezi tabulkami. Vytipujeme relace, které vzniknou mezi tabulkami, a definujeme je do relací databáze tak, abychom je mohli opakovaně využít v dotazech. Do relací doplníme referenční integritu, která zajistí, že nevyplníme do databáze nekonzistentní data (např. zamezí vložení oddělení neexistujícího v tabulce Oddělení pro zaměstnance v tabulce Osoby). Relace slouží ke svazování dat, existují čtyři typy relací: Mezi tabulkami neexistuje spojitost, nedefinujeme žádný vztah. 1:1 Jedné větě z první tabulky odpovídá právě jedna věta z druhé tabulky. Obě tabulky jsou obvykle sloučeny do jedné tabulky. Důvodem k rozdělení na dvě tabulky může být:» Struktura sloučené tabulky by byla příliš složitá.» Data do jednou nebo obou propojených tabulek načítáme z externího zdroje.» Stupeň utajení je u tabulek různý. Např. v tabulce Osoby máme uvedena data zveřejňovaná na webu, v tabulce Kontakty budou také data pro jednotlivé zaměstnance, avšak dostupná pouze řídícím pracovníkům firmy. Věty tabulky Osoby a Kontakty bude možné spojit prostřednictvím pole Osoba (viz kap. 3.2). V našem případě se v databázi firmy Encián vazba 1:1 nevyskytuje. 1:N Jedné větě z první tabulky odpovídá žádná, jedna či více vět z druhé tabulky. Naopak větě z druhé tabulky odpovídá právě jedna věta z první tabulky. V našem případě je takový vztah např. mezi tabulkami Oddělení a Osoby. V každém oddělení může být zaměstnáno více zaměstnanců, každý zaměstnance je však zaměstnán právě v jednom oddělení. M:N Jedné větě z první tabulky může odpovídat více vět z druhé tabulky. Také k jedné větě z druhé tabulky může odpovídat více vět z první tabulky. V našem případě bude takový vztah mezi tabulkami Osoby a Cesty. Zaměstnanec mohl vyjet na více služebních cest. Na jednu služební cestu mohlo jet více zaměstnanců. V databázi je nutné vytvořit můstkovou tabulku, která převede jednu vazbu M:N na dvě vazby 1:M a 1:N. V našem případě vytvoříme tabulku Výjezdy, která bude ve vazbě 1:M k tabulce Osoby a ve vazbě 1:N k tabulce Cesty. Ve výsledku dotazů využívajících relace jsou standardně vypisovány pouze kombinace spojení vět, které mají shodné propojující jedno či více polí. Pomocí typu spojení můžeme vypisovat i věty, které nemají protějšek ve vybrané spojované tabulce. Např. v případě relace tabulky Osoby a Oddělení můžeme tak využít tři typy spojení: Vybereme pouze kombinace, v nichž jsou spojená pole Oddělení z tabulek Osoby i Oddělení shodná. Vybereme i kombinace obsahující věty z tabulky Osoby, která nemají spojení v tabulce Oddělení, tj. zaměstnance, kteří nejsou zařazeni do žádného oddělení nebo jsou zařazeni do oddělení, které není uvedeno v tabulce Oddělení. Vybereme i kombinace obsahující věty z tabulky Oddělení, které nemají spojení v tabulce Osoby, tj. oddělení, do nichž nejsou zařazeni žádní zaměstnanci Někdy se zkoumají ještě další stupně normální formy: Boyce-Coddova normální forma (BCNF) a pátá normální forma. 15 Varianta oddělení s nevyplněnou zkratkou oddělení nemůže nastat, neboť v tabulce Oddělení je pole Oddělení klíčovým polem. Pro úplnost dodejme, že není možné zadat typ spojení, které by do výsledků zahrnovalo nespojené věty z obou tabulek Osoby a Oddělení současně.

25 2 Relace 25 Referenční integrita Enc Pro jednotlivou relaci můžeme zajistit v databázi referenční integritu. Můžeme tak např. zabezpečit, abychom do pole Oddělení v tabulce Osoby nemohli vložit oddělení, které není uvedeno v tabulce Oddělení. Referenční integrita hlídá všechny souvislosti: V tabulce Osoby:» Nemůžeme vložit nového zaměstnance s neexistujícím oddělením.» Nemůžeme změnit oddělení u stávajícího zaměstnance, pokud upravené oddělení neexistuje. V tabulce Oddělení:» Nemůžeme změnit zkratku oddělení, pokud je do oddělení zařazen alespoň jeden zaměstnanec.» Nemůžeme odstranit oddělení, pokud je do oddělení zařazen alespoň jeden zaměstnanec. Úpravy dat v tabulce Oddělení můžeme povolit zaškrtnutím polí v okně nastavení relace:» Při povolení Aktualizace souvisejících polí v kaskádě můžeme změnit zkratku oddělení, zkratka se automaticky upraví ve větách všech zaměstnanců zařazených oddělení s upravenou zkratkou.» Při povolení Odstranění souvisejících polí v kaskádě můžeme odstranit oddělení, z tabulky Osoby budou odstraněni zaměstnanci oddělení odstraňovaného v tabulce Oddělení. 2.2 Základní relace v databázi Encián Abychom nemuseli relace doplňovat do dalších dotazů a abychom udrželi integritu dat, doplníme do databáze Encián relace včetně referenční integrity. Nejprve doplníme relaci tabulek Osoby a Oddělení: V kartě DATABÁZOVÉ NÁSTROJE ve skupině RELACE klikneme do tlačítka Relace. V dialogovém okně Zobrazit tabulku dvojitě klikneme na tabulku Osoby a potom na tabulku Oddělení. Dialogové okno Zobrazit tabulku zavřeme kliknutím do tlačítka Zavřít. Pole Oddělení z tabulky Oddělení táhneme na pole Oddělení v tabulce Osoby. Pole táhneme z tabulky, kde je klíčovým polem, tj. z tabulky Oddělení. 16 Zobrazí se dialogové okno Upravit relace, v němž zaškrtneme pole Zajistit referenční integritu (viz obr. 2-1). Klikneme do tlačítka Vytvořit. OBR. 2-1: DIALOGOVÉ OKNO UPRAVIT RELACE Ukládání relací Pro definici relací se otevřela aplikační karta Návrh, kterou zavřeme kliknutím do tlačítka Zavřít ve skupině RELACE. Relace se ukládají v okamžiku jejich definování či úprav automaticky. Neukládá se však rozložení tabulek v diagramu relací, proto musíme ještě potvrdit změny v rozložení schématu relací tlačítkem Ano. Do tabulky Osoby doplníme nového zaměstnance, osoba: Svetly.Ondrej, příjmení: Světlý, místnost: nevyplníme, oddělení: PRG. Do tabulky Osoby doplníme dalšího zaměstnance, osoba: Smetana.Milan, příjmení: Smetana, místnost: 16, oddělení: PRO (propagace). Po odeslání oddělení se zobrazí chybové hlášení Nelze přidat nebo změnit záznam, protože je vyžadován související záznam v tabulce 16 Pokud nepropojujeme tabulky pomocí dvou polí, není nutné směr tažení dodržet.

26 2 Relace 26 Vnořený datový list Místnosti Oddělení. Klikneme do tlačítka OK. Klávesou Backspace umažeme oddělení PRO a odesláním ukončíme vložení věty Milana Smetany 17. Do tabulky Oddělení doplníme nové oddělení PRO s vysvětlivkou marketing. 18 Všimněme si, že za voličem řádku je rozbalovací tlačítko, kterým můžeme ve vnořeném datovém listu k větě z tabulky Oddělení zobrazit odpovídající věty tabulky Osoby (pracovníky, kteří patří do daného oddělení). Využití vnořeného datového listu umožnilo definování primárního klíče v tabulce Oddělení a relace tabulky Osoby a Oddělení včetně referenční integrity. Díky primárnímu klíči jsou věty v tabulce Oddělení zobrazeny v pořadí dle hodnoty primárního klíče. Vrátíme se do tabulky Osoby, kde do věty Milana Smetany doplníme oddělení PRO. 19 Oddělení marketingu má však označení MAR. Pokusíme se změnit hodnotu pole Oddělení v tabulce Oddělení z PRO na MAR. Při přechodu na další větu se zobrazí chybové hlášení Záznam nelze odstranit nebo změnit, protože tabulka Osoby obsahuje související záznamy. Klikneme do tlačítka OK a vzdáme se změny hodnot v rozepsané větě klávesou Esc. Zavřeme tabulku Oddělení. 20 Otevřeme znovu relace, když v kartě DATABÁZOVÉ NÁSTROJE ve skupině RELACE klikneme do tlačítka Relace. Dvojitě klikneme na relaci mezi tabulkami Osoby a Oddělení. V dialogovém okně Upravit relace zaškrtneme pole Kaskádová aktualizace souvisejících polí. Práci s oknem ukončíme kliknutím do tlačítka OK a zavřeme okno relací. V tabulce Oddělení změníme hodnotu PRO na MAR. Změna se promítne do všech (v našem případě jedné) vět v tabulce Osoby. V tabulce Oddělení se pokusíme odstranit větu MAR. Označíme ji kliknutím do voliče záznamů na začátku řádku věty a stiskneme klávesu Delete. Access nás upozorní, že větu nelze smazat hlášením Záznam nelze odstranit nebo změnit, protože tabulka Osoby obsahuje související záznamy. Zavřeme tabulku Oddělení. V relacích upravíme relaci mezi tabulkami Osoby a Oddělení. Tentokrát zaškrtneme pole Kaskádové odstranění souvisejících polí. V tabulce Oddělení odstraníme větu MAR. Varovné hlášení o odstranění jednoho záznamu odsouhlasíme. V tabulce Osoby se odstraní věta Milana Smetany. V relacích potlačíme zaškrtnutí pole Odstranění souvisejících polí v kaskádě. Do tabulky Oddělení doplníme větu oddělení marketingu a do tabulky Osoby větu Milana Smetany. Do databáze doplníme třetí tabulku Místnosti, v níž pro každou místnost budeme zaznamenávat: popis jejího účelu, oddělení, kterému je místnost přiřazena, původní telefonní linku, která byla do kanceláře vedena před reorganizací telefonních linek, kdy (téměř) do každé kanceláře vedla jediná telefonní linka (do některých kanceláří nevedla žádná). Postup tvorby tabulky Místnosti: V kartě VYTVOŘIT ve skupině TABULKY klikneme do tlačítka Tabulka. Přidáme sloupec datového typu Číslo s názvem Místnost a sloupce datového typu Krátký text s názvy Popis, Oddělení, Původní_telefon. Vyplníme první dvě věty: Místnost Popis Oddělení Původní_telefon 16 kancelář MAR kancelář PRG Stisknutím klávesy Esc bychom ztratili obsah celé rozepsané věty. 18 Propagace je jednou ze součástí marketingového mixu (výrobek, cena, propagace, místo). 19 Věta se ukládá až přechodem na další větu či zavřením tabulky. Kdybychom ponechali kurzor na právě zapsané větě PRO tabulky Oddělení, nebylo by možné doplnit oddělení pro Smetanu, neboť by ještě nebyla uložena věta oddělení PRO. 20 Pokud bychom tabulku nezavřeli, nemohli bychom upravovat relaci tabulky. Access by při úpravě relace oznámil chybové hlášení Tabulku Oddělení nelze uzamknout, protože ji právě používá jiný uživatel nebo proces.

27 2 Relace 27 Duplikace hodnoty z předchozí věty Podmínky referenční integrity P22a Zaměstnanci s původními telefony Při vyplňování hodnoty pole Popis shodné s hodnotou v předchozí větě zkopírujeme hodnotu z předchozí věty kombinací kláves Ctrl ". V kartě DATOVÝ LIST klikneme ve skupině ZOBRAZENÍ do tlačítka Zobrazení a přejdeme po upřesnění názvu tabulky Místnosti do zobrazení návrhu. V tabulce Místnosti odstraníme pole ID a tabulku zavřeme (s uložením změn v návrhu). Otevřeme schéma relací. Chceme doplnit do relací další tabulku. Klikneme v kartě NÁVRH ve skupině RELACE do tlačítka Zobrazit tabulku. V seznamu tabulek dvojitě klikneme na tabulku Místnosti a zavřeme okno Zobrazit tabulku. Tabulku Místnosti jsme mohli také táhnout do relací myší z navigačního podokna. V relacích se pokusíme doplnit relaci mezi tabulkami Osoby a Místnosti. Táhneme pole Místnost z tabulky Místnosti na pole Místnost v tabulce Osoby. V dialogovém okně Upravit relace zaškrtneme pole Zajistit referenční integritu a klikneme do tlačítka Vytvořit. Zobrazí se chybové hlášení Nenalezen žádný jedinečný index pro odkazované pole primární tabulky. Předpokladem zajištění referenční integrity je totiž existence primárního klíče v tabulce na straně 1 vztahu 1:N. Klikneme do tlačítka OK a v dialogovém okně Upravit relaci do tlačítka Storno. Návrh tabulky můžeme otevřít přímo ze schématu relací. Klikneme pravým tlačítkem do tabulky Místnosti a z místní nabídky vybereme NÁVRH TABULKY. K poli Místnost přidáme klíč. V kartě NÁVRH ve skupině NÁSTROJE klikneme do tlačítka Primární klíč. Zavřeme návrh tabulky s uložením změn. Znovu se pokusíme připravit relaci včetně referenční integrity. Tentokrát Access zobrazí chybové hlášení Relace musí být ve stejném počtu polí se stejnými typy dat. V tabulce Místnosti jsme sloupec Místnost definovali jako datový typ Číslo, což je v rozporu s typem stejnojmenného pole v tabulce Osoby. Chybové hlášení zavřeme kliknutím do tlačítka OK. Zavřeme dialogové okno Upravit relace tlačítkem Storno. Z relací opět z místní nabídky tabulky Místnosti zobrazíme návrh tabulky, v němž změníme datový typ pole Místnost z Číslo na Krátký text s velikostí pole 3. Zavřeme okno tabulky Místnosti s uložením změn. Znovu se pokusíme připravit relaci včetně referenční integrity. Tentokrát Access zobrazí chybové hlášení Aplikace Microsoft Access nemůže vytvořit tuto relaci a vynutit referenční integritu. V tabulce Osoby jsou totiž uvedeni zaměstnanci s místnostmi dosud nezapsanými do tabulky Místnosti. Chybové hlášení zavřeme kliknutím do tlačítka OK. Zavřeme dialogové okno Upravit relace tlačítkem Storno. Z relací opět z místní nabídky tabulky Místnosti zobrazíme návrh tabulky. V kartě NÁVRH ve skupině ZOBRAZENÍ klikneme do tlačítka Zobrazení a přejdeme do zobrazení datového listu. Doplníme čtyři další kanceláře: Místnost Popis Oddělení Původní_telefon 25 kancelář PRG 26 kancelář PRG 31 kancelář RED kancelář RED 813 Zavřeme tabulku Místnosti. Nyní se nám již podaří zajistit relaci včetně referenční integrity. Zaškrtneme také pole Kaskádová aktualizace souvisejících polí. Zavřeme diagram relací s uložením rozložení. Vytvoříme nyní dotaz, který bude k zaměstnancům vypisovat původní telefony: V kartě VYTVOŘENÍ ve skupině DOTAZY klikneme do tlačítka Návrh dotazu. Kliknutím do tlačítka Zavřít zavřeme dialogové okno Zobrazit tabulku. Tabulky přidáme do podokna Diagram tažením názvů tabulek z navigačního podokna. Takto přetáhneme tabulky Osoby a Místnosti. Tažením za jejich titulkové pruhy můžeme později měnit umístění tabulek v diagramu. Do diagramu se dle dříve definovaných relací doplnilo příslušné spojení tabulek.

28 2 Relace 28 Typy spojení Dvojitým kliknutím na názvy polí v diagramu umístíme do podokna Mřížka pole Příjmení, Místnost z tabulky Osoby a Původní_telefon z tabulky Místnosti. Kliknutím do tlačítka Datový list v pravém dolním rohu okna Accessu zobrazíme výsledek dotazu. Pro 4 zaměstnance (Kolínská, Novák, Sladká, Smetana) se zobrazí jejích místnosti a původní telefony. Do výsledku bychom chtěli uvést všechny zaměstnance, tj. i ty, kteří nemají přidělenu kancelář. Kliknutím do tlačítka Návrhové zobrazení se vrátíme zpět k návrhu. V diagramu dvojitě klikneme na spojení tabulek a v dialogovém okně Vlastnosti spojení vybereme volbu Zahrnout všechny záznamy z tabulky Osoby... (viz obr. 2-2). OBR. 2-2: DIALOGOVÉ OKNO VLASTNOSTI SPOJENÍ P22b Místnosti se zaměstnanci Import dat z Excelu Enc.xlsx Enc Ve výsledku dotazu je nyní uvedeno 5 zaměstnanců včetně Světlého, který neměl přiřazenu kancelář. Dotaz uložíme pod názvem P22a Zaměstnanci s původními telefony. Zkusme změnit ještě typ spojení na Zahrnout všechny záznamy z tabulky Místnosti... Ve výsledku bude uvedeno 6 vět, avšak 2 věty bez vyplněných sloupců. Doplníme proto do návrhu ještě pole Místnost z tabulky Místnosti. Vidíme, že do seznamu místností (jedna místnost může být zastoupena více větami) přibyly i místnosti neobsazené žádným zaměstnancem (25 a 26). Typ spojení lze v návrhu dotazu měnit. V novém návrhu dotazu se přebírá z relací. Je proto vhodné ve vztazích nastavit častější typ spojení. V našem případě v relacích nastavíme typ Zahrnout všechny záznamy z tabulky Osoby... (Dvojitě klikneme na relaci, v okně Upravit relace klikneme na tlačítko Typ spojení.) Typ spojení je znázorněn v diagramu dotazu i v relacích šipkou. 2.3 Import dat z Excelu do databáze Encián Relace je vhodné definovat v databázi dříve, než vložíme data tak, abychom včas pohlídali referenční integritu. Pozdější doplňování relací může narazit na nekonzistentnost dat, její odstranění může být pracné. Často přechází uživatelé na řešení v databázovém systému z řešení evidence v tabulkovém programu Excel. V Excelu je možné ukládat data ve formě dílčích tabulek, které však lze jen stěží a nepružně zpracovávat v jejich vztazích (relacích). Přechod na zpracování v Accessu může proto výrazně zjednodušit zpracování dat. V našem případě byla data firmy Encián původně uchovávána v sešitu Excelu. Každá z 15 tabulek byla zaznamenána v samostatném listu. Na prvním listu Tabulky je seznam tabulek uspořádaný do pěti skupin tabulek: I. Lidské zdroje (modré listy): Osoby, Oddělení II. Odběratelé (červené listy): Podniky, Stádia, NACE, Oddíly_sekce, Sekce III. Prodeje (zelené listy): Faktury, Licence, Programy IV. Služební cesty (fialové listy): Cesty, Výjezdy V. Inventář (oranžové listy): Místnosti, Majetek_typy, Majetek_umístění Barvy jsou pro přehlednost použity pro záložky listů (barvy karet) a pozadí buněk v listech. Založíme novou databázi, do níž budeme později data importovat. V kartě SOUBOR klikneme do dílčí záložky Nový.

29 2 Relace 29 Zvolíme vhodné umístění, do pole název souboru zadáme Enc2. Vybereme novou prázdnou databázi. V nové databázi zavřeme prázdný návrh tabulky. Postupně importujeme všech 15 tabulek: V kartě EXTERNÍ DATA ve skupině IMPORTOVAT A PROPOJIT klikneme do tlačítka Excel. V dialogovém okně Načíst externí data Tabulka Excelu kliknutím do tlačítka Procházet vybereme umístění souboru Excelu (Enc.xlsx). Ve spodní části okna ponecháme vybránu volbu Importovat zdrojová data do nové tabulky v aktuální databázi. Klikneme do tlačítka OK. Zobrazí se první okno průvodce importem z tabulkového kalkulátoru. Zde můžeme vybrat importovanou část sešitu: ze seznamu listů: v seznamu jsou zobrazeny listy sešitu v uspořádání dle pořadí listů v Excelu, ze seznamu oblastí: v seznamu jsou zobrazeny pojmenované oblasti a listy v sešitu Excelu dle abecedního uspořádání Ze seznamu listů vybereme list Osoby a klikneme do tlačítka Další. V druhém okně průvodce zaškrtneme pole První řádek obsahuje hlavičky sloupců, první řádek tabulky bude použit jako názvy sloupců vytvářené tabulky. Klikneme do tlačítka Další. Ve třetím okně průvodce bychom mohli změnit název, datový typ jednotlivých polí nebo přeskočit při importu některá pole. V našem případě změní typ polí Web_stránka a Web_foto na Hypertextový odkaz a klikneme do tlačítka Další. Ve čtvrtém okně můžeme vybrat primární klíč. Do pole Zvolit vlastní primární klíč vybereme položku Osoba. Klikneme do tlačítka Další. V pátém okně ponecháme název tabulky převzatý z názvu listu a nezaškrtneme pole Chci, aby průvodce po importu analyzoval tabulku. Klikneme do tlačítka Dokončit. Access provede import dat a nabídne nám možnost uložit kroky importu tak, abychom mohli později aktualizovanou tabulku importovat. V dialogovém okně Uložit kroky importu nezaškrtneme pole Uložit kroky importu, protože aktualizaci budeme provádět již jen v Accessu. Obdobně budeme importovat další tabulky: V případě tabulky Oddělení však importujeme oblast Redukovaná_oddělení. Do této oblasti není v sešitu Excelu zahrnuto oddělení programování, abychom se později naučili odstranit nekonzistentnost dat. Jako primární klíč zvolíme Oddělení. Název importované tabulky změníme na Oddělení. Pro tabulku Podniky vybereme primární klíč IČ. Pro tabulku Stádia vybereme primární klíč Stádium. Pro tabulku NACE vybereme primární klíč NACE. Pro tabulku Oddíly_sekce vybereme primární klíč Oddíl. Pro tabulku Sekce vybereme primární klíč Sekce. Pro tabulku Faktury vybereme primární klíč Faktura. Pro tabulku Licence neurčíme primární klíč, později to budou dvě pole. Pro tabulku Programy vybereme primární klíč Program. Pro tabulku Cesty neurčíme primární klíč, později to budou dvě pole. Pro tabulku Výjezdy neurčíme primární klíč, později to budou tři pole. Pro tabulku Místnosti vybereme primární klíč Místnost. Pro tabulku Majetek_typy vybereme primární klíč Typ_majetku. Pro tabulku Majetek_umístění vybereme primární klíč Inventární_číslo. Ve struktuře jednotlivých tabulek upřesníme datový typ klíčových polí a na ně navazující pole 21 : Osoby: Osoba je text o velikosti pole 20. Místnost je text o velikosti 3. Oddělení je text o velikosti 3. Nadřízený je text o velikosti 20. Oddělení: Oddělení je text o velikosti pole Nelze měnit typ či velikost pole, když bude součástí vztahu. Po importu z Excelu je délka textových polí 255.

30 2 Relace 30 Enc Skupiny tabulek Podniky: IČ je text o velikosti 8. Stádium je text o velikosti 16. NACE1, NACE2, NACE3, NACE4, NACE5, NACE6 jsou texty o velikosti 5. (Pro naše podniky by stačila velikost 4.) Stádia: Stádium je text o velikost 16. NACE: NACE je text o velikosti 5. Oddíly_sekce: Oddíl je text o velikosti 2. Sekce je text o velikosti 1. Sekce: Sekce je text o velikosti 1. Faktury: Faktura je číslo s velikostí pole celé číslo. Osoba je text o velikosti 20. IČ je text o velikosti 8. Licence: Ve struktuře tabulky tažením ve voliči záznamů označíme pole Program a Sériové_číslo a klikneme v kartě NÁVRH ve skupině NÁSTROJE do tlačítka Primární klíč. Program je text o velikosti 3. Sériové_číslo je celé číslo. Faktura je také celé číslo. Programy: Program je text o velikosti 3. Cesty: V tabulce definujeme dva primární klíče Rok a Cesta. Rok i Cesta jsou celá čísla. Výjezdy: V tabulce definujeme tři primární klíče Osoba, Rok, Cesta. Osoba je text o velikosti 20 znaků. Rok a Cesta jsou celá čísla. Místnosti: Místnost je text o velikosti 3. Oddělení je text o velikosti 3 znaky. Majetek_typy: Typ_majetku je text o velikosti 30. Majetek_umístění: Inventární_číslo je dlouhé celé číslo. Typ_majetku je text o velikosti 30. Místnost je text o velikosti 3. Založíme novou kategorii objektů a roztřídíme do ní tabulky: Kliknutím pravým tlačítkem myši do titulku Navigačního podokna otevřeme místní nabídku, v níž vybereme volbu Možnosti navigace. V levé části klikneme do tlačítka Přidat položku. Vytvoříme kategorii Skupiny tabulek. V pravé části postupně přidáme skupiny: I. Lidské zdroje II. Odběratelé III. Prodeje IV. Služební cesty V. Inventář Klikneme do titulku navigačního podokna levým tlačítkem a přejdeme ke kategorii Skupiny tabulek. Tabulky roztřídíme tažením do jednotlivých skupin tabulek. Nekonzistentnost dat 2.4 Relace v databázi Encián Nyní vytvoříme relace mezi tabulkami: V kartě DATABÁZOVÉ NÁSTROJE ve skupině RELACE klikneme do tlačítka Relace. Tažením rozmístíme tabulky do schématu relací dle obr Tažením za spodní kraj můžeme přizpůsobit výšku tabulek ve schématu. Tažením za pravý kraj můžeme tabulku zúžit nebo rozšířit. Ve všech relacích zajišťujeme referenční integritu a aktualizaci souvisejících polí v kaskádě. Nejprve se pokusíme připravit relaci mezi tabulkami Osoby a Oddělení. Táhneme pole Oddělení z tabulky Oddělení (tj. z budoucí strany 1 vztahu 1:N) do tabulky Osoby na pole Oddělení. 22 Po zaškrtnutí polí Zajistit referenční integritu a Kaskádová aktualizace souvisejících polí a kliknutí do tlačítka OK se zobrazí chybové hlášení obsahující upozornění Data v tabulce Osoby nesplňují pravidla referenční integrity. Řešíme nekonzistentnost dat: Zřejmě se vyskytují věty v tabulce Osoby s vyplněným polem Oddělení, které nemá související větu v tabulce Oddělení. Potlačíme chybové hlášení kliknutím do tlačítka OK. Zrušíme zaškrtnutí pole Zajistit referenční integritu. Tlačítkem Vytvořit vytvoříme relaci bez referenční integrity. 22 Směr tažení není povinný, ovlivní však později číslování typu spojení.

31 2 Relace 31 OBR. 2-3: RELACE V DATABÁZI ENCIÁN P23 Hledání nekonzistencí Vytvoříme dotaz, který dohledá nekonzistentní věty:» V kartě VYTVOŘENÍ ve skupině DOTAZY klikneme do tlačítka Návrh dotazu.» V dialogovém okně Zobrazit tabulku přidáme tabulky Osoby a Oddělení.» Dvojitým kliknutím v diagramu vybereme pole Osoba, Oddělení z tabulky Osoby a Oddělení_v z tabulky Oddělení. V zobrazení datového listu se zobrazí pouze 13 z 20 zaměstnanců.» Dvojitě klikneme na spojení mezi tabulkami Osoby a Oddělení a zvolíme typ spojení Zahrnout všechny záznamy z tabulky Osoby... V zobrazení datového listu se zobrazí již všech 20 zaměstnanců. OBR. 2-4: DOTAZ P23 HLEDÁNÍ NEKONZISTENCÍ

32 2 Relace 32 Enc Vícenásobná relace Relace tabulky ke stejné tabulce» Chceme zobrazit pouze problematické zaměstnance. V návrhové mřížce doplníme do sloupce Oddělení_v do řádku kritéria Null, tj. nevyplněný (viz obr. 2-4). Zobrazí se jen 7 zaměstnanců, kteří nemají spojení do tabulky Oddělení.» Vidíme, že se jedná o 5 zaměstnanců oddělení PRG, Milana Smetanu z oddělení PRO a Evu Kolínskou bez oddělení.» Otevřeme tabulku Oddělení a doplníme větu PRG s názvem programování a vedoucí Kolinska.Eva. Zavřeme tabulku Oddělení.» Kombinací kláves Shift F9 zaktualizujeme výsledek dotazu. Zobrazí se již jen dvě věty Evy Kolínské a Milana Smetany.» Milan Smetana má uvedeno špatné označení oddělení. Změníme přímo v dotazu hodnotu PRO na MAR. Zobrazí se příslušné Oddělení_v.» Eva Kolínská nemá vyplněno pole Oddělení. I když pro zajištění referenční integrity to není nutné, doplníme hodnotu PRG přímo do výsledku dotazu. Zobrazí se příslušné Oddělení_v.» Po aktualizaci výsledku dotazu (kombinací kláves Shift F9) se nezobrazí již žádná věta. Dotaz zavřeme. Nyní již můžeme doplnit referenční integritu do relace Oddělení a Osoby. Obdobně se pokusíme doplnit relaci včetně referenční integrity mezi tabulkami Osoby a Místnosti. Referenční integritu nelze zajistit, neboť Ondřej Světlý má vyplněnu místnost prázdným řetězcem "". Dočasně mu v tabulce doplníme místnost 18 a místnost v jeho větě odstraníme. V poli Místnost je nyní prázdná hodnota (Null). Obdobně doplníme jednoduché relace, které spojují tabulky jedním polem. (Dodržíme tažení ze strany 1 relace 1:N.) Zde se již nesetkáme s problémy. Komentář ke složitějším relacím: Dvojitá relace Výjezdy Cesty: Táhneme pole Rok z tabulky Cesty (strana 1 relace 1:N) na pole Rok v tabulce Výjezdy. Zobrazí se dialogové okno Upravit relace, v němž ručně doplníme výběrem z polí druhý řádek na straně tabulky Cesty i na straně související tabulky Výjezdy. Dále postupujeme stejně jako u jednoduchých relací. 23 Relace tabulky Osoby k tabulce Osoby: Nadřízený pro každého zaměstnance s výjimkou ředitele Petra Nováka bude čerpán ze stejné tabulky Osoby. Tabulku Osoby tažením z navigačního podokna znovu umístíme do relací, bude nadepsána Osoby_1. Vytvoříme relaci včetně referenční integrity z pole Osoba tabulky Osoby_1 na pole Nadřízený z tabulky Osoby. OBR. 2-5: DOTAZ NACE_ODDÍLY 23 Můžeme také označit v tabulce Cesty kliknutím pole Rok a s klávesou Shift pole Cesta a táhnout je na pole Osoba v tabulce Výjezdy. Potom musíme v dialogovém okně Upravit relace doplnit pole v související tabulce Výjezdy.

33 2 Relace 33 Relace dotazu a tabulky NACE_Oddíly Opakované spojení tabulky Relace tabulek Podniky a Oddíly_Sekce a dotazu NACE_Oddíly: Pole NACE1 chceme připojit na pole Oddíl. K tomu připravíme formou dotazu převodník mezi kódem NACE a jeho oddílem, tj. prvními dvěma znaky. Dotaz vychází pouze z tabulky NACE. Ke každému NACE vypíše jeho první dva znaky pod názvem Oddíl 24 (viz obr. 2-5). Dotaz NACE_Oddíly zařadíme v navigačním podokně do skupiny tabulek II. Odběratelé a tažením jej umístíme do relací. Tažením vytvoříme relaci mezi polem NACE v dotazu NACE_Oddíly a polem NACE1 z tabulky Podniky. Pro relaci s dotazem nelze zajistit referenční integritu. V relacích nejsou upraveny typy spojení, které budeme případně upřesňovat až v návrhu dotazů. 2.5 Další možnosti zobrazení vztahů Ve vztazích tabulky Podniky je vazba prvního NACE na tabulku NACE. Pokud podnik uvádí více činností, které realizuje v rámci svého podnikání, mohou být vyplněné také další kódy NACE. Také další kódy musí být v souladu s tabulkou NACE. Nemůžeme táhnout kód NACE2 z tabulky Podniky opět na kód NACE z tabulky NACE. Znamenalo by to, že požadujeme spojení kódů NACE1 a NACE2 se stejnou větou tabulky NACE, což nikdy nenastane, neboť NACE1 a NACE2 nemohou být shodné. Postup definování opakovaných spojení stejné tabulky: Tažením z navigačního podokna umístíme tabulku NACE do vztahů ještě pětkrát. Ve vztazích se zobrazí stejná tabulka s doplněnou číslicí, tj. NACE_1, NACE_2,..., NACE_5. Postupně vytvoříme relace mezi polem NACE2 a tabulkou NACE_1, mezi polem NACE3 a tabulkou NACE_2,..., mezi polem NACE6 a tabulkou NACE_5 včetně zajištění referenční integrity. Pro NACE2 a další zadáme typ spojení Zahrnout všechny záznamy z tabulky Podniky... Výsledný stav spojení tabulky Podniky a NACE je naznačen v obr OBR. 2-6: RELACE TABULEK PODNIKY A NACE Skrytí tabulky v relacích Zobrazení doplněných relací by bylo nepřehledné. Proto po definici relací a referenční integrity skryjeme tabulku NACE. Do tabulky v okně relací klikneme a klikneme v kartě NÁVRH 24 Funkci Left a nazývání výsledných sloupců podrobněji probereme v kap. 4 Dotazy.

34 2 Relace 34 Zobrazení tabulky v relacích Rozložení v relacích Úprava relace Nová relace Tisk relací Min.xlsx ve skupině RELACE do tlačítka Skrýt tabulku nebo stiskneme klávesu Delete. Takto skryjeme tabulku NACE a duplikáty jejího zobrazení NACE_1, NACE_2,..., NACE_5. Potlačili jsme tak zobrazení tabulky NACE v relacích, relace s referenční integritou zůstaly zachovány. 25 Spojení nezobrazená v relacích můžeme kdykoliv později zobrazit: spojení k označené tabulce tlačítkem Přímé relace ze skupiny VZTAHY, spojení ke všem tabulkám tlačítkem Všechny relace ze skupiny VZTAHY. Relace tabulky NACE v relacích opět zobrazíme. Pokud do relací chceme přidávat další tabulku, můžeme využít dva způsoby: tažením tabulky z navigačního podokna do okna relací, kliknutím ve skupině RELACE do tlačítka Zobrazit tabulku a výběrem tabulky v dialogovém okně Zobrazit tabulku, v níž můžeme vybrat tabulku a kliknout do tlačítka Přidat nebo přímo na tabulku dvojitě kliknout. Relace tedy nemusí být v okně relací zobrazena. Zobrazené tabulky můžeme vhodně rozložit změnit velikosti tabulek, jejich umístění, zobrazení či skrytí tabulek. Při zavírání relací se rozložení ukládá. Rozložení můžeme vymazat kliknutím ve skupině NÁSTROJE do tlačítka Vymazat rozložení. Relaci můžeme upravit: dvojitým kliknutím na relaci nebo kliknutím do relace a kliknutím ve skupině NÁSTROJE do tlačítka Upravit relace. Zobrazí se okno Upravit relace. Výběr relace znázorněné v okně relací vodorovnou čarou je těžší než výběr relace znázorněné šikmou čarou. Můžeme si pomoci posunutím některé tabulky tak, aby relace nebyla znázorněna vodorovnou čarou. Pokud nevybereme žádnou relaci (či nepřesně relaci s vodorovnou čarou), zobrazí se okno Upravit relace bez relace. Můžeme potom vytvořit novou relaci výběrem tabulek i spojujících polí. Novou relaci je možné také vytvořit kliknutím do tlačítka Vytvořit novou v dialogovém okně Upravit relace. Přehled relací můžeme vytisknout prostřednictvím sestavy: V kartě NÁVRH ve skupině NÁSTROJE klikneme do tlačítka Sestava relací. Vytvoří se sestava relací. 26 V našem případě upravíme orientaci sestavy, v kartě NÁHLED ve skupině ROZLOŽENÍ STRÁNKY klikneme do tlačítka Na šířku. Ve skupině ZAVŘÍT NÁHLED přejdeme tlačítkem Zavřít náhled do návrhu sestavy. Okno sestavy zavřeme bez uložení. 2.6 Databáze školení MIN Převeďme si návrh databáze na další databázi firmy Encián: Určíme účel databáze. Firma Encián pořádá školení. Vypisuje 4 předměty, které opakuje každý semestr v několika paralelkách kurzech. Kurz se koná celý semestr. V rámci týdne se může konat ve více časových polohách daných v rozvrhu hodin školení. Jednu paralelku může učit více vyučujících zaměstnanců firmy Encián. Pro účely sledování pracovního výkonu vyučujících sledujeme počet hodin odučených v kurzu. Vyhledáme a uspořádáme požadované informace. Pro ukázku jsme shromáždili data za jeden semestr letní semestr roku Předmět jednoznačně identifikujeme čtyřznakovým identem. Paralelku označujeme jako kurz tříznakovým kódem. Každý kurz učíme 13 týdnů, tj. 52 hodin ve dvou časových polohách, tj. každou časovou polohu 26 hodin převážně odučených jediným učitelem. Data jsme uspořádali do polí tabulky Rozvrh: 25 Musíme kromě zobrazení NACE_2, NACE_3,..., NACE_5 potlačit zobrazení tabulky NACE, jinak by se po opětovném otevření okna relací zobrazila nejen tabulka NACE, ale také duplikáty jejího zobrazení. 26 Podrobný výklad sestav je proveden v kap. 6 Sestavy. Podrobnosti o sestavě relací jsou uvedeny v kap

35 Ident Kurz Kapacita Doba Místnost Popis Osoba Hodin 2 Relace 35 MIN st 07:30-09:00 28 školící místnost Klimova.Jana 26 MIN st 09:15-10:45 28 školící místnost Klimova.Jana 26 MIN st 11:00-12:30 28 školící místnost Kolinska.Eva 26 MIN st 12:45-14:15 28 školící místnost Kolinska.Eva 26 MIN čt 11:00-12:30 28 školící místnost Kolinska.Eva 26 MIN čt 12:45-14:15 28 školící místnost Kolinska.Eva 26 MIN pá 11:00-12:30 28 školící místnost Kolinska.Eva 26 MIN pá 09:15-10:45 28 školící místnost Kolinska.Eva 26 MIN út 11:00-12:30 28 školící místnost Kolinska.Eva 14 MIN út 11:00-12:30 28 školící místnost Skoda.Petr 12 MIN út 12:45-14:15 28 školící místnost Kolinska.Eva 14 MIN út 12:45-14:15 18 školící místnost Skoda.Petr 12 MIN út 16:15-17:45 18 školící místnost Svetly.Ondrej 26 MIN út 18:00-19:30 18 školící místnost Svetly.Ondrej 26 MIN út 07:30-09:00 17 zasedací místnost Skoda.Petr 26 MIN út 09:15-10:45 17 zasedací místnost Skoda.Petr 26 MIN čt 07:30-09:00 18 školící místnost Skoda.Petr 26 MIN čt 09:15-10:45 18 školící místnost Skoda.Petr 26 Zadáme primární klíče V tabulce Rozvrh bude primárním klíčem kombinace Ident, Kurz, Doba. Rozdělíme informace do tabulek. Kromě uvedené tabulky Rozvrh využíváme další dvě tabulky: Osoby Struktura i obsah jsou stejné jako v databázi Encian. Předměty Ident Název Anotace MIN1 Manažerská informatika 1 Word, Excel, PowerPoint, OneNote MIN2 Manažerská informatika 2 Project, Visio MIN3 Manažerská informatika 3 Access MIN4 Manažerská informatika 4 Outlook, Office 365, Dynamics CRM Normalizace Ověříme splnění normalizačních pravidel První normální forma V poli Doba jsou data, která lze rozdělit do více polí. Jednotlivé části budeme chtít později využívat zvlášť. Pole Doba proto rozdělíme na pole Den a Čas. Pro další zpracování doplníme dvě tabulky Dny a Časy: Dny Časy Den Den_v Den_p Čas po pondělí 1 07:30-09:00 st středa 2 09:15-10:45 út úterý 3 11:00-12:30 čt čtvrtek 4 12:45-14:15 pá pátek 5 14:30-16:00 16:15-17:45 18:00-19:30 V poli Den_p je pořadí dne pro účely řazení sestav dle chronologie. Druhá normální forma Tabulka obsahuje sloupce, které nejsou závislé na celém klíči. Pole Kapacita závisí na polích Ident a Kurz, nikoliv na klíčových polích tabulky Ident, Kurz, Den, Čas. Vytvoříme tabulku Kurzy, v níž k Identu a Kurzu bude přiřazena Kapacita. Pole Kapacita naopak nebude již součástí tabulky Rozvrh.

36 2 Relace 36 Min Třetí normální forma Existuje závislost mezi neklíčovými poli tabulky. Popis místnosti je závislý na poli Místnost, nikoliv na klíči věty tabulky Rozvrh (Ident, Kurz, Den, Čas). Data o místnostech proto oddělíme do tabulky Místnosti, která bude obsahovat pole Místnost (klíčové pole), Popis, Oddělení a Původní_telefon. Struktura bude tedy shodná s tabulkou Místnosti v databázi Encian. V tabulce Rozvrh zbude pouze pole Místnost. Čtvrtá normální forma Existuje multizávislost, v tabulce Rozvrh jsou dvě skupiny polí:» Ident, Kurz, Den, Čas, Místnost» Osoba, Hodin K první skupině polí je přiřazeno více hodnot druhé skupiny polí. Z tabulky Rozvrh vyčleníme tabulku Vyučující. Tabulky budou obsahovat shodná spojující pole Ident, Kurz, Den, Čas. Tabulka Rozvrh navíc bude obsahovat pole Místnost. Tabulka Vyučující bude navíc obsahovat pole Osoba a Hodin. Doplníme další tabulky. Vytvoříme relace mezi tabulkami. Evidenci chceme sledovat po semestrech. Proto doplníme do databáze tabulku Semestry se dvěma poli: Semestr (kód semestru, např. 2025L) a Semestr_v (vysvětlivka semestru, např. Letní semestr 2024/25). Pole Semestr doplníme jako další klíč do tabulek Kurzy, Rozvrh, Vyučující. Chceme vkládat vyučující z tabulky zaměstnanců firmy Encián. V návrhu použijeme tabulku Osoby se stejnou strukturou jako v databázi Encian. V databázi vytvoříme relace dle obr OBR. 2-7: RELACE V DATABÁZI MIN (ŠKOLENÍ) Min Propojení tabulek V dalším výkladu vyjdeme z připravené databáze Min (školení manažerské informatiky), v níž jsou připraveny uvedené tabulky s výjimkou tabulek Osoby a Místnosti. V databázi Min chceme využívat data z databáze Encian včetně využívání aktuálního stavu dat. Data neimportujeme, ale připravíme propojení tabulek Osoby a Místnosti z databáze Encian: V kartě Externí data klikneme ve skupině IMPORTOVAT A PROPOJIT do tlačítka Access. V dialogovém okně Načíst externí data Databáze aplikace Access vybereme pomocí tlačítka Procházet umístění souboru databáze Enc a vybereme volbu Vytvořit odkaz na zdroj dat vytvořením propojené tabulky. Klikneme do tlačítka OK. V dialogovém okně Propojit tabulky vybereme kliknutím tabulky Osoby a Místnosti a klikneme do tlačítka OK.

37 2 Relace 37 Tabulky jsou zobrazeny v navigačním podokně s ikonou tabulky se šipkou, která naznačuje propojení do jiného zdroje dat. Změny provedené v propojených tabulkách v databázi Encian se zobrazí také v databázi Min. Změny provedené v propojených tabulkách v databázi Min se provádějí do databáze Encian. V databázi Min nelze měnit strukturu propojených tabulek, strukturu lze pouze prohlížet. Vložíme propojené tabulky do relací: Otevřeme relace. Tažením umístíme do diagramu relací tabulku Osoby. Současně se umístila kopie zobrazení tabulky Osoby_1 včetně spojující relace. Tažením umístíme do diagramu relací tabulku Místnosti. Současně se doplnila relace mezi tabulkami Osoby a Místnosti. Tabulky v diagramu relací vhodně umístíme. Tažením pole Místnost z tabulky Místnosti na pole Místnost v tabulce Rozvrh vytvoříme relaci. V relaci propojené tabulky nemůžeme zajistit referenční integritu. 27 Obdobně vytvoříme relaci tažením pole Osoba z tabulky Osoby na pole Osoba v tabulce Vyučující. Access ukládá umístění propojené databáze. Pokud by se změnilo, je nutné tabulky znovu propojit. 28 Ban.xlsx 2.7 Databáze Bankovní účet BAN Vedoucí oddělení marketingu Milan Smetana analyzuje své osobní příjmy a výdaje. Pohyby na osobním účtu stahuje v rámci internetového bankovnictví do tabulky Pohyby v databázi Ban. V následující tabulce jsou uvedena data za únor 2025: Pohyb Zaúčtováno Zpracováno Částka Položka Účet Název_účtu Konst_ symbol ,00 vybráno z ATM 122 XXXXXXXXXXXX ,60 platba kartou supermarket XXXXXXXXXXXX ,00 úhrada z ČS, a.s /0800 Smetanová Jana ,00 TP k úhradě /0100 na účet v jiné bance ,40 platba kartou 0702 Čerpací stanice XXXXXXXXXXXX ,00 spoření/mzda spoření Encián Praha ,00 inkaso SIPO SIPO Česká pošta, s.p ,60 platba kartou 1402 supermarket XXXXXXXXXXXX ,00 úhrada z jiné banky /0100 MŠ Praha ,00 TP k úhradě /7990 na účet v jiné bance ,00 TP k úhradě /7990 na účet v jiné bance ,00 vybráno z ATM 201 XXXXXXXXXXXX ,80 platba kartou 2102 supermarket XXXXXXXXXXXX ,00 vybráno z ATM 122 XXXXXXXXXXXX ,00 TP k úhradě /0100 na účet v jiné bance ,00 TP k úhradě /0100 na účet v jiné bance ,00 vybráno z ATM 122 XXXXXXXXXXXX ,00 za účetní položky pol.: 9 / 5.00 Kč ,00 platba kartou supermarket XXXXXXXXXXXX ,00 za vedení účtu Význam jednotlivých polí: Pohyb: Číslo pohybu, které připraví Access automaticky (tzv. automatické číslo). Pole je nutné pro navázání tabulky, která bude podrobněji analyzovat pohyb na účtu. Pohyby banka v exportu pro zákazníka jednoznačně neidentifikuje. Zaúčtováno: Datum, kdy byl pohyb zaúčtován. Zpravidla je shodné s datem zpracování. V případě platby kartou může být pohyb zpracován později, než byl zaúčtován. V případě příkazu k úhradě může být pohyb naopak zaúčtován později než zpracován. 27 V tabulce Vyučující tak nemůžeme přímo zajistit vkládání učitelů do pole Osoba pouze z tabulky Osoby. Později (v kap. 3 Tabulky) však uvidíme, že je možné vyhledávat vyplňovanou hodnotu ze seznamu a omezit vkládané hodnoty pouze na seznam. 28 Lze také využít nástroj Správce propojených tabulek (podrobněji viz kap ).

38 2 Relace 38 Ban Automaty rozšířené Příkazy rozšířené Zpracováno: Datum, kdy byl pohyb zpracován. Částka: Zaúčtovaná částka. V případě výdajů je záporná. Položka: Textové vyjádření pohybu. Některé typy pohybů zde mají další informace: vybráno z ATM 201: výběr z automatu, kde 201 je číslo automatu TP k úhradě 4: trvalý příkaz k úhradě, kde 4 je číslo trvalého příkazu (před číslem 4 mezery) Účet: Číslo účtu, na nějž je zaslána částka. V případě nákupu je zde název prodejny. V případě inkasa ze sdruženého inkasa plateb obyvatelstva (SIPO) je zde uvedeno tzv. spojovací číslo. Název_účtu: Název účtu, pokud již nebyl uveden v poli Účet. V případě poplatků za vedení účtu je zde uveden stručně způsob výpočtu v pohybu, např. pol. 9/ Kč znamená 9 položek po 10 Kč, tj. za 90 Kč. Konst_symbol, Spec_symbol, Var_symbol1, Var_symbol2: Upřesnění platby (v tabulce je naznačeno jen pole Konst_symbol). V databázi budou další tabulky: Milan Smetana doplňuje do tabulky Detaily podrobnosti k pohybům (výdajům i příjmům). Tabulka Detaily má pouze 4 pole Pohyb (pro spojení s tabulkou Pohyby), Účel, Kategorie (umožňuje kategorizaci výdajů a příjmů), Částka. K jedné větě z tabulky Pohyby může existovat více vět v tabulce Detaily. V tabulce Kategorie budou kategorie účelů výdajů či příjmů uvedených v tabulce Detaily. V poli Charakter je hodnota výdaj nebo příjem. V tabulce Automaty je seznam automatů banky stažený z jejich webových stránek. Pro každý automat je uvedeno jeho jednoznačné číslo, město, ulice a upřesnění umístění automatu. Dále je evidována provozní doba automatu. V tabulce Příkazy jsou uvedeny trvalé příkazy k platbě Milana Smetany. Pro každý příkaz je uvedena vysvětlivka a výše platby. Vzhledem k tomu, že v tabulce Pohyby je v případě výběru z hotovosti uvedeno číslo automatu ve tvaru vybráno z ATM 123, kde 123 je číslo automatu, nelze přímo spojit tabulky Pohyby a Automaty. Za účelem spojení tabulek relací je připraven pomocný dotaz Automaty rozšířené, v němž ke každé větě z tabulky Automaty je doplněno pole Položka. V poli Položka je sečten konstantní text vybráno z ATM a hodnota pole Automat: Položka: "vybráno z ATM " & [Automat] Obdobně je připraven dotaz Příkazy rozšířené, v němž ke každé větě z tabulky Příkazy je doplněno pole Položka. V poli Položka je sečten konstantní text TP k úhradě (včetně 4 mezer za textem) a hodnota pole Příkaz: Položka: "TP k úhradě " & [Příkaz] Tabulky potom můžeme spojit relacemi dle obr OBR. 2-8: RELACE V TABULCE BAN (BANKOVNÍ ÚČET)

39 3 Tabulky 39 3 Tabulky Tvorba tabulky Zobrazení tabulky 3.1 Způsoby tvorby a zobrazení tabulky Tabulky jsou jedním z objektů Accessu. Jsou v nich uložena data. Vztahy mezi tabulkami jsou popsány formou relací. Tabulku můžeme vytvořit několika způsoby: v rámci tvorby součástí aplikace: Access umožňuje rychle zahájit práci s tabulkou vytvořením tabulky včetně doprovodných objektů (dotazy, formuláře, sestavy). Nabízí několik připravených vzorových tabulek bez obsahu. vyplněním prázdné tabulky: Nejprve upřesníme datový typ sloupců a jejich názvy. Potom vyplníme obsah prázdné tabulky. úpravou návrhu tabulky: Můžeme detailně definovat pole tabulky, vlastnosti polí a tabulky. z Excelu či jiného zdroje: Tabulku můžeme importovat ze sešitu Excelu, jiné databáze Accessu nebo jiných zdrojů. jako seznam serveru SharePoint: Tabulka nemusí být uložena přímo v databázi, můžeme ji uložit na serveru SharePoint ať už vytvoříme nový tzv. seznam či využijeme na webu SharePointu dříve vytvořený seznam. S tabulkou můžeme pracovat ve dvou zobrazeních tabulky: návrhové zobrazení: Můžeme v něm měnit strukturu, upřesňovat vlastnosti polí či celé tabulky. zobrazení datového listu: Slouží k prohlížení a editaci dat. Data můžeme v listu řadit, filtrovat, hledat v datech, doplnit základní souhrny dat (např. součty). 3.2 Tvorba tabulky Duv tvorba tabulky v rámci součástí aplikace Tvorba tabulky vytvořením součástí aplikace Pro účely demonstrace různých způsobů tvorby tabulky založíme novou databázi Duv (Důvěrné), v níž budou data o zaměstnancích firmy Encián, která nechceme zveřejňovat: V kartě SOUBOR klikneme do dílčí záložky Nový. Zvolíme vhodné umístění, do pole název souboru zadáme Duv. Vybereme novou prázdnou databázi. Zavřeme tabulku Tabulka1. Postupně využijeme tlačítka ze skupiny TABULKY v kartě VYTVOŘIT. První tabulku vytvoříme na základě šablony Accessu: V kartě VYTVOŘENÍ ve skupině ŠABLONY klikneme do tlačítka Součásti aplikace. V sekci RYCHLÉ ZAHÁJENÍ se nabídne pět variant zahájení Komentáře, Kontakty, Problémy, Úkoly, Uživatelé. Vybereme Kontakty. Vytvořily se objekty: tabulka Kontakty, 1 dotaz, 3 formuláře a 4 sestavy. Dvojitým kliknutím otevřeme tabulku Kontakty. Vyplníme některé sloupce v prvním řádku: Společnost: Encián Příjmení: Novák Jméno: Petr ová adresa: novak.petr@horec.onmicrosoft.com Funkce: ředitel Telefon do zaměstnání: Telefon domů: Mobilní telefon: Číslo faxu: nevyplněno Adresa: Cihlářská 18 Město: Praha 9

40 3 Tabulky 40 Kraj: Hl. m. Praha PSČ: Země: Česká republika Webová stránka: Poznámky: Absolvoval VŠE v Praze. Je testerem ECDL. Přejdeme kliknutím do tlačítka vpravo dole do návrhového zobrazení. Ve struktuře tabulky klikneme do řádku ID a v kartě NÁVRH ve skupině NÁSTROJE klikneme do tlačítka Odstranit řádky. Odsouhlasíme odstranění vybraného pole a primárního klíče. V kartě NÁVRH ve skupině NÁSTROJE klikneme do tlačítka Vložit řádky. Vložíme tak nový řádek, do nějž zapíšeme název pole Osoba a upravíme velikost pole na Do pole Osoba vložíme v první větě hodnotu Novak.Petr. Vrátíme se do návrhového zobrazení a povýšíme pole na klíčové. 30 V kartě NÁVRH ve skupině NÁSTROJE klikneme do tlačítka Primární klíč. Pole Osoba umožní spojit relací 1:1 tabulku Kontakty s tabulkou Osoby v databázi Encian. Návrh tabulky zavřeme s uložením změn. Tvorba tabulky vyplněním prázdné tabulky Tvorba tabulky návrhem tabulky Tvorba tabulky vyplněním prázdné tabulky V tabulce Dovolené budeme evidovat dovolenou zaměstnanců. Tabulku vytvoříme z prázdné tabulky: V kartě VYTVOŘENÉ ve skupině TABULKY klikneme do tlačítka Tabulka. Doplníme sloupce: Krátký text: Osoba Datum a čas: Zahájení Datum a čas: Dokončení Vložíme obsah: Osoba Zahájení Dokončení Novak.Petr Novak.Petr Tabulku nazveme Dovolené. Ve návrhovém zobrazení tabulky odstraníme pole ID. Upravíme délku textového pole Osoba na 20. Za klíčové pole vybereme kombinaci polí Osoba a Zahájení. (Pokud bychom jako klíčové pole vybrali pouze Osobu, mohl by mít zaměstnanec pouze jednu dovolenou.) Při ukládání potvrdíme zkrácení pole Osoba: v dialogovém okně Některá data se můžou ztratit klikneme do tlačítka Ano Tvorba tabulky návrhem tabulky V tabulce Děti budeme evidovat děti zaměstnanců. Tabulku vytvoříme v návrhovém zobrazení: V kartě VYTVOŘENÍ ve skupině TABULKY klikneme do tlačítka Návrh tabulky. Do prvního řádku vyplníme do názvu pole Osoba, v datovém typu ponecháme Krátký text. Délku omezíme na 20 znaků. Do popisu vyplníme Zkrácený účet uživatele. Do druhého řádku vyplníme Jméno_dítěte, v datovém typu ponecháme Krátký text. Délku pole omezíme na 10 znaků. Do popisu vyplníme Křestní jméno dítěte. Tažením ve voliči záznamů označíme obě pole a klikneme do tlačítka Primární klíč. (Pokud bychom jako klíčové pole vybrali pouze Osobu, mohl by mít zaměstnanec pouze jedno dítě. Neřešíme případ, že by zaměstnanec měl dvě děti se stejným jménem, např. pokud by vyženil k dítěti z prvního manželství dítě se stejným jménem z druhého manželství.) Kliknutím do tlačítka v pravém dolním rohu přejdeme do Zobrazení datového listu. Tabulku uložíme pod názvem Děti. 29 Typ nově vkládaného pole lze nastavit v kartě SOUBOR v dílčí kartě Možnosti a v okně Možnosti v kartě Návrháři objektů v poli Výchozí typ pole. Obdobně můžeme nastavit velikost pole ve stejné kartě v poli Výchozí velikost textového pole. 30 Pole jsme mohli přejmenovat přímo při vyplňování první věty. Typ pole můžeme však měnit jen v návrhovém zobrazení.

41 3 Tabulky 41 Pro Petra Nováka doplníme dvě děti Lukáše a Eriku: Osoba Jméno_dítěte Novak.Petr Lukáš Novak.Petr Erika Duv.xlsx Vytvoření seznamu v SharePointu Tvorba tabulky importem z Excelu Do databáze Duv importujeme z Excelu tabulku s daty narození zaměstnanců: V kartě EXTERNÍ DATA ve skupině IMPORTOVAT A PŘIPOJIT klikneme do tlačítka Excel. V okně Vyberte zdroj a cíl dat klikneme do tlačítka Procházet a dohledáme umístění sešitu Excelu Duv.xlsx. Ponecháme vybránu volbu Importovat zdrojová data do nové tabulky v aktuální databázi. Klikneme do tlačítka OK. Ve druhém okně průvodce ponecháme zaškrtnuté pole První řádek obsahuje záhlaví sloupců. V třetím okně průvodce ponecháme názvy a typy importovaných polí. Ve čtvrtém okně vybereme jako primární klíč pole Osoba. V pátém okně ponecháme název tabulky Osoby2 převzatý z názvu listu Excelu. Neuložíme kroky importu Tvorba tabulky uložené v SharePointu Access umožňuje uložit tabulky formou seznamu SharePointu či otevřít již existují seznam SharePointu. SharePoint Online je aplikace pro ukládání podnikových sdílených dat v cloudovém úložišti dat v rámci Office 365. Obsahuje osobní kolekce webů jednotlivých uživatelů (včetně OneDrive pro firmy) a firemní kolekce webů. Nejprve připravíme ve svém OneDrivu pro firmy dílčí web předmětu Manažerská informatika 3 nazvaný dle jeho identu: Do prohlížeče vložíme adresu a přihlásíme se k portálu Office 365. V spouštěči aplikací vybereme aplikaci OneDrive pro firmy. V horizontálním panelu klikneme do tlačítka Nastavení (ozubené kolečko). Do pole Hledat všechna nastavení zapíšeme Obsah webu. Klikneme do odkazu Obsahu webu. V horní nabídce klikneme do volby Nové a vybereme Podřízený web. Na stránce Nový web SharePointu zapíšeme do polí Nadpis a URL ident předmětu 2OP483 a klikneme do tlačítka Vytvořit. Po chvíli se vytvoří dílčí web. Z adresního řádku zkopírujeme do schránky začátek adresy, tj. adresu webu: Pokračujeme v Accessu v databázi Duv: V tabulce Úkoly budeme evidovat úkoly projektu Start, v jehož rámci proběhla rekonstrukce zasedací místnosti 18 firmy Encián na školící počítačovou místnost. Tabulku vytvoříme formou seznamu na serveru SharePoint propojenou s databází Duv. V kartě VYTVOŘENÍ ve skupině TABULKY klikneme do tlačítka Seznamy služby SharePoint. Nabídne se šest typů seznamu Kontakty, Úkoly, Problémy, Události, Vlastní, Existují seznam služby SharePoint. Vybereme typ ÚKOLY. V dialogovém okně Vytvořit nový seznam vyplníme tři pole (viz obr. 3-1): Adresa webu: Zde vložíme adresu ze schránky. Access nám nabízí naposledy použité adresy, můžeme vyplnit novou adresu. V našem případě zadáme adresu z dílčího webu 2OP483 osobní kolekce webů. Dále vyplníme název nového seznamu Ukoly a popis Úkoly projektu Start 31. Ponecháme zaškrtnuté pole Otevřít seznam při dokončení. Na serveru se vytvoří seznam, který je propojen do databáze Accessu. Tabulka Ukoly se otevře. Vyplníme alespoň některá pole první věty: Nadpis: koncepce vybavení místnosti 31 Název Úkoly jsme zapsali bez čárky, aby výsledná webová adresa pro práci se seznamem byla přehledná.

42 3 Tabulky 42 OBR. 3-1: DIALOGOVÉ OKNO VYTVOŘIT NOVÝ SEZNAM Úkoly Priorita: (2) Normální Stav: Nezahájeno Datum zahájení: Termín splnění: Tabulku Ukoly v Accessu zavřeme a přejmenujeme příkazem PŘEJMENOVAT z místní nabídky názvu na název Úkoly. Do databáze Accessu se propojil seznam informací o uživatelích týmového webu UserInfo. Seznam Ukoly můžeme zobrazit ve webovém prostředí SharePointu, které čerpá z uložených dat. Můžeme upravovat věty či přidávat nové ve webovém prostředí či v Accessu. Data se ukládají v databázi SharePointu. V prohlížeči otevřeme příslušný web SharePointu ( V SharePointu přejmenujeme seznam. Ze zobrazení seznamu klikneme v kartě SEZNAM ve skupině NASTAVENÍ do tlačítka Nastavení seznamu. Ve skupině OBECNÉ NASTAVENÍ klikneme do odkazu Nadpis, popis a cesta k seznamu. Upravíme hodnotu pole Název z Ukoly na Úkoly a klikneme do tlačítka Uložit. V horní části klikneme do názvu seznamu Úkoly. V SharePointu můžeme připravit účelová zobrazení Úkoly. Vytvoříme např. zobrazení Projekt, v němž budou zobrazena námi vyplněná pole (viz obr. 3-2). OBR. 3-2: ZOBRAZENÍ PROJEKT TABULKY ÚKOLY V SHAREPOINTU 32 Pole Hotovo (%), Přiřazeno, Skupina úkolů. Popis. Přílohy nevyplníme.

43 3 Tabulky 43 Připojení k existujícímu seznamu SharePointu Export tabulky z Accessu do SharePointu Obdobně bychom mohli vytvořit vlastní seznam, který by po založení obsahoval pouze pole ID, Nadpis, Přílohy. Strukturu seznamu bychom mohli upravit v SharePointu 33. Z Accessu se můžeme propojit i na existující seznam SharePointu: V kartě VYTVOŘENÍ Ve skupině TABULKY klikneme do tlačítka Seznamy služby SharePoint a vybereme Existující seznam služby SharePoint. Zadáme, ze kterého serveru seznam čerpáme, zda jej importujeme či propojíme. V dalším dialogovém okně se zobrazí seznam tabulek serveru, v němž můžeme zaškrtnout další tabulky k propojení či importu. Můžeme také exportovat seznam z Accessu do SharePointu. Otevřeme tabulku Děti. Na kartě EXTERNÍ DATA ve skupině EXPORTOVAT klikneme do tlačítka Další a vybereme volbu Seznam služby SharePoint. V dialogovém okně Exportovat data do seznamu SharePoint vybereme web, ponecháme název seznamu Děti, doplníme popis Děti zaměstnanců firmy Encián. Z tabulky se vytvoří seznam, který se zobrazí v datovém listu SharePointu. Tabulka je v tomto případě exportována, není propojena s tabulkou Accessu. Pozdější změny seznamu SharePointu se nepromítnou do Accessu ani naopak. 3.3 Návrhové zobrazení Enc Definice pole Typy polí V kap. 1 jsme se nezabývali detailně strukturou tabulek. Strukturu tabulek jsme tvořili převážně importem z Excelu. Upřesněme pro ilustraci definici struktury tabulky Osoby z databáze Encian. Otevřeme databázi Enc2, v navigačním podokně klikneme pravým tlačítkem do tabulky Osoby a z místní nabídky vybereme NÁVRHOVÉ ZOBRAZENÍ (nebo otevřeme tabulku a klikneme vpravo dole do tlačítka Návrhové zobrazení). Struktura tabulky se zobrazí ve třech sloupcích (v obr. 3-3 jsou již provedeny úpravy struktury tabulky): Název pole: Název pole se může skládat až z 64 znaků (písmen, číslic, mezer, pomlček). Pokud název obsahuje mezery, je vhodné (z důvodu pozdějších složitějších výrazů tvořených z polí) nahradit je podtržítky. Datový typ: Typ značně ovlivňuje způsob uložení dat v databázi a nabídku operací, které lze s polem později provádět. Typ zapíšeme (většinou stačí zapsat první písmeno) nebo vybereme z nabídky, kterou zobrazíme kliknutím do tlačítka na konci sloupce v řádku příslušného pole. Access nabízí několik datových typů: Krátký text: Používá se pro text a čísla, s nimiž nebudou prováděny výpočty. Délka textu může být maximálně 255 znaků. Dlouhý text: Dlouhý text, který může být formátován. Délka textu je prakticky neomezená (1 024 milióny znaků). Podle pole typu Dlouhý text nelze řadit. Datový typ Dlouhý text využijeme v tabulce Osoby v poli Charakteristika. Číslo: Číslo (zejména, jsou-li s ním prováděny výpočty). Měna: Modifikace číselné hodnoty. Zobrazuje navíc měnovou jednotku. 34 Automatické číslo: Je automaticky doplňováno Accessem při vložení nové věty. Používá se ke generování hodnoty primárního klíče. Pokud později větu odstraníme, číslo již není použito, řada není souvislá. 33 V SharePointu můžeme upravit i strukturu seznamu Úkoly. Seznam měl však již při založení připravena pole typická pro úkoly. 34 Měnová jednotka je převzata z nastavení Windows. Lze ji tedy změnit volbami Start, Nastavení, Čas a jazyky, Další možnosti pro datum, čas a místní nastavení, Oblast, Změnit datum, čas nebo formáty čísel. dvojitým kliknutím na tlačítko Další nastavení. V dialogovém okně Vlastní formát v kartě Měna můžeme nastavit měnu obvyklou v oblasti vybrané ve Windows. Měna platí od dalšího spuštění Accessu a to pro nově vytvářené pole typu Měna. V databázi mohou být pro různá pole využity různé měny. Měny se ukládají do vlastnosti Formát příslušného pole.

44 3 Tabulky 44 OBR. 3-3: STRUKTURA TABULKY OSOBY Kauzální analýza.docx Kauzální analýza anotace.docx Datum a čas: Kalendářní datum a čas. Datum se ukládá jako sériové číslo dne stejně jako v Excelu (pořadí od počátku 20. století, přesněji počet dnů, které uplynuly od ), čas se ukládá jako desetinná část dne (zlomek 24 hodin). Zabraňuje vložení neexistujícího data. Umožňuje výpočty. (Např. rozdílem dvou dat je počet dní mezi daty.) Ano/ne: Připouští pouze uložení hodnoty pouze ano nebo ne. Datový typ Ano/Ne využijeme v tabulce Osoby v poli Oprávnění. Objekt OLE: Do pole je možné vložit objekt jiného programu. Datový typ OLE využijeme v tabulce Osoby v poli Foto. Hypertextový odkaz: Používá se k uložení hypertextových odkazů. Adresa odkazu se skládá ze čtyř částí oddělených mřížkami:» zobrazený text,» adresa,» podadresa,» nápovědný text. Pokud je uvedena jen jedna část, je považována za zobrazený text i adresu. Příloha: Umožňuje uložit do věty soubory, např. textové dokumenty. Pole typu Příloha doplníme do tabulky Programy. Nazveme je Produktový_list. K programu KAU vložíme soubory Kauzální analýza.docx a Kauzální analýza anotace.docx:» Dvojitě klikneme na sponku ve sloupci přílohy.» V dialogovém okně Přílohy klikneme do tlačítka Přidat a dohledáme dokument (viz obr. 3-4).» Počet připojených příloh je uveden za sponkou.

45 3 Tabulky 45» Přílohy můžeme otevírat či ukládat jako samostatný soubor. OBR. 3-4: PŘÍLOHY Počítané: Pole je počítáno výrazem z dalších polí. Výrazy mohou obsahovat jen vybrané funkce. 35 Dvě počítaná pole doplníme na závěr struktury tabulky Podniky. Z pole GPS vypočteme zeměpisnou šířku a délku: Šířka: Left([GPS];2) & "," & Mid([GPS];4;7) Délka: Mid([GPS];14;2) & "," & Mid([GPS];17;7) Funkce Mid vyřízne z pole v 1. argumentu od pozice v 2. argumentu počet znaků uvedený v 3. argumentu. K zápisu výrazu využijeme tvůrce výrazu (podrobněji viz kap. 4.2). Průvodce vyhledáváním: Nejedná se o datový typ. Spouští Průvodce vyhledáváním, který umožňuje vytvořit pole se seznamem k vyhledání hodnot v jiné tabulce či výsledku dotazu. Popis: Popis není povinný, usnadňuje porozumění významu polí. Popis má význam pro tvůrce databáze (pozdější změny struktury tabulky) i pro uživatele (popis je zobrazován ve stavovém řádku Accessu). Výraz Typ výsledku Velikost textového pole Obecné vlastnosti polí Každé pole má ve spodním podokně definovány vlastnosti. Přesun kurzoru do spodní části lze provést kliknutím myší nebo stisknutím klávesy F6. 36 Vlastnosti jsou ve dvou kartách: Obecný: obecné vlastnosti, Vyhledávání: vyhledávací vlastnosti. Různé typy polí mají dostupné různé obecné vlastnosti (viz obr. 3-5). K jednotlivým vlastnostem: Výraz určuje, jak se vypočte počítané pole. Ve výrazu lze použít pouze vybrané funkce. Je vhodné používat Tvůrce výrazů. Typ výsledku určuje, jak bude zobrazen výsledek výrazu. V tabule Podniky zobrazíme Šířku i Délku jako desetinné číslo. Velikost pole pro textové pole udává počet znaků, který maximálně připouštíme vyplnit v poli. V tabulce Osoby zadáme hodnoty Velikost pole: Osoba: 20 Příjmení: 15 Místnost: 3 Titul1: 10 Titul2: 7 Oddělení: 3 Jméno: 10 Pohlaví: 1 Nadřízený: 20 V případě nedostatku místa pro texty můžeme velikost textového pole později zvětšit. Naopak zmenšení velikosti může vést k utržení konců textů, tj. ke ztrátě již vložených dat. Minimální únosnou velikost textového pole v poli s naplněnými větami můžeme zjistit dotazem, v němž vytvoříme sloupec Délka: Len(Pole) seřazený sestupně. 35 Funkce je vhodné vybírat z nabídky funkcí v Tvůrci výrazu, který nabízí jen dostupné funkce. 36 Dalším stisknutím klávesy F6 se přesune kurzor do navigačního podokna, dalším stisknutím se přesune do pásu karet. Teprve následujícím stisknutím se vrátí zpět do podokna vlastností tabulky.

46 Krátký text Dlouhý text Číslo Měna Autom. číslo Datum a čas Ano/ne Objekt OLE Hypertext Příloha Počítané 3 Tabulky 46 OBR. 3-5: VLASTNOSTI DLE TYPU POLÍ Vlastnost Výraz Typ výsledku Velikost pole Nové hodnoty Formát Přesnost * Měřítko * Počet desetinných míst Vstupní maska Titulek Výchozí hodnota Ověřovací pravidlo Ověřovací text Je nutno zadat Povolit nulovou délku Indexovat Komprese kódu Unicode Režim editoru IME Větrný režim editor IME Formát text Zarovnání textu Zobrazit výběr data Pouze přidat * pouze pro desetinná čísla další vlastnosti dle typu výsledku Velikost číselného pole Velikost pole pro číslo udává rozsah velikosti a přesnosti čísla dle obr OBR. 3-6: VARIANTY VELIKOSTI POLE TYPU ČÍSLO Velikost pole Rozsah Desetinných míst Velikost Bajt <0;255> 0 1 byte Celé číslo < 32768;32767> 0 2 byty Dlouhé celé číslo < 2,1*10 9 ;2,1*10 9 > 0 4 byty Jednoduchá přesnost < 3,4*10 38 ;3,4*10 38 > 7 platných číslic 4 byty Dvojitá přesnost < 1,8*10 9 ;1,8*10 9 > 15 platných číslic 8 bytů Desetinné číslo < 9,9*10 27 ;9,9*10 27 > 12 bytů Menší velikost pole urychluje práci s databází a snižuje nároky na velikost databáze Do pole o velikosti 1 bit [vysloveno bit] by se vešla informace 0 nebo 1 (ne či ano). Pokud bychom sdružili dva bity, můžeme zaznamenat čtyři kombinace 00, 01, 10, 11, tj. obecně 2 n, kde n je počet sdružených bitů. Můžeme tak zaznamenat celá čísla <0; 2 n 1>. Byte [bajt] sdružuje 8 bitů, můžeme zaznamenat 2 8 = 256 kombinaci, tj. celá čísla v intervalu <0; 255>. Pro Velikost pole o hodnotě Celá čísla vyhrazujeme 1 ze 16 bitů na znaménko, tj. můžeme zaznamenat celá čísla z intervalu < 2 15 ; >. Zvýšením počtu bytů se zvyšuje rozsah čísla nebo jeho přesnost. Pro velká a desetinná čísla se ukládá do části bitů mantisa a do části bitů exponent. 38 Typ Jednoduchá přesnost má velikost uložení stejnou jako Dlouhé celé číslo (4 byty). Typ Jednoduchá přesnost má sice větší rozsah, avšak menší přesnost čísla. Např. číslo bude v poli typu Jednoduchá přesnost uloženo jako

47 3 Tabulky 47 Nové hodnoty Formát Přesnost a měřítko Počet desetinných míst V tabulce Osoby upravíme Velikost pole číselného pole Úvazek na Desetinné číslo. Zároveň však do vlastnosti Měřítko zadáme hodnotu 3. (Jinak bychom anulovali úvazek ve výši 0,5.) Výchozí velikost pro textová a číselná pole můžeme určit. V kartě SOUBOR klikneme do dílčí karty Možnosti. V dialogovém okně Možnosti aplikace Access v kartě Návrháři objektů v sekci NÁVRH ZOBRAZENÍ TABULKY v polích Výchozí velikost textového pole a Výchozí velikost číselného pole. Vlastnost Nové hodnoty je dostupná jen pro pole typu Automatické číslo. Má pouze dvě varianty vyplnění: Přírůstek: První věta má hodnotu 1, další nové věty mají hodnotu o 1 větší než předchozí věta. Při odstranění věty zůstane původní číslo nevyužito. Náhodný: Větě je přiřazena náhodná hodnota dlouhých celých čísel, tj. celá čísla z intervalu < ; >. Formát: Ovlivňuje pouze způsob zobrazení dat. Nemá vliv na to, jakým způsobem jsou data uložena. Pro některé datové typy nabízí Access předdefinované formáty, pro všechny datové typy s výjimkou typů Objekt OLE a Příloha můžeme tvořit vlastní formáty: Pro datové typy Krátký text a Dlouhý text nenabízí Access předdefinované formáty. Po importu z Excelu je pro textová a memo pole uveden který zobrazuje vložený text. Pro pole Titul1 zapíšeme který vypíše pro vyplněné pole text vložený do pole (zástupný pro nevyplněné pole (ať už nevyplněné nebo vyplněné řetězcem "", tj. řetězcem nulové délky) vypíše slovo žádný. Stejnou hodnotou formátu vyplníme pro pole Titul2. Pro číselná pole nabízí Access běžné formáty (obecné číslo, měna, Euro, pevný, standardní, procenta, vědecký). 39 Pro pole Úvazek vybereme formát procenta. V zobrazení datového listu jsou potom zobrazeny hodnoty pole Úvazek vynásobené 100 a doplněné znakem %. Do pole nadále vkládáme hodnoty ve tvaru 1 při plném úvazku, můžeme však také zadat 100 %, které Access uloží jako hodnotu 1. Pro pole typu Ano/ne Access nabízí tři způsoby zobrazení hodnoty (Pravda/Nepravda, Ano/Ne, Zapnuto/Vypnuto). Abychom mohli ověřit funkčnost formátu, je nutné v kartě Vyhledávání zvolit v poli Zobrazit ovládací prvek hodnotu Pole se seznamem. V tabulce Osoby chceme měnit barvu pole Oprávnění podle zadaných hodnot. Zadáme proto formát ;"oprávněn"[zelená];"neoprávněn"[červená] (včetně počátečního středníku). Parametr před středníkem není nikdy funkční, po středníku zadáváme text, který se zobrazí při hodnotě ano, po dalším středníku text zobrazený při hodnotě ne. Navíc jsme doplnili barevné odlišení hodnot. Po prohlédnutí vrátíme v kartě Vyhledávání do pole Zobrazit ovládací prvek hodnotu Zaškrtávací políčko. Vlastnosti Přesnost a Měřítko lze zadat pouze pro desetinná čísla. Přesnost udává celkový počet číslic napravo i nalevo od desetinné čárky, které lze ukládat. Měřítko upřesňuje počet číslic, které lze ukládat napravo od desetinné čárky. Pro číselné pole Úvazek zadáme hodnotu Přesnosti 4, Měřítka 3. Nemůžeme potom vložit dvou a víceciferná čísla (Access ohlásí chybu) ani čísla s větším počtem desetinných míst než 3 (Access další číslice neakceptuje). Formát procent ovlivňuje pouze zobrazování, můžeme proto vložit úvazek jen s přesností na desetiny procent a to nejvýše 999,9 %. Počet desetinných míst: Vlastností můžeme pro vhodná číselná pole nastavit počet zobrazovaných desetinných míst. Zároveň však musíme do vlastnosti Formát vybrat Pevný nebo Procenta. Pozor při modifikaci velikosti číselných polí. Je-li nově zvolené nastavení nedostatečné pro existující uložené hodnoty, zobrazí se při ukládání tabulky varování. Po jeho odsouhlasení tlačítkem Ano jsou příliš velká čísla vymazána. Při definici relací mezi tabulkami musí být odpovídající si pole stejného typu a velikosti. Navíc může být pole v jedné tabulce typu Automatické číslo, v druhé tabulce odpovídající pole typu Číslo, musí být však velikosti Dlouhé celé číslo. 39 Další formáty si může připravit uživatel, např. ve tvaru 0,0 nebo 0,0%.

48 Velikost pole Formát Přesnost Měřítko Desetinných míst Vložená hodnota Ukládaná hodnota Zobrazená hodnota 3 Tabulky 48 Pro číselné pole Úvazek zadáme hodnotu 0, aby se procentuální vyjádření vypisovalo bez desetinné části procent. 40 Pokud bychom Úvazek nezobrazovali ve formátu procent, ale pevném, museli bychom při stejné podrobnosti zobrazení zadat do vlastnosti Počet desetinných míst hodnotu 2. Další příklady jsou uvedeny v obr. 3-7 na příkladu pole Šířka v první větě tabulky Podniky. Pro pole Šířka i Délka nastavíme vlastnosti: Typ výsledku: desetinné číslo Přesnost: 9 Měřítko: 7 Desetinné číslo: 6 OBR. 3-7: VARIANTY UKLÁDANÝCH A ZOBRAZOVANÝCH HODNOT ČÍSLA obecné automat. 49, číslo 3 49, automat. 49,19 standardní* desetinné 3 49, , , číslo automat. 49,19 pevný 3 49,188 automat. 4918,77% procento ,773% *Standardní formát zobrazuje mezi tisíci a jednotkami mezeru. Vstupní maska Vstupní maska: Vlastností můžeme pro textová a číselná pole usnadnit zadávání dat a kontrolovat hodnoty, které povolíme zadávat. Využíváme zástupné znaky (viz obr. 3-8). OBR. 3-8: ZNAKY ZASTUPUJÍCÍ JEDNOTLIVÉ POZICE VE VSTUPNÍ MASCE Povinné Nepovinné Význam 0 9 číslice nebo mezera (znaménka nepovolena) # číslice, mezera nebo znaménka L? písmeno (A až Z) A a písmeno nebo číslice & C libovolný znak nebo mezera, desetinná čárka (např. maska 0,099 automaticky po vložení první číslice vloží desetinnou čárku) > následující znaky se zobrazí jako velká písmena < následující znaky se zobrazí jako malá písmena "text" 41 zobrazí text v uvozovkách \p zobrazí písmeno za lomítkem heslo místo vkládaných hodnot se zobrazují hvězdičky Vstupní maska umožňuje některé vkládané znaky omezit na číslice nebo naopak na písmena, umožňuje také některé znaky automaticky vkládat, aniž by je uživatel musel editovat. Vstupní 40 Pokud chceme, aby se akceptoval počet desetinných míst nastavených ve vlastnosti Formát, musíme ponechat ve vlastnosti Počet desetinných míst nastavení automatický. (Pokud bychom zadali Formát o hodnotě 0% a Počet desetinných míst o hodnotě 2, zobrazovala by se dvě desetinná místa. Při formátu 0% a vlastnosti Počtu desetinných míst o hodnotě automatický by se zobrazovala pouze celá část procent.) 41 Text bude zobrazen pouze při vkládání hodnoty. V případě, že bychom chtěli zobrazovat text v tabulce, museli bychom text vložit také do formátu.

49 3 Tabulky 49 Titulek masku tvoří řetězec zástupných znaků. Na pozicích zastoupených znaky ze sloupce povinné musí uživatel zapsat stanovený znak. Na pozicích zastoupených znaky ze sloupce nepovinné může uživatel zapsat jen stanovený znak nebo pozici nevyužít. V tabulce Osoby zadáme vstupní masky: Osoba: Maska ACCCCCCCCCCCCCCCCCCC umožňuje na začátku u zadat jedině písmeno nebo číslici, na dalších pozicích libovolné znaky. Text pole Osoba může být dlouhý 1 až 20 znaků. Jméno: Maska >L<L???????? umožňuje zadat ve jménu pouze písmena. Jméno může být dlouhé 2 až 10 znaků. První písmeno se automaticky zapisuje jako velké písmeno, ostatní jako malá písmena. Příjmení: Maska >L<L????????????? umožňuje zadat v příjmení pouze písmena. Příjmení může být dlouhé 2 až 15 znaků. První písmeno se automaticky zapisuje jako velké písmeno, ostatní jako malá písmena. Bohužel neexistuje zástupný znak, který by ukončil zobrazování textu velkými či malými písmeny. Nemůžeme proto např. požadovat, aby první písmeno bylo velké, další velká či malá. Po vyzkoušení odstraníme z polí tabulky Osoby vstupní masky, které by nám komplikovaly demonstraci dalších vlastností. V tabulce Podniky zadáme vstupní masky: PSČ: Maska zajistí automatické vložení mezery po třetím znaku. 42 Pole PSČ musí být textové. Access upraví vstupní masku na tvar 000\ 00. (Znak za obráceným lomítkem je zobrazen vždy jako znak, není chápán jako zástupný znak.) Telefon: Maska zajistí automatické vložení znaménka plus na začátek mezinárodního tvaru telefonního čísla, dále musíme zapsat tři číslice (např. 420 pro Českou republiku), na další pozici se vloží pomlčka, za níž musíme napsat tři trojice číslic. Access upraví vstupní masku na tvar \+000\-000\ 000\ 000 Vstupní maska může mít další dva doplňující parametry oddělené středníkem: Druhý parametr určuje, zda se při zadávání dat ukládají zobrazované znaky do tabulky. Použijeme-li pro tento parametr hodnotu 0, všechny zobrazované znaky (například počáteční plus ve vstupní masce telefonního čísla) se uloží spolu s hodnotou. Zadáme-li hodnotu 1 nebo ponecháme-li tuto volbu prázdnou, ukládají se pouze znaky, které byly do pole napsány. Pro obě masky v tabulce Podniky zapíšeme druhý parametr 0. Třetí parametr určuje znak, který se zobrazí místo mezery, do které bychom měli ve vstupní masce napsat znak. Jako třetí parametr je možné použít libovolný znak. Chceme-li zobrazit prázdný řetězec, použijeme mezeru uzavřenou v uvozovkách (" "). V tabulce Osoby bychom mohli např. doplnit vstupní masku pole Jméno na tvar: >L<L????????;0;"." Pokud pro pole definujeme jak zobrazovací formát, tak vstupní masku, použije se vstupní maska při zadávání nebo úpravě dat, zatímco nastavení vlastnosti Formát určuje způsob zobrazení dat po uložení záznamu. Vlastnosti Formát a Vstupní maska mohou být i v rozporu. Např. když bychom pro Zahájení v tabulce Cesty zadali hodnoty: Formát: datum (střední) Vstupní maska: ;0;_. Zadávali bychom potom hodnotu a zobrazila by se hodnota 13-Ied-25. Titulek (využitelný pro všechny datové typy): Text, který bude použit pro nadpisy sloupců v zobrazení datového listu a bude prvotně nabídnut jako popisek pole ve formulářích a sestavách. 43 V tabulce Osoby zadáme vlastnost Titulek pro pole: Osoba: Zaměstnanec, 42 Přípravu masky si lze usnadnit Průvodcem vstupní maskou, kterého lze vyvolat kliknutím do tlačítka Tvůrce na konci řádku vlastnosti Vstupní maska. Do seznamu připravených masek lze doplnit další např. masku pro zadávání telefonního čísla dle konvencí ČR. 43 Popis se na rozdíl od titulku zobrazuje ve stavovém řádku.

50 3 Tabulky 50 Výchozí hodnota Ověřovací pravidlo Ověřovací text Nutnost zadat Nulová délka Indexování Titul1: Titul před jménem, Titul2: Titul za jménem, Oprávnění: Oprávnění fakturovat. Výchozí hodnota (využitelná pro všechny datové typy s výjimkou automatického čísla, objektu OLE a přílohy): Výchozí hodnota bude automaticky vyplněna do nových vět. (Nastavení výchozí hodnoty neovlivní již zapsaná data.) V tabulce Osoby zadáme výchozí hodnotu: pro pole Pohlaví: M (muž), pro pole Úvazek: 1 (100 %, výchozí hodnota číselných hodnot je prvotně nastavena na 0). V tabulce Faktury zadáme výchozí hodnotu: pro pole Datum: =Date(), což je obecné vyjádření aktuálního data. Při vkládání dat do nové věty je prvotně vloženo aktuální datum, které můžeme přepsat. Ověřovací pravidlo (využitelné pro všechny datové typy s výjimkou automatického čísla, objektu OLE a přílohy): Při vkládání dat Access automaticky ověřuje zadané hodnoty dle typu dat, např. nedovolí zadat text do pole typu Číslo. Ověřovací pravidla mohou kontrolu zpřísnit. Kliknutím do tlačítka na konci řádku zadávání pravidla můžeme vyvolat Tvůrce výrazů 44, který usnadní zápis pravidla. Pro tabulku Osoby zadáme následující ověřovací pravidla: pro pole Pohlaví: M or Z (pohlaví musí nabývat hodnotu M nebo Z), pro pole Úvazek: >=0 And <=1 (nepřipouštíme větší úvazek než 100 %). Pro tabulku Faktury zadáme ověřovací pravidlo: pro pole Datum: <=Date() (nutno zadat menší nebo stejné datum jako aktuální, není možné zapsat fakturu s datem pozdějším než aktuálním). Po zadání ověřovacího pravidla a uložení struktury tabulky Access může (po souhlasu uživatele) prověřit stávající obsah tabulky. Pokud některá věta nevyhovuje, Access na to upozorní (např. na faktury s datem pozdějším než aktuální). Nevyhovující věty však ani neodstraní, ani neopraví. Jestliže však nově zadaná hodnota nesplní podmínku, objeví se chybové hlášení a větu není možné uložit. Stávající věty v tabulce můžeme také zkontrolovat, když v kartě NÁVRH ve skupině NÁSTROJE klikneme do tlačítka Testovat ověřovací pravidla. Ověřovací text (využitelný pro všechny datové typy s výjimkou automatického čísla, objektu OLE a přílohy): Text chybového hlášení po nesplnění podmínky ověřovacího pravidla můžeme sami nadefinovat. Pro tabulku Osoby definujeme texty: pro pole Pohlaví: Do pole Pohlaví lze zadat pouze M (muž) nebo Z (žena)! pro pole Úvazek: Do pole Úvazek lze zadat pouze hodnoty z intervalu <0;1>! Pro tabulku Faktury definujeme text: pro pole Datum: Datum faktury nesmí být pozdější než dnešní! Je nutno zadat (využitelné pro všechny datové typy s výjimkou automatického čísla a ano/ne): Volbou Ano můžeme vyžadovat vždy zadání hodnoty. Access nedovolí pokračovat v editaci další věty, pokud ponecháme pole prázdné. V tabulce Osoby takto zpřísníme zadávání polí Jméno a Příjmení. Pole Jméno může být dočasně nevyplněné. Access rozlišuje mezi prázdnými hodnotami (nevyplněná hodnota) a texty nulové délky. Text nulové délky se zapisuje jako dvojice uvozovek "" bez mezery mezi uvozovkami. Textem nulové délky zapisujeme, že jsme neopomněli pole vyplnit, avšak vyplnili jsme je pouze textem nulové délky. Povolit nulovou délku (využitelné pro krátké i dlouhé texty pole a hypertextové odkazy): Možnost zakázat vyplnění pole textem nulové délky. V tabulce Osoby pro pole Příjmení zadáme hodnotu Ne, aby nebylo možné vložit do pole text nulové délky. Textem nulové délky splníme nutnost zadat. Indexovat: Indexováním (textového, číselného, datumového nebo ano/ne) pole můžeme urychlit řazení či vyhledávání dle hodnot obsahu. Jsou tři možnosti nastavení indexování: ne: Výchozí hodnota. Index se nevytvoří. 44 Tvůrce výrazů poznáme podrobněji při konstrukci dotazů v kap. 4.2.

51 3 Tabulky 51 ano (duplicita povolena): Vytvoří se index pro pole. ano (bez duplicity): Vytvoří se jedinečný index. Do pole nelze zadat duplicitní hodnoty. V tabulce Osoby jsme vytvořili pro jedinečné pole Osoba primární klíč. Pole, které tvoří primární klíč, je již zbytečné indexovat. Vzhledem k tomu, že každý zaměstnanec má svou telefonní linku, aplikujeme index ano (bez duplicity) na pole Telefon. Zajistíme tak, abychom nevložili stejný telefon pro různé zaměstnance. Indexy zavedené v tabulce lze snadno vypsat v přehledné tabulce v samostatném dialogovém okně. Zobrazíme návrh tabulky. V kartě NÁVRH ve skupině ZOBRAZIT ČI SKRÝT klikneme do tlačítka Indexy. V tabulce indexů můžeme definovat i klíč skládající se z více položek. V tabulce Cesty zapíšeme do tabulky indexů index s názvem Cesta obsahující pole Zahájení, Dokončení a Místo (viz obr. 3-9). Nemůžeme tak zadat služební cestu, která by měla pole Zahájení, Dokončení a Místo shodné s jinou služební cestou, i když by byla v polích Rok a Cesta identifikována odlišně. OBR. 3-9: DIALOGOVÉ OKNO INDEXY Komprese kódu Zarovnání textu Index doplníme také do tabulky Podniky. Zde je již index nachystán pro pole Bankovní_kód, neboť název pole obsahuje slovo kód 45. Označíme index kliknutím do voliče záznamů a odstraníme klávesou Delete. Naopak doplníme index Účet s poli Bankovní_účet a Bankovní_kód. Index bude jedinečný, čímž zabráníme vložení stejného čísla bankovního účtu v kombinaci s bankovním kódem pro dva různé podniky. Dále doplníme index Název_podniku pro pole Název_podniku. Index bude jedinečný, čímž zabráníme vložení stejného názvu pro dva různé podniky. Komprese kódu Unicode (využitelné pro typy krátký text, dlouhý text a hypertextový odkaz): Access používá k uložení dat v polích typu krátký text, dlouhý text a hypertextový odkaz kódové schéma Unicode, v němž je každý znak uložen do dvou bytů ( variant) na rozdíl od kódování Latin, které ukládalo znak do jednoho bytu (256 variant). Unicode podporuje nejen základní evropské jazyky, ale také řečtinu, ruštinu, asijské jazyky. Většinou však pracujeme s běžnými písmeny (anglickými a českými) a vystačíme s uložením písmen do jednoho bytu. Je proto vhodné zapnout kompresi kódu Unicode, aby každý znak byl uložen v jednom bytu. Vlastnosti Režim editoru IME a Větrný režim editoru IME řídí převod znaků a převod vět ve východoasijských verzích Windows. 46 Zarovnání textu (pro všechny datové typy s výjimkou příloh): Hodnoty polí jsou zarovnány ve sloupcích datového listu standardně dle typu pole (zleva s výjimkou čísla, měny, automatického čísla, data a času, ano/ne, které jsou zarovnány zprava). Výchozí obecné zarovnání můžeme změnit na zarovnání Vlevo, Střed, Vpravo, Rozmístit. Zarovnání Rozmístit rozmístí znaky hodnoty pole tak, aby vyplnilo celou šířku sloupce. V tabulce Osoby upravíme zarovnání textu: pole Pohlaví: Střed, pole Oprávnění: Vlevo. 45 Slova, která způsobí automaticky indexování, lze nastavit v kartě SOUBOR v dílčí kartě Možnosti a v okně Možnosti v kartě Návrháři objektů v sekci NÁVRHOVÉ ZOBRAZENÍ TABULKY v poli Automaticky indexovat při importu či vytváření. 46 IME (Input Method Editor) je program, který převádí stisknuté klávesy na asijské znaky a umožňuje tak zadávat do aplikací asijský text. Editor IME je součástí jazykových verzí sady Microsoft Office pro zjednodušenou čínštinu, tradiční čínštinu, japonštinu a korejštinu.

52 3 Tabulky 52 Výběr data Formát textu Pouze přidat Zobrazit výběr data (pouze pro datum a čas): Umožňuje potlačit zobrazení tlačítka kalendáře pro pole typu datum a čas. Kliknutím do tlačítka kalendáře se zobrazí kalendář, v němž můžeme vybrat datum. Lze v něm snadno listovat mezi jednotlivými měsíci. Formát textu (pouze pro dlouhé texty): Pokud místo hodnoty Prostý text vybereme RTF, budeme moci formátovat text v poli. V tabulce Osoby zadáme RTF do vlastnosti Formát textu pole Charakteristika. Dvojitým kliknutím označíme charakteristiku Petra Nováka přemýšlivý. Formát můžeme měnit v kartě DOMŮ ve skupině PÍSMO nebo v minipanelu, který se zobrazí u pole Charakteristika. Charakteristiky pozitivní (dochvilná, přemýšlivý, systematická, vynalézavý, pracovitý) zvýrazníme tučně, negativní charakteristiky (panovačný, nedochvilný, unavená, rozčílená) zvýrazníme kurzívou. Pouze přidat (pouze pro dlouhé texty a hypertextový odkaz): Pokud nastavíme vlastnost na hodnotu Ano, zaznamenává se historie hodnot pole. Historii pole zobrazíme kliknutím pravým tlačítkem myši na hodnotu pole a výběrem příkazu ZOBRAZIT HISTORII SLOUPCE. Změnou vlastnosti na hodnotu Ne historii hodnot vymažeme. V tabulce Osoby nastavíme hodnotu vlastnosti Pouze přidat pro pole Charakteristika. Změníme charakteristiku Ondřeje Světlého z hodnoty smutný na pesimista a potom na skeptik. Zobrazíme jejich historii z místní nabídky. V historii je pro každou změnu uveden čas a nová hodnota Vyhledávací vlastnosti polí Další vlastnosti pole můžeme upřesnit v kartě Vyhledávání. Zde můžeme určit typ ovládacího prvku, který se použije v datovém listu i nově připravovaném formuláři (viz kap. 5). Tuto vlastnosti budeme ilustrovat v tabulce Osoby na poli Pohlaví (viz obr. 3-10). OBR. 3-10: VYHLEDÁVÁNÍ PRO POLE POHLAVÍ Ovládací prvek Typ zdroje řádků Zdroj řádků V řádku Zobrazit ovládací prvek můžeme vybírat ze tří možností: Textové pole: Standardní nastavení, které nenabízí další řádky parametrizace vyhledávání. Seznam: Ve formuláři se vypíše seznam dále uvedených hodnot jako nabídka pro výběr. Pole se seznamem: Ve formuláři se rozbalí seznam až po kliknutí do příslušného tlačítka. V obou dvou posledních možnostech se v zobrazení datového listu po kliknutí do tlačítka s trojúhelníkem na konci pole rozbalí seznam. Výběrem seznamu nebo pole se seznamem se zobrazí další vlastnosti: Typ zdroje řádků: V seznamu mohou být uváděny podle pole Typ zdroje řádků tři zdroje: Tabulka či dotaz: V seznamu se zobrazí hodnoty z tabulky či dotazu, který zadáme do vlastnosti Zdroj řádků. Seznam hodnot: V seznamu se zobrazí hodnoty zapsané v řádku Zdroj řádků. Seznam polí: V seznamu se zobrazí seznam polí tabulky vybrané v řádku Zdroj řádků. (Tento případ je výjimečný.) Pro pole Pohlaví zobrazíme ovládací prvek seznam a vybereme typ zdroje řádků seznam hodnot. Zdroj řádků: Ve vlastnosti Zdroj řádků vybereme v případě volby Tabulka či dotaz nebo Seznam polí některou z tabulek či dotazů. Avšak pro pole Pohlaví vypíšeme varianty hodnoty, které

53 3 Tabulky 53 Vázaný sloupec Počet sloupců Hlavičky sloupců Šířka seznamu Šířky sloupců Počet řádků seznamu nabízíme. Hodnoty oddělujeme středníky: M;Z. Hodnoty se budou nabízet při vyplňování pole. Pokud by se jednalo o víceznakové hodnoty, doplňoval by se text do pole automaticky, když zadáme jednoznačný začátek některé z hodnot 47. Vázaný sloupec: Vázaným sloupcem je sloupec zdrojové tabulky, z něhož se získá hodnota, kterou doplníme do nastavovaného pole. Většinou je to první sloupec, protože nejčastěji takto čerpáme primární klíč z jiné tabulky. Počet sloupců: V řádku Počet sloupců můžeme zadat, kolik sloupců ze zdrojové tabulky bude při vybírání zobrazeno v seznamu. Pokud bychom zadali více než jeden sloupec v případě zdroje daného seznamem hodnot, byly by chápány hodnoty ze zdroje řádků jako dvojice, trojice apod. (V našem případě bychom mohli zadat počet sloupců 2 a do zdroje řádků uvést M;muž;Z;žena. Ponecháme však stávající jeden sloupec zdroje.) Hlavičky sloupců: Pokud do vlastnosti Hlavičky sloupců zadáme ano, budou se zobrazovat při vybírání hodnot nadpisy sloupců ze struktury zdrojové tabulky. (V našem případě bychom mohli zadat hodnotu ano a do zdroje řádků doplnit pohlaví;m;z. První hodnota by byla chápána jako nadpis sloupce. Ponecháme však původní stav.) Šířka seznamu: Pokud jsme vybrali ve vlastnosti Zobrazit ovládací prvek hodnotu Pole se seznamem, je dostupná vlastnost Šířka seznamu. Pokud v ní ponecháme hodnotu automatická, je seznam stejně široký sloupec pole. Upřesnění šířky seznamu provedeme v tabulce Osoby v poli Nadřízený. Zadáme pro něj: Zobrazit ovládací prvek: Pole se seznamem, Typ zdroje řádků: tabulka či dotaz, Zdroj řádků: Osoby, Počet sloupců: 4. Zobrazíme tabulku v zobrazení datového listu. Rozbalíme seznam zaměstnanců pro pole Nadřízený. Šířka seznamu je shodná se šířkou sloupce. Šířky všech sloupců seznamu jsou totožné. Pokud rozšíříme sloupec pole, rozšíří se i šířka seznamu a jeho sloupců. Nechceme rozšiřovat sloupce, ale pouze seznam, upřesníme další vlastnost: Šířka seznamu: 10 Proporce šířky sloupců seznamu můžeme zadat ve vlastnosti Šířky sloupců. Šířky sloupců: Ve vlastnosti Šířky sloupců můžeme zadat, jak široké budou jednotlivé sloupce seznamu hodnot. Šířky zapisujeme v centimetrech, oddělujeme je od sebe středníky. Pro pole Nadřízený zadáme: Šířky sloupců: 3,5; 1,5; 2 48 Šířku posledního sloupce již nemusíme zadávat, dopočte se dle šířky seznamu. Pokud některý sloupec nechceme zobrazovat, zadáme pro něj nulovou šířku, např. v seznamu nezobrazíme Titul1, když zadáme hodnoty vlastnosti: Šířky sloupců: 3,5; 0; 2 První sloupec s nenulovou délkou je zobrazen v tabulce. Zadáme hodnoty vlastnosti: Šířky sloupců: 0; 0; 2 V tabulce je nyní zobrazena hodnota křestního jména, do tabulky se nadále ukládá Osoba. V tabulce chceme nadále zobrazit Osoba, v seznamu jej však nechceme uvést. Zadáme proto hodnoty vlastností: Šířky sloupců: 0,01; 0; 2 Šířku seznamu upravíme na 5. Počet řádků seznamu: Pro pole se seznamem lze zadat počet řádků, které se zobrazí při rozbalení seznamu. 47 Navíc musí být splněno Ověřovací pravidlo a dodržena vlastnost Velikost pole. 48 Access mírně modifikuje šířky sloupců na hodnoty 3,507cm;1,507cm;2cm;2cm.

54 3 Tabulky 54 Omezit na seznam Úpravy seznamu hodnot Pro pole Nadřízený změníme počet z 16 na 20 řádků, aby se v seznamu nezobrazoval svislý posuvník. Omezit na seznam: Pokud zadáme v řádku Omezit na seznam hodnotu ano, nebude možné do pole zapsat jinou hodnotu, než je uvedená ve zdroji řádků. 49 Omezení hodnot zajišťuje také referenční integrita. Můžeme tak nepřímo řešit případy, kdy referenční integritu nelze zadat (relace dotazů či propojených tabulek). V tabulce Osoby doplníme vyhledávání pro pole Úvazek: Zobrazit ovládací prvek: Pole se seznamem Typ zdroje řádků: Seznam hodnot Zdroj řádků: 100%; 50%; 0% Omezit na seznam: ano Nyní nemůžeme zadat jiný úvazek než úvazek uvedený v seznamu hodnot. Povolit úpravy seznamu hodnot: V průběhu editace tabulky uživatel může pocítit potřebu rozšířit seznam hodnot. V případě, že zdrojem řádků je seznam hodnot (nikoliv tabulka či dotaz) a v seznamu je jediný sloupec (vlastnost Počet sloupců má hodnotu 1), můžeme uživateli umožnit editaci seznamu hodnot. Do vlastnosti Povolit úpravy seznamu hodnot zadáme ano. Pod rozbaleným seznamem je potom tlačítko pro úpravu seznamu hodnot, které otevře dialogové okno Upravovat položky seznamů (viz obr. 3-11). OBR. 3-11: DIALOGOVÉ OKNO UPRAVOVAT POLOŽKY SEZNAMŮ Úpravy tabulky pro seznam P33b Místnosti P33c Oddělení V tabulce Osoby doplníme možnost úpravy seznamu pro pole Úvazek. Do seznamu doplníme hodnotu 33%. V dialogovém okně můžeme také upravit výchozí hodnotu, kterou však zadáváme jako číslo, nikoliv procenta. Formulář pro úpravu položek seznamu: V případě, že je seznam generován z tabulky či dotazu, může se stát, že chceme v průběhu vkládání hodnoty doplnit či upravit zdrojovou tabulku či dotaz. V tom případě je nutné mít připraven pro editaci tabulky či dotazu formulář. V tabulce Osoby doplníme vyhledávání pro pole Místnost: Zobrazit ovládací prvek: Pole se seznamem Typ zdroje řádků: tabulka či dotaz Typ zdroje řádků: Místnosti Připravíme jednoduchý formulář pro tabulku Místnosti: Zobrazíme tabulku Místnosti. V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Formulář. Vytvoří se jednoduchý formulář s názvem Místnosti. Zavřeme formulář. Odpovíme kladně na dotaz Accessu, zda má uložit formulář, uložíme jej pod názvem P33b Místnosti. V návrhu tabulky Osoby doplníme vlastnosti vyhledávání: Formulář pro úpravy položky: P33b Místnosti 50 Obdobně připravíme vkládání hodnot do pole Oddělení na základě hodnot v tabulce Oddělení s využitím formuláře P33c Oddělení. 49 V případě omezení vkládání hodnot na seznam pole Pohlaví je již zbytečné definovat ověřovací pravidlo typu M or Z. 50 Pokud se tlačítko pro zobrazení formuláře nezobrazí, je nutné tabulku zavřít a znovu otevřít.

55 3 Tabulky 55 Pole s více hodnotami Podniky Podniky2 Zobrazené hodnoty P33d NACE4000 Průvodce vyhledáváním Vlastnosti tabulky Popis tabulky Povolit více hodnot: Pokud změníme vlastnost na hodnotu ano, nenávratně se změní pole na pole s více hodnotami. Můžeme tak do pole zadat více hodnot a realizovat tak vazbu M:N bez můstkové tabulky. 51 Pole s více hodnotami nelze importovat z Excelu. Pro demonstraci práce s poli s více hodnotami je připravena databáze Podniky s tabulkami: Podniky2: Vybrané sloupce tabulky podniky: IČ, Název_podniku, NACE, NACE1, NACE2, NACE3, NACE4, NACE5, NACE6. Pole NACE je polem s více hodnotami, obsahuje všechna NACE konkrétního podniku. V NACE1, NACE2,, NACE6 jsou uvedena (duplicitně) NACE jednotlivých činností podniku. Základní činnost je vždy uvedena v NACE1. NACE: Tabulka shodná s tabulkou NACE z databáze Encian. V tabulce Podniky2 je tedy před pole NACE1 doplněno pole NACE, do nějž můžeme uložit více hodnot NACE. Do pole NACE jsou vloženy hodnoty všech činností podniku 52. Hodnoty jsou ukládány v řazení dle hodnoty, ztratí se tak význam první, druhé a dalších činností, činnosti jsou rovnocenné. Pro pole NACE jsou doplněny vlastnosti vyhledávání: Zobrazit ovládací prvek: Pole se seznamem Zdroj řádků: NACE Počet sloupců: 2 Šířky sloupců: 1,2 cm Počet řádků seznamu: 30 Šířka seznamu: 13 cm Povolit více hodnot: ano Když nyní rozbalíme pro pole NACE seznam, můžeme zaškrtnout libovolné množství hodnot. Zobrazit pouze hodnoty zdroje řádku: Vlastnost se uplatní jen pro pole, pro něž je povoleno vkládat více hodnot. Vhodným zdrojem řádků můžeme potom omezit zobrazované hodnoty pole. V tabulce Podniky2 omezíme zobrazované hodnoty zadáním hodnoty vlastnosti: Zdroj řádků: P33d NACE4000 Zobrazit pouze hodnoty zdroje řádku: ano P33d NACE4000 je dotaz, kterým vybíráme pole NACE, NACE_v z tabulky NACE pouze věty, v nichž pole NACE začíná číslicí 4 (v řádku Kritéria je ve sloupci NACE hodnota 4*). Po prohlédnutí změníme vlastnost: Zdroj řádků: NACE. Nyní v zobrazení datového listu můžeme vyhledávání a další vlastnosti polí vyzkoušet. Seznam a pole se seznamem se zatím neliší. Odlišnost bude jasná, až budeme pole vkládat do návrhu formuláře (viz kap. 5.2). Pro úplnost dodejme, že přípravu vyhledávání nám může usnadnit průvodce. Když definujeme nové pole s uvedením datového typu Průvodce vyhledáváním, průvodce nám pomůže vyhledávání parametrizovat. Výsledným datovým typem bude podle užitého zdroje seznamu některý z předchozích datových typů. Pole, jehož typ bude určen v Průvodci vyhledáváním, můžeme vložit také z pásu karet. V kartě NÁVRH ve skupině NÁSTROJE klikneme do tlačítka Změnit vyhledávání Vlastnosti tabulky Dosud jsme se zabývali vlastnostmi jednotlivých polí. Tabulka jako celek má také své vlastnosti. Zobrazíme je v samostatném podokně návrhového zobrazení, když v kartě NÁVRH ve skupině ZOBRAZIT ČI SKRÝT klikneme do tlačítka Seznam vlastností. Vlastností tabulky je patnáct: Popis: Dokumentační popis obsahu či účelu tabulky. Zobrazuje se v navigačním podokně, když z místní nabídky názvu skupiny objektů (např. Tabulky) zadáme Zobrazit podle, Podrobnosti. Pro tabulku Osoby zadáme popis Zaměstnanci firmy. 51 Access neukládá hodnoty do jednoho pole, hodnoty jsou ukládány samostatně a spravovány v systémových tabulkách. Pole s více hodnotami jsou v Accessu také kvůli integraci s Office 365, protože seznamy SharePointu podporují pole s více hodnotami. 52 Pole NACE je možné před povolením více hodnot naplnit vhodným aktualizačním dotazem z hodnoty NACE1, další činnosti musíme doplnit ručně. V databázi Podniky je pole již vyplněné všemi hodnotami.

56 3 Tabulky 56 Výchozí zobrazení Ověřovací pravidlo tabulky Ověřovací text Filtr Řazení Orientace Vnořený datový list Výchozí zobrazení: Můžeme vybrat zobrazení, které bude využito po dvojitém kliknutí na název tabulky v navigačním podokně. Nabízí se pouze datový list. Výchozí zobrazení bude nabízet více možností u dalších objektů (formuláře, sestavy). Ověřovací pravidlo: Pravidlo, které se ověřuje před uložením věty tabulky, může např. sledovat logickou souvislost obsahu několika polí tabulky. V databázi Encian připravíme dvě ověřovací pravidla: Pro tabulku Osoby zadáme pravidlo: [Příjmení] Not Like "*á" Or [Pohlaví]="Z". (Názvy polí zapisujeme do hranatých závorek. Uvozovky není nutné psát, Access je sám doplní.) Do tabulky není nyní možné uložit větu se zaměstnancem, jehož příjmení končí na písmeno á a není žena, tj. musí platit: buď příjmení nekončí na písmeno á, nebo se jedná o ženu. 53 Pro tabulku Cesty zadáme podmínku [Zahájení] <= [Dokončení]. Do tabulky není nyní možné zapsat cestu, která byla dokončena dříve, než byla zahájena. Ověřovací text: Text, který se zobrazí při nedodržení ověřovacího pravidla tabulky. Pro tabulku Osoby zadáme text: Zaměstnanec, jehož příjmení končí písmenem "á", musí být ženského pohlaví! Text se zobrazí při nedodržení pravidla až při pokusu přejít na další větu. Pro tabulku Cesty zadáme text: Zahájení musí předcházet Dokončení nebo si musí být rovny! Filtr: Formou podmínky můžeme zadat filtr, kterým budou omezeny zobrazované věty. Obvykle filtr zadáváme v zobrazení datového listu. Po tabulku Osoby zadáme filtr Pohlaví ="M". Zobrazíme tabulku v zobrazení datového listu. Filtr aplikujeme (popř. potlačíme). V kartě DOMŮ ve skupině SEŘADIT A FILTROVAT klikneme do tlačítka Přepnout filtr nebo klikneme do tlačítka Nefiltrováno ve spodním řádku okna tabulky. Filtrovat při zavedení: Zadáme-li hodnotu ano, aplikuje se filtr při otevření tabulky. (Výchozí hodnota je ne.) Řadit podle: Můžeme zadat formou názvu pole či seznamu polí oddělených čárkami kritérium, podle nějž budou řazeny věty v tabulce. Obvykle řazení zadáváme v zobrazení datového listu. Pro tabulku Osoby zadáme řazení dle polí Místnost, Příjmení. V zobrazení datového listu je tabulka již seřazena. Můžeme tabulku seřadit podle jiného kritéria. V kartě DOMŮ ve skupině SEŘADIT A FILTROVAT klikneme do tlačítka Vzestupně či Sestupně. Nebo můžeme anulovat vlastnost Řadit podle. V kartě DOMŮ ve skupině SEŘADIT A FILTROVAT klikneme do tlačítka Odebrat řazení. Řadit podle hodnoty při zavedení: Zadáme-li hodnotu ne, neaplikuje se řazení při otevření tabulky. (Výchozí hodnota je ano.) Pro tabulku Osoby zadáme hodnotu ne. Věty jsou řazeny podle klíčového pole. Orientace: Umožňuje změnit orientaci tabulky v zobrazení datového listu. Sloupce polí mohou být zobrazovány zprava doleva. Vlastnost je vhodné upravit pro národy zvyklé psát zprava. Název vnořeného datového listu: Vnořený (druhý) datový list je vnořen uvnitř jiného (prvního) datového listu a obsahuje data související s prvním datovým listem. Access automaticky nabízí vnořený datový list pro tabulky v relaci 1:N. Vnořený datový list otevřeme v zobrazení datového listu kliknutím do rozbalovacího tlačítka + na začátku věty. Pokud k tabulce existuje jediná relace 1:N, lze ve vlastnosti Název vnořeného datového listu zadat hodnotu auto. Pokud je k tabulce více relací 1:N, je vhodné do vlastnosti vybrat (z rozbalovacího seznamu) nejčastěji používanou tabulku. Výběr lze provést také v zobrazení datového listu. V databázi Encian lze automatické vnořené datové listy použít pro tabulky: Oddělení: K jednomu oddělení zobrazuje věty zaměstnanců tohoto oddělení. Oddíly_Sekce: K oddílu zobrazí příslušné NACE. Podniky: K podniku zobrazí příslušné faktury. V druhé úrovni ke každé faktuře zobrazí příslušné licence. Sekce: K sekci zobrazí příslušné oddíly. V druhé úrovni k oddílu zobrazí příslušné NACE. Stádia: K stádiu zobrazí příslušné podniky. V druhé úrovni k podniku zobrazí příslušné faktury. Ve třetí úrovni ke každé faktuře zobrazí příslušné licence. 53 Nevylučujeme tím případ, kdy žena má příjmení, které končí na jiné písmeno než á. Funkčnost můžeme ověřit pokusem přepsat příjmení Světlý na Světlá.

57 3 Tabulky 57 Faktury: Ke každé faktuře zobrazí příslušné licence. Programy: Ke každému programu zobrazí příslušné licence. Cesty: Ke každé cestě zobrazí příslušné zaměstnance. Majetek_typy: Ke každému typu zobrazí příslušná umístění dle inventárních čísel. Název vnořeného datového listu musíme upřesnit pro dvě tabulky: Osoby: Z vhodných tabulek Výjezdy a Faktury vybereme Faktury. V druhé úrovni se k faktuře vypíší licence. Místnosti: Z vhodných tabulek Osoby a Majetek_umístění vybereme Osoby. V druhé úrovni se k zaměstnanci vypíší faktury. Ve třetí úrovni se k faktuře vypíší licence. Výběr vnořeného datového listu se provádí v dialogovém okně Vložit vnořený datový list, kde se nabízí všechny tabulky a dotazy. Ve spodních polích okna se automaticky díky relacím doplní Podřízená pole propojení a Řídící propojovací pole (viz obr. 3-12). Název vnořeného datového listu můžeme později upravit. Můžeme také znovu vybrat hodnotu auto, aby se uživatel rozhodl pro výběr tabulky do vnořeného datového listu, nebo hodnotu žádné, aby se rozbalení nenabízelo. OBR. 3-12: DIALOGOVÉ OKNO VLOŽIT VNOŘENÝ DATOVÝ LIST Podřízená propojovací pole: Pole z vnořené tabulky (např. Osoba z tabulky Faktury pro řídící tabulku Osoby). Ve vnořeném datovém listu se zobrazují věty se shodou v podřízeném propojovacím poli (či více polích) a v řídícím propojovacím poli (či více polích). Řídící propojovací pole: Pole z řídící tabulky (např. Osoba z tabulky Osoby). Vnořený datový list rozevřen: Po zadání hodnoty ano se při otevření řídící tabulky zobrazí u každé věty vnořený datový list s příslušnými záznamy. Výška vnořeného datového listu: Nastavíme maximální výšku vnořeného datového listu rozbaleného pro jednotlivé věty či pro všechny věty. Při výchozí hodnotě 0 cm není výška omezena. Příklad rozbalení více úrovní je pro tabulku Místnosti v obr OBR. 3-13: VNOŘENÉ DATOVÉ LISTY K TABULCE MÍSTNOSTI

58 3 Tabulky 58 Hypertextový odkaz Objekt OLE 3.4 Zobrazení datového listu V zobrazení datového listu doplníme cvičně do tabulky Osoby 21. zaměstnance: Do pole Osoba, které je již dle titulku nadepsáno Zaměstnanec (ve stavové řádku dle popisu struktury tabulky Zkrácený účet ), zapíšeme Zimova.Pavla. Do pole Titul1, které je nadepsáno Titul před jménem, zapíšeme Ing. Do pole Jméno zapíšeme hodnotu Pavla. (V případě funkční masky můžeme zapsat pavla. Access sám opraví první písmeno na velké P. Podtržítky Access vyznačuje, jak může být jméno dlouhé.) Pole Příjmení a Titul2 (Titul za jménem) ponecháme nevyplněné. Do pole Pohlaví zapíšeme P. Access vypíše námi definované chybové hlášení (ověřovací text). Stisknutím klávesy Esc vrátíme do pole původní hodnotu M. Do pole Místnost chceme vložit hodnotu z předchozí věty Martina Zemana. Stiskneme kombinaci kláves Ctrl ", čímž zkopírujeme hodnotu 22 z předchozí věty. Do pole Telefon zapíšeme hodnotu 223. Do pole Oddělení opět kombinací kláves Ctrl " zkopírujeme hodnotu ANA z předchozí věty. Obdobně zkopírujeme hodnotu z předchozí věty do pole Nadřízený. Do pole Charakteristika zapíšeme složitější charakteristiku: Pavla je adaptabilní. V případě potřeby může pracovat také v oddělení programování nebo konzultací. Abychom text rozdělili do více řádků, zapíšeme jej v samostatném dialogovém okně Zoom, které zobrazíme stisknutím kombinace kláves Shift F2.Nejprve napíšeme neformátovaný text, nový řádek vložíme kombinací kláves Shift Enter. Potom dvojitě klikneme na slovo adaptabilní a stiskneme kombinaci kláves Ctrl B. Dvojitě klikneme na slovo programování a minipanelu formátování klikneme do tlačítka Kurzíva. Obdobně zformátujeme slovo konzultací. Práci s oknem Zoom ukončíme kliknutím do tlačítka OK. Do pole Úvazek zapíšeme 120 %. Zobrazí se ověřovací text. Klikneme do tlačítka OK a stisknutím klávesy Esc nastavíme výchozí hodnotu 100 %. Do pole Web_stránka zapíšeme odkaz na webovou stránku 54 : Pavla# stránka První část odkazu se zobrazí v tabulce Osoby, druhá část je použita jako adresa stránky, třetí část (upřesnění adresy záložkou na stránce) nevyužijeme, čtvrtá část se zobrazí v obdélníku, když se přiblížíme v tabulce k odkazu. Do pole Web_foto nic nezapíšeme. Do pole Foto datového typu Objekt OLE nemůžeme přímo psát. Když na pole dvojitě klikneme, zobrazí se hlášení s návodem na vložení obsahu pole. Klikneme do pole pravým tlačítkem myši a z místní nabídky zadáme příkaz VLOŽIT OBJEKT. Dále vybereme typ objektu: Vytvořit nový: Můžeme vytvořit objekt pomocí některé aplikace dostupné na počítači, např. Bitmap Image (Malování) 55. Vytvořit ze souboru: Můžeme převzít objekt z dříve vytvořeného souboru. Objekt může být propojen tak, aby se automaticky aktualizoval a nezabíral místo v databázi. Dvojitým kliknutím na text s názvem programu můžeme kdykoliv vyvolat editaci obrázku původním programem, pokud je na počítači nainstalován. Obrázek lze odstranit kliknutím na text s názvem programu a stisknutím klávesy Delete. Pole Oprávnění (Oprávnění fakturovat) zaškrtneme (lze provést stisknutím mezerníku). 54 Adresu můžeme editovat přímo ve sloupci. Využíváme k tomu klávesy F2. Zaměstnanci s příjmením. Kombinací kláves Shift F2 můžeme editovat první část adresy. 55 Obrázek můžeme namalovat nebo jej můžeme do Malování vložit. V kartě DOMŮ ve skupině Schránka klikneme do tlačítka Vložit. Můžeme vložit obrázek ze schránky nebo ze souboru. Před vložením je vhodné tažením za pravý dolní roh zmenšit kreslený obrázek, aby jej vložený obrázek překryl. Obrázek vložíme do Accessu příkazem SOUBOR, AKTUALIZOVAT DOKUMENT. Do vzorové databáze byly vloženy obrázky programem Microsoft Clip Gallery. (V galerii klipů byla vybrána kategorie Lidé a v ní vhodné obrázky. Kliknutím do obrázku a v dílčí nabídce do prvního tlačítka Vložit klip byl klip vložen.) Tím bylo dosaženo úsporného uložení obrázků, které by nebylo možné při vkládání programem Malování.

59 3 Tabulky 59 Výchozí hodnoty v nové větě Schránka Formát zobrazení datového listu Po odeslání posledního pole věty se zobrazí chybové hlášení V poli Osoby.Příjmení musí být zadána hodnota. Vrátíme se proto do pole Příjmení a zapíšeme hodnotu Zímová. Po pokusu přejít na další větu např. posunem kurzoru na další řádek se zobrazí ověřovací text Zaměstnanec, jehož příjmení končí písmenem "á", musí být ženského pohlaví! Vrátíme se proto do pole Pohlaví a zapíšeme hodnotu Z. Nyní již můžeme přejít na novou větu či ukončit práci s tabulkou. V zobrazení datového listu je přichystán výchozí stav nové (22.) věty tabulky Osoby. Vyplněna jsou již pole Pohlaví a Úvazek, pro něž jsme definovali vlastnost Výchozí hodnota. Nová věta (s hvězdičkou ve voliči záznamů) není ještě součástí tabulky. Teprve po napsání prvního znaku do libovolného pole nové věty se ve voliči záznamů objeví symbol tužky. Věta není ještě uložena. Teprve odesláním na posledním poli či jiným úspěšným přechodem na jinou větu či ukončením zobrazení tabulky (za splnění ověřovacího pravidla tabulky) se symbol tužky ztratí, věta je uložena. Obdobně se symbol tužky zobrazuje při pozdější úpravě věty. Pokud stiskneme klávesu Esc při editaci, ztratí se obsah upravovaného pole, při dalším stisknutí klávesy Esc se ztratí všechny změny v editované větě. Větu můžeme v průběhu její editace uložit bez přechodu na jinou větu, kdy v kartě DOMŮ ve skupině ZÁZNAMY klikneme do tlačítka Uložit nebo stiskneme kombinaci kláves Shift Enter. Podívejme se nyní na nabídku karty DOMŮ, která se po přechodu do zobrazení datového listu zobrazila. Ve skupině SCHRÁNKA je kromě tradičních operací se schránkou možnost zkopírovat jakoukoliv větu do nové tabulky: V tabulce Osoby kliknutím do voliče záznamů označíme větu Evy Kolínské a zkopírujeme ji do schránky kombinací kláves Ctrl C nebo kliknutím do tlačítka Kopírovat. Klikneme do spodní části tlačítka Vložit a vybereme volbu Přidat. Věta ze schránky se přidá jako nová. Nebude ji však možné uložit, neboť by vznikla duplicitní hodnota primárního klíče (Osoba). Klikneme do tlačítka OK a klávesou Esc se zřekneme uložení věty. Kliknutím do spouštěče dialogového okna v pravém dolním rohu skupiny SCHRÁNKA zobrazíme nalevo od navigačního podokna podokno s obsahem schránek. Podokono zavřeme kliknutím do uzavíracího tlačítka. Ve skupině FORMÁTOVÁNÍ TEXTU můžeme modifikovat formát zobrazení datového listu: Písmo, Velikost písma: Změna písma či velikosti písma pro zobrazenou tabulku. Zarovnat text (vlevo, na střed, vpravo): Změna zarovnání jednotlivého pole (sloupce). Promítá se do vlastnosti pole Zarovnání textu. Tučné, Kurzíva, Podtržení: Změna řezu písma pro zobrazenou tabulku. Barva písma: Barva písma v tabulce. 56 Barva pozadí: Barva pozadí řádků tabulky a tabulky (tj. volných řádků). Každý druhý řádek má pro lepší čitelnost jinou alternativní barvu, kterou lze nastavit tlačítkem Alternativní barva pozadí (po kliknutí do spouštěče dialogového okna skupiny FORMÁTOVÁNÍ TEXTU). Mřížka: Parametrizace rozsahu zobrazení mřížky v tabulce (oba směry, vodorovná, svislá, žádná). Další detailní parametry formátování datového listu (např. efekty buněk tabulky) lze zobrazit ve speciálním dialogovém okně po kliknutí do spouštěče dialogových oken v pravém dolním rohu skupiny FORMÁTOVÁNÍ TEXTU. Modifikované parametry se ukládají v rámci ukládání rozložení tabulky. Při zavírání tabulky jsme dotázáni, zda změnu rozložení pro tabulku uložit. Ve skupině FORMÁTOVÁNÍ TEXTU můžeme také upravit formát textu v polích typu Dlouhý text, pokud je ve vlastnosti Formát textu hodnota RTF. Jedná se o vybraná tlačítka, která jsou dostupná také v minipanelu formátování (číslování, odrážky, úroveň textu, směr textu, barva zvýraznění textu). 56 Podrobněji o výběru barev v kap. 5.2.

60 3 Tabulky 60 Operace se záznamy Souhrny Kontrola pravopisu Ve skupině ZÁZNAMY jsou k dispozici různorodá tlačítka: Volba SYNCHRONIZOVAT je dostupná ve spodní části tlačítka Aktualizovat vše pro seznamy SharePointu propojené do databáze Accessu. Můžeme tak synchronizovat data aktualizovaná v Accessu i SharePointu, tj. promítnout změny provedené v seznamu SharePointu do Accessu i změny provedené v Accessu promítnout do seznamu SharePointu. Tlačítkem Nové můžeme přejít na vyplňování nové věty v tabulce. Stejného efektu dosáhneme, když klikneme v spodním řádku tabulky do tlačítka Nový (prázdný) záznam. Tlačítkem Uložit můžeme kdykoliv uložit editovanou větu, aniž přecházíme na jinou větu. Tlačítko či kombinaci kláves Shift Enter je vhodné využít při editaci vět s rozsáhlou strukturou. Tlačítkem Odstranit můžeme odstranit označenou část pole či celou větu označenou ve voliči záznamů. Celou větu můžeme bez označení ve voliči záznamů odstranit rozbalením nabídky tlačítka Odstranit a výběrem volby ODSTRANIT ZÁZNAM. Obdobně můžeme dílčí volbou ODSTRANIT SLOUPEC odstranit ze struktury tabulky pole. V tabulce Osoby takto odstraníme větu Pavly Zímové. Tlačítkem Souhrny přidáme do tabulky Osoby součtový řádek. Pro některé sloupce (pole) doplníme typ souhrnu: Pro pole Pohlaví, Místnost, Oprávnění vybereme POČET. Do počtu se počítají jen vyplněné věty s vyplněnou hodnotou pole, popř. s hodnotou ano. Pro pole Úvazek vybereme SOUČET. Můžeme tak snadno vyčíst, že ve firmě máme 20 zaměstnanců na celkový úvazek 17,5 (přepočtený počet pracovníků), 19 z nich má přidělenu místnost, 14 má oprávnění fakturovat. Access umožňuje kontrolu pravopisu. V tabulce Osoby připravíme záměrně překlep do pole Charakteristika Evy Kolínské. Upravíme text na rozčlená a uložíme kombinací kláves Shift Enter. Přejdeme na první větu do prvního sloupce. Tlačítkem Pravopis nebo stisknutím klávesy F7 spustíme kontrolu pravopisu: Zobrazí se hodnota Adamec.Milos. Klikneme do tlačítka Přeskakovat pole Osoba. Zobrazí se hodnota vse.cz. Klikneme do tlačítka Přeskakovat pole Web_stránka Obdobně klikneme do tlačítka Přeskakovat pole Web_foto. Zobrazí se hodnota rozčlená (viz obr. 3-14) OBR. 3-14: DIALOGOVÉ OKNO KONTROLA PRAVOPISU Access nás upozorňuje, že v hlavním slovníku nenašel slovo rozčlená. Předkládá nám nabídku návrhů změny, vybereme změnu na rozčílená. Obdobně jako ve Wordu či Excelu můžeme využívat (pro celý Office) společný uživatelský slovník a definovat automatické opravy (časté překlepy, které se automaticky opraví již při psaní textu). Význam tlačítek v dialogovém okně Kontrola pravopisu:» Přeskočit: Slovo nenalezené ve slovníku je ponecháno, při příštím výskytu bude opět považováno za chybné.» Přeskakovat: Slovo nenalezené ve slovníku bude v rámci kontroly této databáze považováno za správné a při příštím výskytu nebude považováno za chybné.» Zaměnit: Slovo je zaměněno slovem uvedeným v poli Není ve slovníku. Při příštím výskytu bude opět považováno za chybné.

61 3 Tabulky 61 Kontakty do a z Outlooku Výška řádku Vnořený datový list Skrytí sloupce Ukotvení sloupce» Zaměňovat: Slovo bude v rámci celé kontroly (tj. i ve všech dalších výskytech) zaměněno slovem uvedeným v poli Není ve slovníku.» Přidat: Slovo bude přidáno do uživatelského slovníku. Bude tak považováno za správné při dalším použití uživatelského slovníku nejen v Accessu, ale i ve Wordu a dalších programech.» Automatické opravy: Navržená oprava bude zařazena do automatických oprav tak, aby se automaticky prováděla již při vyplňování tabulky.» Jazyk slovníku: Výběr jazyka hlavního slovníku.» Možnosti: Zobrazí dialogové okno Možnosti aplikace Access, v němž můžeme změnit parametry kontroly pravopisu a automatických oprav.» Zpět: poslední: Můžeme se zpětně vrátit k poslední již provedené změně např. při zbrklém kliknutí do tlačítka Zaměnit při rychlé kontrole pravopisu. V našem případě vybereme druhý návrh opravy a klikneme do tlačítka Zaměnit. Pro úplnost dodejme, že pokud označíme část tabulky (vybrané sloupce či řádky), bude kontrola provedena jen v označené části. Zobrazí se hlášení o dokončení kontroly pravopisu. Tlačítko Další obsahuje další operace se záznamy: Pokud máme na počítači nainstalovaný Outlook, můžeme v databázi Duv vyzkoušet přidání kontaktu z Outlooku do tabulky Kontakty:» Tabulka Kontakty musí mít vhodnou strukturu, což je v našem případě splněno, neboť jsme ji vytvářeli s použitím šablony Kontakty.» Potlačíme primární klíč v poli Osoba.» Kliknutím do tlačítka Přidat z aplikace Outlook se zobrazí dialogové okno Vybrat jména pro přidání, v němž můžeme přidat jeden či více kontaktů. Po kliknutí do tlačítka OK se kontakty načtou do tabulky Kontakty. Obdobně můžeme poslat kontakt z tabulky Kontakty, např. na ředitele Petr Nováka, do kontaktů Outlooku:» Kurzor umístíme do věty Petra Nováka v tabulce Kontakty.» Klikneme do tlačítka Uložit jako kontakt aplikace Outlook.» Zobrazí se okno s kontakty Petr Nováka připravené na uložení do Outlooku. Můžeme upravit některá pole.» Tlačítkem Uložit a zavřít kontakt uložíme do Outlooku. Tlačítkem Výška řádku můžeme zadat v bodech výšku řádku v otevřené tabulce. Zaškrtnutím pole Standardní výška můžeme nastavit původní výšku dle Accessu. Modifikovaná výška řádků se ukládá v rámci ukládání rozložení tabulky. Tlačítko Vnořený datový list nabízí 4 volby:» VNOŘENÝ DATOVÝ LIST: Zobrazí dialogové okno, v němž můžeme upřesnit tabulku, která je zobrazována ve vnořeném datovém listu. V případě tabulky Osoby bychom tak mohli místo tabulky Faktury vybrat tabulku Cesty.» ODEBRAT: Nebudou zobrazována rozbalovací tlačítka pro práci s vnořeným datovým listem.» ROZBALIT VŠE: Rozbalí vnořený datový list pro všechny věty.» SBALIT VŠE: Sbalí vnořený datový list pro všechny věty. V tabulce Osoby označíme kliknutím do názvu sloupec Titul1 (Titul před jménem) a klikneme do tlačítka Skrýt pole. Obdobně skryjeme sloupec Titul2 (Titul za jménem). Sloupce nebyly odstraněny, pouze nejsou pro přehlednost zobrazovány. Tlačítkem Zobrazit pole zobrazíme dialogové okno se seznamem polí tabulky, v němž můžeme zaškrtnutím či nezaškrtnutím zobrazit či potlačit zobrazení jednotlivých polí. Pro tabulku Osoby opět zobrazíme sloupce Titul před jménem a Titul za jménem zaškrtnutím. V tabulce Osoby označíme kliknutím do názvu sloupec Osoba (Zaměstnanec). Klikneme do tlačítka Ukotvit pole. Sloupec se přesunul na začátek zobrazení a zůstává zobrazen i při pohybu vodorovným posuvníkem doprava. Takto můžeme ukotvit i další sloupce, ukotvíme sloupec Pohlaví. Přidá se k původně ukotveným sloupcům. Tlačítkem Uvolnit zrušíme ukotvení sloupců. Sloupec Pohlaví zůstal v původním pořadí zobrazení. Přesuneme jej za Titul za jménem tažením za jeho název.

62 3 Tabulky 62 Šířka sloupce Řazení a filtrování Tlačítkem Šířka pole můžeme nastavit v bodech šířku aktuálního sloupce. Optimální šířku dle maximální šířky obsahu lze nastavit také dvojitým kliknutím na hranice sloupce. Řazení a filtrování vět se provádí rozbalením nabídky názvu sloupce a tlačítky ve skupině SEŘADIT A FILTROVAT. Chceme zobrazit pouze zaměstnance z oddělení KON, ANA a PRG a to v pořadí dle místností a dle pohlaví (ženy a potom muže): Rozbalíme nabídku názvu sloupce Pohlaví (druhé kritérium řazení), vybereme ŘADIT OD Ž PO A. Rozbalíme nabídku názvu sloupce Místnost (první kritérium řazení), vybereme ŘADIT OD A PO Ž. Rozbalíme nabídku názvu sloupce Oddělení. Kliknutím do volby VYBRAT VŠE zrušíme výběr všech polí. Zaškrtneme pole ANA, KON a PRG (viz obr. 3-15). OBR. 3-15: ZADÁNÍ FILTRU Kliknutím do volby TEXTOVÉ FILTRY bychom mohli využít další typy filtrů. V návrhovém zobrazení ověříme, že se nastavily vlastnosti tabulky: Filtr: ([Osoby].[Oddělení] In ("ANA","KON","PRG")) Řadit podle: [Osoby].[Místnost], [Osoby].[Pohlaví] DESC Upravíme vlastnost: Řadit podle hodnoty při zavedení: Ano Zavřeme tabulku s potvrzením uložení změn v návrhu. Po znovuotevření je tabulka seřazena dle místnosti a dle pohlaví, což je patrné ze šipek u rozbalovacího tlačítka u názvu polí Pohlaví a Místnost. Kliknutím do tlačítka Přepnout filtr aktivujeme filtr, zobrazí se pouze zaměstnanci z vybraných oddělení. Přehled tlačítek ve skupině SEŘADIT A FILTROVAT: Vzestupně, Sestupně: Přidá řazení dle aktuálního sloupce. (Postupujeme od druhotného řazení k prvotnímu řazení.) Odebrat řazení: Anuluje řazení. (Odstraní obsah vlastnosti tabulky Řadit podle.) Filtr: Zobrazí zadání filtru pro aktuální sloupec. Dosáhneme tak stejného efektu jako, když rozbalíme nabídku názvu sloupce. Výběr: Zadá filtr pro aktuální sloupec dle hodnoty v aktuální větě. Nabízí se čtyři možnosti: ROVNÁ SE, NEROVNÁ SE, OBSAHUJE, NEOBSAHUJE. Tlačítko Upřesnit nabízí speciální formy filtrů a řazení: VYMAZAT VŠECHNY FILTRY: Anuluje filtry pro všechny sloupce. (Odstraní obsah vlastnosti tabulky Filtrovat). Vymažeme všechny filtry v tabulce Osoby. FILTR PODLE FORMULÁŘE: Zobrazí formulář se stejnou strukturou jakou má tabulka. Kritérium se zapisuje do jediného řádku, kritéria ve stejném řádku musí být splněna současně. Jednotlivé karty Nebo umožňují alternativní filtr. Můžeme např. připravit filtr pro zobrazení zaměstnanců mužů z oddělení KON a žen z oddělení PRG:» Vybereme volbu FILTR PODLE FORMULÁŘE.

63 3 Tabulky 63» Vyplníme do sloupce Pohlaví hodnotu M a do Oddělení hodnotu KON.» Klikneme do spodní záložky Nebo.» Vyplníme do sloupce do Pohlaví hodnotu Z a Oddělení hodnotu PRG (viz obr. 3-16). OBR. 3-16: DRUHÁ KARTA FILTRU PODLE FORMULÁŘE P34 Filtr podle formuláře» Klikneme do tlačítka Přepnout filtr. Kdykoliv později se můžeme do formuláře vrátit volbou FILTR PODLE FORMULÁŘE. Volbou ODSTRANIT KARTU můžeme ve filtru dle formuláře odstranit aktuální kartu Nebo. Volbou ULOŽIT JAKO DOTAZ můžeme připravený filtr z formuláře uložit do dotazu, abychom jej později mohli načíst volbou NAČÍST Z DOTAZU. V našem případě jej uložíme do dotazu P34 Filtr podle formuláře. Volba NAČÍST Z DOTAZU je dostupná pouze z formuláře pro filtr nebo z rozšířeného filtru a řazení. Volba ROZŠÍŘENÝ FILTR ČI ŘAZENÍ zobrazí filtr a řazení formou dotazu, např. kombinace námi nastaveného řazení a filtru dle formuláře je zobrazena formou dotazu v obr OBR. 3-17: PŘÍKLAD ROZŠÍŘENÉHO FILTRU ČI ŘAZENÍ Hledání Volba VYMAZAT MŘÍŽKU vymaže filtr při práci s formuláře filtru nebo rozšířeným filtrem. Volba ZAVŘÍT zavře otevřený formulář filtru či dotaz rozšířeného filtru. Tlačítkem Přepnout filtr zapneme či potlačíme nastavené filtrování, což můžeme provést také kliknutím do tlačítka Filtrováno/Nefiltrováno ve spodním řádku okna tabulky. 57 Poslední skupina NAJÍT karty DOMŮ nabízí možnosti hledání vět: Klikneme kamkoliv do sloupce Místnost. Kliknutím do tlačítka Najít (popř. kombinací kláves Ctrl F) zobrazíme dialogové okno Najít a nahradit, kartu Najít (viz obr. 3-18): OBR. 3-18: DIALOGOVÉ OKNO NAJÍT A NAHRADIT 57 Zapnutí filtru a řazení hned po otevření tabulky zadáváme ve vlastnostech tabulky Filtrovat při zavedení a Seřadit podle hodnoty při zavedení.

64 3 Tabulky 64 Nahrazování Změny návrhu tabulky v datovém listu V poli Najít vyplníme hledanou hodnotu. V poli Oblast hledání můžeme ponechat hledání pouze v aktuálním sloupci Místnost nebo zadat hledání v celé tabulce Osoby. V poli Porovnat vybíráme z hodnot:» Jakákoliv část pole: Řetězec Petr by v poli Osoba byl nalezen ve větě Kalouskova.Petra, Novak.Petr a Skoda.Petr.» Celé pole 58 : Řetězec Petr by v poli Osoba nebyl nalezen pro zaměstnance Kalouskova.Petra, Novak.Petr a Skoda.Petr, ani pro zaměstnance Petr.Pavel, ale pouze pro zaměstnance Petr. (Takový zaměstnanec v tabulce však není uveden.)» Začátek pole: Řetězec Petr by v poli Osoba nebyl nalezen pro zaměstnance Kalousková.Petra, Novak.Petr a Skoda.Petr, byl by nalezen pro zaměstnance Petr.Pavel. (Takový zaměstnanec v tabulce však není uveden.) 59 V poli Hledat můžeme zadat prohledávání směrem nahoru či dolů od polohy kurzoru. Po dohledání začátku tabulky (popř. konce tabulky) Access pokračuje hledáním od konce (popř. od začátku) tabulky. Zaškrtnutím pole Rozlišovat velká a malá písmena můžeme diferencovat mezi hodnotami polí psanými velkými a malými písmeny (např. Petr a PETR). Zaškrtnutím pole Prohledávat podle formátu se hledá s ohledem na formát, nikoliv pouze na obsah, což může být významné zejména při hledání v polí typu Datum/čas (např. při hledání v tabulce Faktury bychom nenašli při hledání data datum ). Obdobně funguje tlačítko Nahradit (Ctrl H), kterým můžeme nahradit hodnoty v poli jiným hodnotami. (I při tomto nahrazování je sledována referenční integrita. Nemůžeme tak např. nahradit v poli Oddělení hodnotu MAR hodnotou PRO). Po kliknutí do tlačítka Přejít na přejdeme na vybranou větu: první, předchozí, další, poslední nebo novou. Po kliknutí do tlačítka Vybrat vybereme aktuální větu (obdoba kliknutí do voliče záznamů) nebo všechny věty (obdoba kliknutí do průsečíku voličů záznamů a řádku s názvy sloupců). Některé možnosti návrhu tabulky jsou dostupné také v zobrazení datového listu v kartě POLE: Ve skupině PŘIDAT A ODSTRANIT: Tlačítka pro jednotlivé datové typy umožňují před aktuální sloupec vložit nový sloupec vybraného datového typu. Další datové typy se rozbalí po kliknutí do tlačítka Další pole. V sekcích ČÍSLO, DATUM A ČAS, ANO/NE jsou pole včetně připravených vlastností. Připravené kombinace polí jsou zařazeny do sekce RYCHLÉ ZAHÁJENÍ:» Adresa: Adresa, Město, Kraj, PSČ, Země» Kategorie: Kategorie (se třemi kategoriemi ve zdroji řádků)» Název: Příjmení, Jméno» Počáteční a koncová data: Počáteční datum, Koncové datum» Priorita: Priorita (s nabídkou hodnot 1 Vysoká, 2 Normální, 3 Nízká)» Stav: Stav (s nabídkou hodnot Nezahájeno, Probíhá, Dokončeno, Odloženo, Čeká)» Telefon: Telefon do zaměstnání, Telefon domů, Mobilní telefon, Faxové číslo» Typ platby: Typ platby (s nabídkou hodnot Hotovost, Kreditní karta, Šek, Naturálie)» Značka: Značka (se třemi značkami ve zdroji řádků včetně možnosti vložení více hodnot) Kombinace polí s uložením jejích vlastností můžeme sami vytvářet:» V tabulce Osoby označíme tažením pole Titul1 (Titul před jménem), Jméno, Příjmení, Titul2 (Titul za jménem).» Klikneme do tlačítka Další pole a vybereme Uložit výběr jako nový datový typ.» Doplníme parametry datového typu dle obr Výchozí nastavení Accessu budeme značit čárkovaným podtržením. 59 Výchozí způsob hledání lze nastavit v kartě SOUBOR, dílčí kartě Možnosti. V dialogovém okně Možnosti aplikace Access v kartě Nastavení klienta v sekci ÚPRAVY v poli Výchozí způsob hledání či nahrazování.

65 3 Tabulky 65 OBR. 3-19: UKLÁDÁNÍ DATOVÉHO TYPU Z POLÍ Modifikace fungování kláves» Šablona se uloží do lokální složky C:\Users\Uživatel\AppData\Roaming\Microsoft\ Templates\Access pod názvem Celé jméno.accft.» Otevřeme tabulku Podniky. Klikneme do posledního sloupce Kliknutím přidat.» Klikneme do tlačítka Další pole a ze sekce Uživatelsky definované typy vybereme Celé jméno. Vloží se všechna čtyři pole včetně jejich vlastností. Přidaná pole odstraníme z tabulky Podniky.» Z místní nabídky můžeme později datový typ odebrat z galerie dostupné po kliknutí do tlačítka Další pole. Odstranit: Odstraní vybrané pole (či více polí). Ve skupině VLASTNOSTI: Název a titulek: Můžeme upravit vlastnosti Název, Titulek a ze struktury Popis. Výchozí hodnota: V okně Tvůrce výrazů můžeme nastavit či upravit výchozí hodnotu. Velikost pole: Pro datový typ Krátký text můžeme nastavit velikost pole ve znacích. Změnit vyhledávání: Můžeme upřesnit hodnoty vyhledávání např. v poli Pohlaví. Změnit výraz: Pro počítané pole můžeme v Tvůrci výrazů upravit výraz. Nastavení datového typu Memo: Pro datový typ Dlouhé texty můžeme nastavit vlastnosti Pouze připojit (tvorba historie) a Formátovaný text (RTF). Ve skupině FORMÁTOVÁNÍ: Datový typ: Můžeme změnit datový typ pole. Formát: Pro číselná pole a pole ano/ne můžeme upravit formát. Ve skupině OVĚŘENÍ POLE: Můžeme nastavit vlastnosti Povinné, Jedinečné, Indexované. Můžeme nastavit ověřovací pravidlo a ověřovací text pro jednotlivé pole či celou tabulku. Některé možnosti návrhu tabulky jsou dostupné také v zobrazení datového listu v kartě TABULKA: Vlastnosti tabulky: Umožňuje změnit vybrané vlastnosti tabulky (Řadit podle, Filtrovat podle, Orientace). Relace: Zobrazí relace v databázi. Závislosti objektů: Seznam objektů, které závisí na aktuální tabulce, nebo seznam objektů, na nichž závisí aktuální tabulka. Způsob editace dat v zobrazení datového listu lze nastavit v kartě SOUBOR, dílčí kartě Možnosti. V kartě Nastavení klienta ve skupině ÚPRAVY lze provést modifikaci fungování kláves při editaci v zobrazení datového listu: Sekce PO STISKNUTÍ KLÁVESY ENTER nabízí možnosti: Nepřecházet: Po odeslání klávesou Enter kurzor zůstane v původním poli. Další pole: Po odeslání se kurzor posune na další pole věty, popř. na konci věty se přesune na první pole další věty. Další záznam: Po odeslání se kurzor posune na stejné pole následující věty. Můžeme tak vyplňovat tabulku po sloupcích. Klávesa Tab i nadále funguje pro přesun na další pole a kombinace kláves Shift Tab funguje pro přesun na předchozí pole.

66 3 Tabulky 66 Automatické opravy názvů polí Encian Sekce PŘI ZADÁVÁNÍ ovlivňuje polohu kurzoru po stisku kláves Enter a klávesou Tab: Vybrat celé pole: Po přechodu na další pole klávesou Tab nebo odesláním předchozího pole je označeno celé pole, které můžeme editací přepsat. Pokud chceme upravovat jednotlivé znaky nového pole, dvojitě klikneme myší na opravované místo nebo stisknutím klávesy F2 umístíme kurzor do nového pole. Přejít na začátek pole: Po odeslání se kurzor umístí před první znak následujícího pole. Přejít na konec pole: Po odeslání se kurzor umístí za poslední znak následujícího pole. Sekce CHOVÁNÍ KURZOROVÝCH KLÁVES umožňuje modifikovat funkci kurzorových kláves: Další pole: Přesuneme-li kurzor mezi poli, označí se celé vedlejší pole. Přejít na další znak: Přesuneme-li kurzor mezi poli, zůstane kurzor před prvním (při posunu doprava) nebo za posledním (při posunu doleva) znakem vedlejšího pole. Zaškrtneme-li pole Kurzor se zastavuje na prvním či posledním poli, nepřejdeme kurzorem na další či předchozí větu, jinak než kliknutím myší. Tato modifikace je vhodná, když je struktura tabulky složitá a často hledáme různá pole tabulky v rámci jedné věty. Při hledání nechceme na konci věty přejít na začátek následující věty. Fungování kláves Enter, Tab, Shift Tab není modifikováno. S názvy polí v tabulkách souvisí možnosti automatické opravy názvů. Pokud později změníme název pole tabulky, řešíme problém odkazů na název v souvisejících objektech (dotazech, formulářích, sestavách). V kartě SOUBOR, dílčí kartě Možnosti přejdeme do nastavení Accessu. V kartě Aktuální databáze ve skupině MOŽNOSTI AUTOMATICKÉ OPRAVY NÁZVŮ lze možnosti nastavit: Sledovat informace o automatických opravách názvů: Access si sleduje opravy názvů, pamatuje si je. Provádět automatické opravy názvů: Access využije zapamatované změny a opraví názvy v souvisejících objektech. Pokud bylo zapnuté sledování a nikoliv provedení oprav, je možné provedení oprav později zapnout. Změna se provede až opětovném otevření databáze. Protokolovat automatické opravy názvů: Při opravách chyb názvů aplikace Access zaprotokoluje provedené změny databáze, uloží je do tabulky s názvem Protokol automatických oprav názvů. 3.5 Další úpravy databáze Encian Obdobně jako v tabulce Osoby upravíme vhodně datové typy a vlastnosti v dalších tabulkách. V dalších kapitolách publikace budeme již pracovat s databázi Encian.accdb, v níž jsou upraveny všechny tabulky a doplněny všechny objekty (dotazy, formuláře, sestavy, makra, moduly). Název vzorových objektů publikace začíná písmenem P. Čtenář může své pokusy ukládat pod stejným názvem bez písmene P na začátku. Objekty v navigačním podokně zobrazíme dle typu objektu. Klikneme do titulku navigačního podokna a vybereme: v sekci PŘEJÍT KE KATEGORII hodnotu Typ objektu, v sekci FILTROVAT PODLE SKUPINY hodnotu Všechny objekty aplikace Access. V databázi jsou definovány některé vlastnosti databáze (SOUBOR, Možnosti, Aktuální databáze). Databáze obsahuje 16 základních tabulek provázaných relacemi a 4 dalších pomocné tabulky: Kontrola_cest: Vznikne v kap Bude sloužit pro výpočet odstupu jednotlivých služebních cest aplikací v modulu. Oddělení_F: Vznikne v rámci kap Určena ke hledání pracovišť. Prodeje DIS: Vznikne v rámci kap , není pro databázi nutná. Neobsahuje prvotní data, je možné ji vytvářecím dotazem kdykoliv vytvořit. Switchboard Items: Vznikne v kap Access do ní bude ukládat položky přepínacího panelu.

67 4 Dotazy 67 4 Dotazy Druhy dotazů Formulace dotazu Zobrazení výsledků 4.1 Druhy dotazů Dotazy lze dle jejich dopadu rozdělit na dva druhy: výběrové: Zobrazujeme vybraná data z jedné či více tabulek: Můžeme omezit počet sloupců (polí), které zobrazujeme. Můžeme omezit počet vět zadáním kritéria či více kritérií výběru. Můžeme naopak zvětšit rozsah výstupu kombinací různých tabulek spojených relacemi. Můžeme vytvořit nové sloupce, jejichž hodnota je dána výpočtem se vstupem jiných polí věty. Můžeme vypočítat souhrny za tabulku, např. součet za vhodné pole. Můžeme připravit křížovou tabulku, v níž bude analyzován vztah dvou či více polí tabulky či tabulek. Výsledky dotazů můžeme řadit dle zadaných polí. akční: Provádíme s tabulkami akce: vytvářecí: Vytvoříme novou tabulku z obsahu stávající tabulky či více tabulek. aktualizační: Aktualizujeme hodnoty v tabulce. odstraňovací: Odstraňujeme vybrané věty z tabulky. přidávací: Do tabulky přidáváme nové věty. Dotazy můžeme připravit: v návrhovém zobrazení využitím podoken diagramu využitých relací a mřížky, dotazovacím jazykem SQL (Structured Query Language strukturovaný dotazovací jazyk), kterým je nutné připravovat složitější dotazy, které by nebylo možné formulovat v návrhovém zobrazení. Výsledky výběrových dotazů lze zobrazovat: formou tabulky v zobrazení datového listu. 4.2 Výběrové dotazy z jedné tabulky se základními funkcemi Budeme vytvářet nejprve nejjednodušší dotazy vybírající data z jedné tabulky. Budeme vybírat pole (omezíme sloupce) vět, které vyhovují zadaným kritériím (omezíme řádky) v zadaném pořadí. Jednotlivé typy dotazů budeme demonstrovat na příkladech dotazů v databázi Encian. 60 Pro kontrolu budeme uvádět vždy tabulky, z nichž dotaz vychází a počet výsledných vět. P42a Křestní jména Přidání tabulky do konstrukce dotazu DOTAZ P42A KŘESTNÍ JMÉNA: VÝBĚR NESEŘAZENÉHO POLE S DUPLICITAMI Vypište křestní jména zaměstnanců. V kartě VYTVOŘENÍ ve skupině JINÉ klikneme do tlačítka Návrh dotazu. V návrhovém zobrazení vybíráme data, s nimiž chceme pracovat, a upřesňujeme, co z dat chceme zjistit. Konstrukce dotazu je v Accessu řešena metodou dotazování podle příkladu (QBE Query by Example). V úvodu musíme vybrat, se kterými tabulkami (nebo výsledky dotazů, tj. obecně datovými sadami) budeme pracovat. V dialogovém okně Zobrazit tabulku dvojitě klineme na tabulku Osoby (viz obr. 4-1) V ukázkové databázi Encian jsou dotazy již přichystány. Jejich název začíná písmenem P (publikace) s číslem kapitoly (první číslice), podkapitoly (druhá číslice) a dotazu v rámci podkapitoly (písmeno), např. P42a Křestní jména. Své individuální pokusy ukládejte přímo pod číslem dotazu, např. 41a. Individuální pokusy tak budou zařazeny dle abecedy na začátku. 61 Můžeme také kliknout do názvu tabulky a potom kliknout do tlačítka Přidat. Můžeme také zavřít dialogové okno Zobrazit tabulku a tabulku přetáhnout do podokna Diagram z Navigačního podokna. Dialogové okno Zobrazit tabulku můžeme kdykoliv zobrazit kliknutím do tlačítka Zobrazit tabulku ve skupině NASTAVENÍ DOTAZU.

68 4 Dotazy 68 OBR. 4-1: DIALOGOVÉ OKNO ZOBRAZIT TABULKU Přidání pole do návrhové mřížky Osoby (20 vět) 62 Obecně můžeme pracovat s více tabulkami, proto se okno Zobrazit tabulku automaticky neuzavřelo po výběru první tabulky. Nám (v celé kap. 4.2) postačí jedna tabulka. Dialogové okno Zobrazit tabulku zavřeme kliknutím do tlačítka Zavřít nebo do uzavíracího tlačítka v pravém horním rohu okna. V horním podokně Diagram je seznam polí vybrané tabulky. V dolním podokně Mřížka je návrhová mřížka dotazu, do níž budeme vybírat z horního podokna pole tabulky, popř. upřesňovat kritéria výběru, řazení a další. V našem případě přidáme pole Jméno. Pole můžeme přidat: dvojitým kliknutím na název pole v seznamu polí, přetažením pole ze seznamu polí (klikneme na název pole, držíme levé tlačítko myši a název pole táhneme do návrhové mřížky), výběrem názvu pole ze seznamu, který vyklopíme šipkou na konci sloupce v řádku Pole návrhové mřížky, zapsáním názvu pole do mřížky. (Stačí vypsat jednoznačný začátek názvu pole.) Výsledky dotazu Dynamická sada a snímek Výsledky dotazu zobrazíme, když v kartě NÁVRH ve skupině VÝSLEDKY klikneme do tlačítka Zobrazení nebo klikneme ve stavovém řádku do tlačítka Datový list. V datovém listu se zobrazí tolik vět, kolik vět je v tabulce Osoby, pořadí vět je stejné, tj. výsledek je včetně duplicitních křestních jmen a neseřazený, přesněji řazeny dle pořadí v tabulce, tj. podle klíčového pole Osoba. Výsledek našeho dotazu a řady dalších dotazů má charakter tzv. dynamické sady. Lze v něm jednoznačně určit příslušnost jednotlivých řádků k větám ze zdrojové tabulky. Dynamické sady můžeme editovat jako běžný datový list. Úpravy se promítají do zdrojové tabulky! Protikladem dynamických sad jsou výsledky ve formě tzv. snímků. Snímky nelze aktualizovat, neboť neexistuje jednoznačný vztah řádku výsledku ke zdrojové tabulce. 62 Nalevo od návrhové mřížky budeme vypisovat názvy tabulek zařazených do návrhové mřížky a počet vět výsledku.

69 4 Dotazy Uložení dotazu 69 Kliknutím do tlačítka Zobrazení se můžeme opakovaně vracet k návrhu, opravovat jej a prohlížet výsledky. Konstrukci dotazu můžeme uložit z návrhového zobrazení i ze zobrazení datového listu kliknutím do tlačítka Uložit v panelu nástrojů Rychlý přístup nebo kliknutím v kartě SOUBOR do tlačítka Uložit nebo kombinací kláves Ctrl S, popř. kliknutím v kartě SOUBOR do tlačítka Uložit jako63. Při prvním ukládání jsme dotázáni na název. Uložíme dotaz pod názvem 42a. (Ideální řešení dotazu je v databázi Encian připraveno pod názvem P42a Křestní jména.) Kliknutím do uzavíracího tlačítka zavřeme okno dotazu. Pokud by dotaz či jeho úprava nebyly uloženy, budeme vyzváni k uložení. P42b Seřazená jména DOTAZ P42B SEŘAZENÁ JMÉNA: VÝBĚR SEŘAZENÉHO POLE S DUPLICITAMI Řazení výsledků dotazu Konstrukce dotazu bude velmi podobná předcházejícímu dotazu. Proto zobrazíme návrh předchozího dotazu. V navigačním podokně klikneme pravým tlačítkem do dotazu P42a Křesní jména a vybereme volbu NÁVRHOVÉ ZOBRAZENÍ. Do návrhové mřížky doplníme ve sloupci Jméno vlastnost Řadit: vzestupně (zapsáním či výběrem z nabídky, kterou lze vyvolat kliknutím do rozbalovacího tlačítka na konci řádku Řadit sloupce Jméno). Vypište vzestupně seřazená křestní jména zaměstnanců. Osoby (20 vět) Výsledná dynamická sada obsahuje stejný počet vět jako v předchozím dotazu. Věty jsou však seřazeny vzestupně dle abecedy. Na počátku výsledku by případně byly uvedeny prázdné hodnoty z vět, v nichž nebylo křestní jméno vyplněno. Dotaz bychom mohli uložit kliknutím v kartě SOUBOR do tlačítka Uložit jako. Uložení pod jiným názvem budeme provádět často, proto pro něj připravíme tlačítko v panelu Rychlý přístup: Klikneme do posledního tlačítka panelu nástrojů Rychlý přístup nazvaného Přizpůsobit panel nástrojů Rychlý přístup. Vybereme volbu Další příkazy V dialogovém okně Možnosti aplikace Access zobrazíme v levé nabídce Všechny příkazy. Dle abecedy vyhledáme Uložit objekt jako a klikneme do tlačítka Přidat. Volba Uložit objekt jako se zobrazí v pravém panelu. Klikneme do tlačítka OK. Návrh dotazu uložíme pod jiným názvem. V panelu Rychlý přístup klikneme do tlačítka Uložit objekt jako. V dialogovém okně Uložit jako ponecháme v poli Typ hodnotu Dotaz. Název opravíme na P42b Seřazená jména a odešleme klávesou Enter nebo klikneme do tlačítka OK. P42c Jména bez duplicit DOTAZ P42C JMÉNA BEZ DUPLICIT: VÝBĚR SEŘAZENÉHO POLE BEZ DUPLICIT Vlastnosti dotazu Opět vyjdeme z návrhu předchozího dotazu. Odstranění duplicitního vypisování stejných křestních jmen nezadáváme v podokně Mřížka, ale ve vlastnostech dotazu. V kartě NÁVRH ve skupině ZOBRAZIT NEBO SKRÝT klikneme do tlačítka Seznam vlastností. Dialogové okno je proměnlivé dle části dotazu, která je aktuální. Klikneme do pozadí podokna Diagram. Potom jsou v okně Seznam vlastností uvedeny vlastnosti dotazu (viz obr. 4-2). Vypište vzestupně seřazená jedinečná křestní jména zaměstnanců (bez duplicit). 63 Nevzniká žádný soubor. Všechny objekty (tedy i dotazy) se ukládají do souboru databáze, tj. souboru Encian.accdb (popř. do jiné dříve založené databáze).

70 4 Dotazy 70 Osoby (17 vět) OBR. 4-2: DIALOGOVÉ OKNO VLASTNOSTI DOTAZU Popis, do něhož vložíme text dle obr. 4-2, se zobrazí v Navigačním podokně v zobrazení podrobností. Je převzat z tabulky, nad níž dotaz připravujeme. Ve vlastnosti Jedinečné hodnoty zadáme ano. Podokno Mřížka zůstává vyplněno stejně jako u předchozího dotazu. Výsledkem je menší počet vět. Každé křestní jméno se vypisuje jen jednou. 64 Výsledkem dotazů vypisujících jedinečné hodnoty je tzv. snímek, data nelze aktualizovat. 65 Dotaz P42c vypisuje křestní jména již zapsaná do tabulky Osoby. Datovou sadu výsledku dotazu proto použijeme jako zdroj pole se seznamem pro pole Jméno v tabulce Osoby. Při vyplňování tabulky Osoby se potom nabízí dříve vložená křestní jména jako nabídka usnadňující vkládání křestních jmen. Dotaz se však spouští pouze při otevření tabulky Osoby, nemůžeme proto v nabídce očekávat jména vložená v rámci stejného otevření tabulky Osoby. P42d Pohlaví a oddělení Osoby (20 vět) DOTAZ P42D POHLAVÍ A ODDĚLNÍ: VÝBĚR NESEŘAZENÝCH POLÍ S DUPLICITAMI Vypište pohlaví a oddělení zaměstnanců. Dotaz vytvoříme jako nový, protože se příliš nepodobá předchozímu. Do podokna Diagram opět vybereme tabulku Osoby, z níž tentokrát přetáhneme do podokna Mřížka pole Pohlaví a Oddělení. Každý zaměstnanec je zastoupen ve výsledku jednou větou. Věty jsou seřazeny dle pořadí v tabulce, tj. dle primárního klíče Osoba. P42e Pohlaví a oddělení bez duplicit DOTAZ P42E POHLAVÍ A ODDĚLENÍ BEZ DUPLICIT: VÝBĚR SEŘAZENÝCH POLÍ BEZ DUPLICIT Vypište pohlaví a oddělení zaměstnanců bez duplicit ve vzestupném seřazení dle pohlaví a oddělení. Vyjdeme z předchozího dotazu. Doplníme řazení dle pohlaví (prvotní řazení, neboť Pohlaví je v podokně Mřížka uvedeno jako první) a dle oddělení (druhotné řazení). Navíc ve vlastnostech dotazu upravíme vlastnost Jedinečné hodnoty na ano. 64 Pokud bychom vypisovali více polí, duplicita by se na ně vztahovala jako na celek, tj. např. při výběru polí Jméno i Osoba by se vypsaly opět všechny věty, protože Osoba nemůže být duplicitní. 65 Ve vlastnosti dotazu Typ sady záznamů můžeme zadat hodnotu snímek i pro dotazy s hodnotou ne ve vlastnosti Jedinečné hodnoty. Můžeme tak zamezit úpravě dat v zobrazení datového listu dotazu. Naopak při zadání hodnoty ano do vlastnosti Jedinečné hodnoty výsledkem dotazu je snímek, i když ve vlastnosti Typ sady záznamů je ponechána hodnota dynamická sada.

71 4 Dotazy 71 Osoby (11 vět) Pro 2 pohlaví a 6 oddělení je zobrazeno pouze 11 vět, neboť v oddělení ANA jsou jen muži. P42f Pohlaví a oddělení jinak řazené Osoby (11 vět) DOTAZ P42F POHLAVÍ A ODDĚLENÍ JINAK ŘAZENÉ: VÝBĚR POLÍ SEŘAZENÝCH DLE NESTANDARDNÍ HIERARCHIE ŘAZENÍ Vypište pohlaví a oddělení zaměstnanců bez duplicit v seřazení dle oddělení a pohlaví. Vyjdeme z předchozího dotazu. Hierarchie řazení je dána pořadím polí v návrhové mřížce. Pole Pohlaví proto umístíme do mřížky ještě jednou za pole Oddělení. Druhé pole Pohlaví chceme použít jen pro řazení a nevypisovat je. Kliknutím do řádku Zobrazit příslušného pole zrušíme zaškrtnutí a potlačíme tak vypisování pole ve výsledku. Naopak u prvního pole Pohlaví potlačíme řazení volbou neřadit, která se v mřížce nezobrazuje. P42g Lidé z PRG Osoby (6 vět) DOTAZ P42G LIDÉ Z PRG: VÝBĚR VĚT S DANÝM OBSAHEM JEDNOHO POLE Vypište příjmení a jména zaměstnanců z oddělení PRG v seřazení dle příjmení a jména. Vytvoříme nový dotaz, opět bude vycházet z tabulky Osoby. Do návrhové mřížky umístíme pole Příjmení, Jméno a Oddělení. Oddělení nezobrazujeme (potlačíme zaškrtnutí v řádku Zobrazit), avšak do řádku kritérií dopíšeme PRG, zobrazíme tak pouze věty s polem Oddělení o obsahu PRG. Text PRG nemusíme psát do uvozovek, Access je sám doplní. V kritériích dotazu Access nerozlišuje malá a velká písmena. Nezobrazovaná pole, která obsahují kritéria, Access při uložení dotazu automaticky umisťuje na závěr návrhové mřížky. P42h Lidé z PRG a ANA Or Osoby (9 vět) DOTAZ P42H LIDÉ Z PRG A ANA: VÝBĚR VĚT S ALTERNATIVNÍM OBSAHEM JEDNOHO POLE Vypište příjmení a jména zaměstnanců z oddělení PRG a ANA v seřazení dle příjmení a jména. Spojka a má v češtině význam alternativy. K vyjádření alternativy v kritériích máme dvě možnosti: Alternativní hodnoty můžeme oddělit operátorem Or. Alternativní hodnoty můžeme napsat na samostatné řádky. (Access uloží i tak návrhovou mřížku s kritériem v jednom řádku a oddělením alternativ operátorem Or.) P42i Lidé z PRG, ANA a MAR DOTAZ P42I LIDÉ Z PRG, ANA A MAR: VÝBĚR VĚT S NĚKOLIKA VARIANTAMI OBSAHU JEDNOHO POLE Vypište oddělení, příjmení a jména zaměstnanců z oddělení PRG, ANA a MAR v seřazení dle oddělení, příjmení a jména.

72 4 Dotazy 72 Řádků kritérií je v návrhové mřížce přichystáno devět. Můžeme zde obecně napsat i více variant obsahu pole oddělením variant operátorem Or66. Pokud vycházíme z předchozího dotazu, musíme přesunout sloupec Oddělení na začátek návrhové mřížky. Kliknutím do úzkého šedivého proužku nad sloupcem sloupec Oddělení označíme. Opět klikneme do šedivého proužku, nepouštíme tlačítko myši a tažením doleva přesouváme sloupec. U kurzoru se objeví obdélníček. V návrhové mřížce tlustá čára označuje, před který sloupec se přesouvaný sloupec přesune. Tlustou čáru umístíme před první sloupec a pustíme tlačítko myši. Doplníme do kritéria Or MAR a zaškrtneme ve sloupci Oddělení pole Zobrazit. Osoby (12 vět) V případě potřeby můžeme vkládat nové sloupce do návrhové mřížky, když v kartě kartě NÁVRH ve skupině NASTAVENÍ DOTAZU klikneme do tlačítka Vložit sloupce, či odstraňovat označený sloupec nebo více označených sloupců tlačítkem Odstranit sloupce nebo stisknutím klávesy Delete. Pokud je kritérium delší, nevidíme jej v úzkém sloupci celé. Dvojitým kliknutím na hranici sloupců (v našem případě sloupců Oddělení a Příjmení) můžeme přizpůsobit šířku sloupce obsahu. Šířka se však na rozdíl od úpravy šířky v tabulkách neukládá s návrhovou mřížkou. Při pozdější práci s návrhem dotazu musíme šířku sloupce opět upravit. Pokud však upravíme šířku sloupců ve výsledku dotazu, šířka ve výsledku se ukládá. K vypsání vět, které obsahují některou z hodnot v seznamu hodnot, lze použít také funkci In. Do kritéria můžeme v našem případě zapsat místo výrazu "PRG" Or "ANA" Or "REK" výraz In ("PRG";"ANA";"REK"). P42j Ženy z PRG DOTAZ P42J ŽENY Z PRG: VÝBĚR VĚT S DANÝM OBSAHEM VÍCE POLÍ Vypište příjmení a jména všech žen z oddělení PRG. Pokud vyplníme kritéria v jednom řádku u více polí, musí kritéria platit současně. Osoby (4 věty) P42k Ženy z PRG a všichni z MAR DOTAZ P42K ŽENY Z OBSAHEM VÍCE POLÍ PRG A VŠICHNI Z MAR: ALTERNATIVNÍ VÝBĚR VĚT S DANÝM Vypište příjmení a jména všech žen z PRG a všech zaměstnanců z MAR. Doplněním dalšího řádku kritérií k předchozímu dotazu se automaticky neopakují podmínky z prvního řádku. Vypsání oddělení MAR v novém řádku proto k výsledku dotazu přidává všechny zaměstnance oddělení MAR (nejen ženy). Osoby (7 vět) Zadáváme vlastně podmínku: Zaměstnanec je z PRG a současně je žena (první řádek) nebo Zaměstnanec je z MAR bez omezení dalších polí (druhý řádek). 66 Můžeme dokonce kombinovat rozepisování variant do řádků a používání operátoru Or. Můžeme také z karty NÁVRH ve skupině NASTAVENÍ DOTAZU tlačítkem Vložit řádky ze skupiny NASTAVENÍ DOTAZU doplnit do návrhové mřížky další řádky.

73 4 Dotazy 73 P42l Ženy z PRG a muži z MAR Osoby (6 vět) DOTAZ P42L ŽENY Z PRG A MUŽI Z REK: VÝBĚR S VARIANTNÍMI OMEZENÍMI V RŮZNÝCH POLÍCH Vypište příjmení a jména všech žen z PRG a mužů z MAR. P42m Více než poloviční úvazky >= Osoby (5 vět) DOTAZ P42M VÍCE NEŽ POLOVIČNÍ ÚVAZKY: VÝBĚR VĚT S PODMÍNKOU NEROVNOSTI OBSAHU ČÍSELNÉHO POLE Vypište příjmení, jméno a úvazek zaměstnanců PRG, kteří pracují ve firmě na úvazek 50 % nebo vyšší. (V poli Úvazek musí být číslo větší nebo rovno 0,5.) V případě, že hodnota pole má být větší (popř. dále v abecedě u textových polí nebo pozdější u časových polí), menší, větší nebo rovna, menší nebo rovna, můžeme požadovaný vztah zadat v mřížce porovnávacími operátory >, <, >=, <=. (Nelze zapsat v opačném pořadí, např. =>). P42n Příjmení intervalu písmen And Osoby (8 vět) DOTAZ P42N PŘÍJMENÍ INTERVALU PÍSMEN: VÝBĚR VĚT S PODMÍNKOU NEROVNOSTI OBSAHU TEXTOVÉHO POLE Vypište abecedně seřazená příjmení zaměstnanců, kteří jsou v abecedě mezi písmeny H a S, v seřazení dle příjmení. Porovnávací operátory můžeme použít i ve spojení s textovými poli. Operátorem And můžeme spojit dvě či více podmínek, které mají platit současně. (Hanák>=H, Sladká>S, a proto se ve výsledku nevypisují zaměstnanci s počátečním písmenem příjmení S.) K vypsání vět, které spadají do určitého rozsahu lze také použít konstrukci "[Z-K]*", kde Z je zahajovací a K je koncové vybrané počáteční písmeno. Uvozovky je v tomto případě nutné zapsat. Access doplní před výraz slovo Like. V našem případě bychom do kritéria zapsali "[H-Ř]*" P42o Příjmení daného začátku Zástupný symbol * Osoby (2 věty) DOTAZ P42O PŘÍJMENÍ DANÉHO ZAČÁTKU: VÝBĚR VĚT S POŽADOVANÝM ZAČÁTKEM OBSAHU TEXTOVÉHO POLE Vypište abecedně seřazená příjmení zaměstnanců, která začínají písmeny Ko. Kritériem Ko* zadáváme počáteční znaky příjmení. Zástupný znak hvězdička povoluje libovolný obsah zbytku pole. Operátor Like a uvozovky doplní Access sám. Vyberou se zaměstnanci s příjmením Kolínská, Kos. P42p Příjmení daného začátku a konce DOTAZ P42P PŘÍJMENÍ DANÉHO ZAČÁTKU A KONCE: VÝBĚR VĚT S POŽADOVANÝM ZAČÁTKEM I KONCEM TEXTOVÉHO POLE Vypište příjmení zaměstnanců, která začínají písmenem K a končí písmenem á. Za hvězdičkou může následovat znak či více znaků, které vyžadujeme na konci obsahu hledaného textového pole.

74 4 Dotazy 74 Osoby (3 věty) Vyberou se zaměstnanci s příjmením Kalousková, Klímová, Kolínská, nevybere se Kos. P42q Příjmení s proměnlivým znakem Zástupný symbol? Osoby (2 věty) DOTAZ P42Q PŘÍJMENÍ S PROMĚNLIVÝM ZNAKEM: ZÁSTUPNÝ ZNAK PRO JEDEN TEXTOVÝ ZNAK Vypište příjmení zaměstnanců, kterým začíná příjmení písmenem K, třetím písmenem je písmeno l a příjmení končí písmenem á. Hvězdička zastupuje libovolný počet znaků. Otazník zastupuje jediný znak. Vyberou se zaměstnanci s příjmením Kalousková a Kolínská, nebude vybrána Klímová. P42r Lidé mimo oddělení Not <> Osoby (9 vět) DOTAZ P42R LIDÉ MIMO ODDĚLENÍ: VÝBĚR VĚT S PODMÍNKOU DVOJÍ NEROVNOSTI OBSAHU POLE Vypište abecedně seřazená příjmení zaměstnanců mužského pohlaví s výjimkou zaměstnanců z oddělení RED a DIS. Podmínku nerovnosti můžeme zapsat operátorem <> nebo operátorem Not (který Access po zavření dotazu při dalším otevření návrhu upraví na operátor <>). 67 P42s Lidé bez titulu Null Osoby (9 vět) DOTAZ P42S LIDÉ BEZ TITULU: VÝBĚR VĚT S PRÁZDNÝM OBSAHEM POLE Vypište abecedně seřazená příjmení a jména zaměstnanců bez titulu před příjmením. Prázdný obsah pole zastupuje operátor Null. Access sám rozšíří kritérium na tvar Is Null. Většinou chceme vypisovat ve výsledku také pole s nulovou délkou, do nichž jsme vložili (popř. importovali) hodnotu "". Rozšíříme proto podmínku na tvar Null Or "". P42t Lidé v intervalu Between Osoby (10 vět) DOTAZ P42T LIDÉ V INTERVALU: VÝBĚR VĚT S INTERVALOVOU PODMÍNKOU OBSAHU POLE Vypište příjmení a jména zaměstnanců z místností v řazení dle místností. Konjunkci >= And <= můžeme nahradit operátorem Between. P42u Lidé s oprávněním DOTAZ P42U LIDÉ S OPRÁVNĚNÍM: VÝBĚR VĚT DLE POLE TYPU ANO/NE Vypište abecedně seřazená příjmení a jména zaměstnanců, kteří jsou oprávněni fakturovat. Do kritéria pole typu Ano/ne můžeme zapsat hodnotu Ano (popř. 1 či True či Zapnuto) nebo Ne (popř. 0 či False či Vypnuto). Tyto hodnoty Access nezapisuje do uvozovek. 67 Access také automaticky uloží nezobrazovaná pole na konec návrhové mřížky (pokud tato pole nemají vyplněn řádek Řadit). Např. v našem případě můžeme uvést pole Pohlaví jako druhé, přesto je uložené až jako poslední v návrhové mřížce.

75 4 Dotazy 75 Osoby (14 vět) 4.3 Výběrové dotazy z jedné tabulky s pokročilými funkcemi P43a Tituly lidí Osoby (20 vět) DOTAZ P43A TITULY LIDÍ: VĚTVENÝ VÝRAZ A VÝBĚR VŠECH POLÍ VĚTY Vypište pro zaměstnance slovně, zda mají titul před jménem nevyplněn či vyplněn řetězcem nulové délky. Ke každé větě zrekapitulujte hodnoty všech polí. Switch Titulek výrazu P43b Část textu a webové adresy Osoby (20 vět) Funkce Switch (z kategorie funkcí běhu programu) umožňuje diferencovat výslednou hodnotu výrazu dle podmínek. V argumentu funkce Switch je libovolné množství dvojic podmínka varianta výsledku funkce. Access postupně prochází jednotlivé podmínky. Až narazí na splněnou podmínku, zobrazí variantu výsledku. Pokud žádná podmínka není splněna, ponechá výsledek prázdný. V našem případě je aplikace funkce Switch zjednodušená, při splnění libovolné z obou podmínek se uplatňuje konstantní text, nikoliv proměnlivý výraz. Přetáhneme-li ze seznamu polí tabulky hvězdičku, přidáme tím do výsledku dotazu všechna pole tabulky. Mezi přetažením všech jednotlivých polí a přetažením hvězdičky je rozdíl. Přetáhneme-li jednotlivá pole 68, stanou se součástí dotazu pouze tato pole. Přidáme-li později do struktury výchozí tabulky další pole (nebo nějaké pole naopak odstraníme), musíme stejné změny provést v návrhové mřížce dotazu. Přetáhneme-li hvězdičku, všechny změny ve struktuře tabulky se automaticky zahrnou do výsledku dotazu. Nevýhodou označení všech polí hvězdičkou je složitější definování kritérií výběru a řazení výsledku. (Musíme některá pole znovu přetáhnout do návrhové mřížky, ve výsledku dotazu je však již nezobrazujeme.) Daně Drobné zapíšeme titul před jménem Bc. a potom jej odstraníme, abychom vyzkoušeli funkčnost větve prázdný řetězec. Obdobnou úpravu provedeme pro Lukáše Škodu. Access označuje výsledek výrazu titulkem Výraz1. Titulek se automaticky zapíše před výraz oddělený dvojtečkou. Titulek přepíšeme na Komentář. Ve výsledku je potom sloupec s hodnotami výrazu nadepsán Komentář. DOTAZ P43B ČÁST TEXTU A ČÁST WEBOVÉ ADRESY Vypište jména, příjmení, délku jejich příjmení, iniciály a webovou adresu jednotlivých zaměstnanců v řazení dle jejich příjmení a jmen. Left & Len Výsledkem funkce Left je prvních několik znaků z řetězce v prvním argumentu. Druhý argument udává počet znaků ve výsledku. Operátor & spojuje textové řetězce. Výsledkem funkce Len je délka textu v argumentu. Zařazením pole Web do návrhové mřížky by se vypsala první část webové adresy, tj. zobrazovaný text. Pro ukázku doplníme do první věty před první mřížky text Webová stránka Miloš Adamec. 68 Před přetažením můžeme označit více polí, klikneme-li na první a potom současně s klávesou Shift na poslední pole (souvislý rozsah) nebo postupně na jednotlivá pole s klávesou Ctrl (nesouvislý rozsah). Všechna pole můžeme označit dvojitým kliknutím na název tabulky nad seznamem polí.

76 4 Dotazy 76 HyperLinkPart P43c Březnové služební cesty Month Tvůrce výrazů Využitím funkce HyperLinkPart můžeme vypsat jakoukoliv část hypertextového odkazu, např. adresu odkazu, která bude zobrazena v prohlížeči po kliknutí do hodnoty pole Web. Tento odkaz však již není citlivý na kliknutí. Druhý argument funkce udává, kterou část odkazu vypíšeme. DOTAZ P43C BŘEZNOVÉ SLUŽEBNÍ CESTY: VÝBĚR VĚT S DANÝM MĚSÍCEM V ČASOVÉM POLI Vypište datum zahájení, název dne, název měsíce, týden a čtvrtletí březnových služebních cest v řazení dle data zahájení cest. Poprvé vybíráme věty z tabulky Cesty, nikoliv Osoby. V návrhové mřížce jsme zatím uváděli pouze pole ze struktury tabulky. Můžeme zde také zařadit výraz, který může hrát roli vypisovaného výsledku, klíče řazení či kritéria výběru. V našem případě použijeme funkci Month, která má jediný argument název pole typu Datum/čas, z něhož měsíc počítáme. Názvy polí se uvádějí v hranatých závorkách. (Hranaté závorky zde nemusíme psát, Access je sám doplní.) Access nám nabízí pomůcku pro tvorbu složitějších výrazů Tvůrce výrazů. Kurzor přichystáme na místo, v němž budeme tvořit složitější výraz, např. do sloupce následujícího za sloupcem Zahájení v řádku Pole. V kartě NÁVRH ve skupině NATAVENÍ DOTAZU klikneme do tlačítka Tvůrce. Zobrazí se dialogové okno Tvůrce výrazů (viz obr. 4-3). OBR. 4-3: DIALOGOVÉ OKNO TVŮRCE VÝRAZŮ Dvojitým kliknutím na Funkce ve spodním levém seznamu a kliknutím na dílčí volbu Předdefinované funkce se zobrazí v prostředním seznamu kategorie funkcí, které nabízí Access. Vybereme kategorii Datum a čas a v rámci ní v pravém sloupci funkci Month a dvojitě klikneme na název funkce). 69 V horní části dialogového okna se vypíše obecný tvar vybrané funkce. Access připravil a obecně popsal argument funkce Month. Kliknutím označíme jediný argument «datum» a přepíšeme jej argumentem Zahájení. Pokud si nepamatujeme název pole z tabulky Cesty, dvojitě klikneme v levém dolním seznamu na název databáze Encian.accdb a na název Tabulky a v dílčím seznamu klikneme na název 69 Obdobně existují funkce: Day(Datum): den v měsíci WeekDay(Datum;2): pořadí dne v týdnu, argument 2 parametrizuje, že prvním dnem je pondělí WeekDayName(WeekDay(Datum;2)): název dne v týdnu MonthName(Month(Datum)): název měsíce Year(Datum): rok data Hour(Datum): hodina času, pokud v datu je obsažen také čas, např , 8:25 Minute(Datum): minuta času, pokud v datu je obsažen také čas Second(Datum): sekunda času, pokud v datu je obsažen také čas

77 4 Dotazy 77 tabulky Cesty. V prostřední části se vypíše struktura tabulky Cesty. Do horní části dopíšeme název pole dle spodního vzoru. Název pole nemusíme zapisovat do hranatých závorek, ty doplní Access sám.70 Cesty (4 věty) Obdobně můžeme vkládat do výrazu pomocí Tvůrce výrazu konstanty (např. nebo Null), operátory (např. Between) nebo běžné výrazy (např. aktuální datum Date()). Ke vkládání nejčastějších operátorů (+, -, / atd.) můžeme využít přímo tlačítek pod horní částí okna. Vkládání pomocí spodních seznamů a tlačítek můžeme kombinovat s editací výrazu. Tlačítkem OK se výraz zapíše do návrhové mřížky nebo na jiné místo, odkud jsme v Accessu vyvolali Tvůrce výrazů. Tvůrce výrazů můžeme později využít i k úpravě stávajících dotazů. Do pole Měsíc zapíšeme kritérium 3, pole nevypisujeme. Zobrazení dalších požadovaných výstupů dosáhneme novým způsobem. Vždy se jedná o datum zahájení, pouze budeme měnit formát zobrazení. Opakovaně přidáme do návrhové mřížky pole Zahájení a přidáme jim vhodné titulky. V kartě NÁVRH ve skupině ZOBRAZIT NEBO SKRÝT klikneme do tlačítka Seznam vlastností. Zobrazíme tak okno Seznam vlastností. Klikneme do třetího sloupce návrhové mřížky.71 Do pole formát zapíšeme: pro název dne hodnotu dddd, pro název měsíce hodnotu mmmm,72 pro týden hodnotu ww, pro čtvrtletí hodnotu q. V zobrazení datového listu se k cestám dopíše slovní název dne, měsíce a vypočítaný týden v roce. (Jedná se pouze o způsob zobrazení pole Zahájení. Když v zobrazení datového listu klikneme do názvu dne či jiného formátovaného sloupce, zobrazí se původní datum. Případné dotazy navazující na náš dotaz by opět počítaly s datem, nikoliv např. s týdnem. Název dne ani měsíce není možné použít jako kritérium.)73 DOTAZ P43D DÉLKY SLUŽEBNÍCH CEST A TERMÍN PRO VYÚČTOVÁNÍ: ROZDÍLY A SOUČTY P43d Délky služebních cest Vypište data zahájení, dokončení, délku74 a termín pro vyúčtování služebních cest. Vyúčtování je nutné provést do 7 dnů od dokončení služební cesty. Cesty (15 vět) Funkce DateDiff vrací rozdíl třetího a druhého argumentu v časové jednotce prvního argumentu Dvojitým kliknutím na pole Zahájení v prostřední části se název pole dopíše do horní části okna ve tvaru: [Cesty]![Zahájení]. Dotaz vychází z tabulky Cesty, kde je název pole Zahájení jednoznačný, proto část [Cesty]! můžeme odstranit. (Někdy je odstranění této části nutné, aby výraz bezchybně fungoval.) Vypisování názvu tabulky odděleného vykřičníkem od názvu pole bude nutné v dotazech pracujících s více tabulkami, v nichž se vyskytne stejný název pole ve více tabulkách. Jiným způsobem zobrazení okna vlastností pole je kliknout do příslušného sloupce návrhové mřížky pravým tlačítkem myši a z místní nabídky zvolit VLASTNOSTI. Pokud do sloupce nedoplníme titulek, promítá se změna formátu dalších sloupců Zahájení do všech sloupců Zahájení bez titulku. Pokud bychom chtěli, aby výsledkem byla transformovaná hodnota, nikoliv formát, použili bychom funkce Format(Datum; parametr ), parametr by byl shodný jako při formátování. Význam dalších znaků: d: den v číselném vyjádření (např. 5, 13) m: měsíc v číselném vyjádření (např. 3 nebo 12) dd: den jako dvojciferný text (např. 05, 13) mm: měsíc jako dvojciferný text (např. 03 nebo 12) ddd: krátká zkratka názvu dne (např. čt, út) mmm: měsíc formou římského čísla (např. III nebo XII) dddd: název dne (např. čtvrtek, úterý) mmmm: měsíc slovním vyjádřením (např. březen nebo prosinec) Délkou rozumíme rozdíl Dokončení Zahájení, také by délkou mohl být výraz Dokončení Zahájení + 1. Místo funkce DateDiff s prvním argumentem d můžeme použít výraz [Dokončení]-[Zahájení].

78 4 Dotazy 78 Funkce DateAdd přičte ke třetímu argumentu čas uvedený v druhém argumentu v jednotkách prvního argumentu. 76 P43e Narozeniny Osoby2 (20 vět) DOTAZ P43E NAROZENINY: ŘAZENÍ VĚT DLE MĚSÍCE A DNE V MĚSÍCI Vypište zkrácený účet zaměstnance, jeho narození, aktuální stáří v řazení dle měsíců a dnů narození, tj. seznam vhodný pro přání k narozeninám v průběhu roku. Data narození jsou uvedena v tabulce Osoby2 v databázi Duv (soubor Duv accdb), v níž připravíme dotaz P43e. Funkce Date() vrací aktuální datum. Výraz DateDiff( yyyy ;[Datum_narození];Date()) díky parametru yyyy vrací výsledek v letech. Místo funkcí Day a Month použijeme pro řazení obecnou funkci DatePart, která vybírá část pole typu Datum a čas. 77 Kdybychom místo řazení dle funkce DatePart( m ;[Zahájení]) uvedli jen název pole Zahájení, řazení by bylo chronologické i s přihlédnutím k rokům. Změna titulků polí Měsíc a Den nebyla nutná, neboť pole jsou použita pouze jako kritéria řazení, ve výsledku dotazu se nevypisují. P43f NACE Podniky (3 věty) DOTAZ P43F NACE 4724: VÝBĚR Z POLE S VÍCE HODNOTAMI Vypište názvy podniků, které se zabývají činnosti s klasifikací NACE 4724 (Maloobchod s chlebem, pečivem, cukrářskými výrobky a cukrovinkami). Vypište též všechny jejich NACE jako jedno pole a pole prvních čtyř činností. Pole s více hodnotami NACE je uvedeno v tabulce Podniky2 v databázi Podniky, v níž připravíme dotaz P43f. Vybírat lze i dle jednotlivých hodnot polí s více hodnotami. V podokně Diagram vybíráme pole s hodnotou (např. NACE.Value), pro nějž uplatníme kritérium. Hodnota by byla vybrána, i kdyby ve větě nebyla v poli NACE hodnota jako první (viz např. NACE o hodnotě 5812). V případě polí s více hodnotami by mělo smysl zadat podmínku s využitím operátoru AND (např And 1813). P43g Přílohy Programy (7 vět) DOTAZ P43G NACE 4724: PŘÍLOHY Vypište pro jednotlivé programy jejich kód, název, cenu, počet připojených souborů, název připojeného souboru a příponu názvu připojeného souboru. Do návrhu dotazu vložíme pole Produktový list i jeho tři dílčí části s následujícími výsledky pro KAU: 76 Místo funkce DateAdd s prvním argumentem d můžeme použít výraz [Dokončení] Funkce DatePart má podobné výsledky jako funkce Format, má však opačné pořadí argumentů a výsledek poskytuje v číselném formátu.

79 4 Dotazy Výběrové dotazy z více tabulek Dosud jsme připravovali dotazy na pole z jediné tabulky. Nyní budeme vytvářet dotazy spojující data z více tabulek. P44a Původní telefony DOTAZ P44A PŮVODNÍ TELEFONY: VÝBĚR SOUVISEJÍCÍCH VĚT Z TABULEK OSOBY A MÍSTNOSTI Vypište k příjmením zaměstnanců místnost a původní telefonní linku do místnosti v řazení dle místnosti. Při zadávání nového dotazu přidáme v dialogovém okně Zobrazit tabulku (viz obr. 4-1) tabulky Osoby a Místnosti. Relace se převezmou z diagramu relací. Osoby Místnosti (20 vět) Díky relaci nebudou ve výsledku dotazu uvedeny všechny kombinace vět tabulek Osoby a Místnosti, ale pouze věty se stejným číslem místnosti v tabulce Osoby a Místnosti. Dvojitě klikneme na relaci mezi tabulkami a zadáme typ spojení Zahrnout všechny záznamy z tabulky Osoby. Nyní se ve výsledku zobrazí i věty, v nichž není vyplněno číslo místnosti. Výsledkem je dynamická sada, kterou můžeme v zobrazení datového listu aktualizovat: Pokud změníme Původní_telefon, upraví se automaticky (po uložení věty např. přechodem na jinou větu) původní telefony pro další zaměstnance ze stejné místnosti, neboť upravíme hodnotu v tabulce Místnosti. (Např. můžeme dočasně změnit původní telefon Hanáka z 803 na 893. Změna se automaticky promítne do věty Kalouskové, která sedí ve stejné místnosti. Po prohlédnutí vrátíme hodnotu do původního stavu.) Pokud změníme Místnost, mohou nastat dva případy: V případě, že jsme Místnost převzali z tabulky Osoby (viz výše uvedený obrázek dotazu), změnou Místnosti zasáhneme pouze do tabulky Osoby. Musíme však zvolit existující místnost, jinak nás Access upozorní na porušení referenční integrity. (Např. můžeme dočasně změnit místnost Hanáka z 13 na 11, automaticky se zobrazí správné původní telefonní číslo 801.) V případě, že jsme Místnost převzali z tabulky Místnosti, změnou Místnosti Hanáka z 13 např. na 93 (neexistující číslo místnosti) přečíslujeme místnost v tabulce Místnosti. Automaticky se (díky kaskádové aktualizaci souvisejících polí, kterou jsme definovali v relacích) po uložení věty (např. při přechodu na jinou větu) opraví čísla místnosti ve větách zaměstnanců ze stejné místnosti. Na tuto závažnou změnu jsme upozornění dialogovým oknem Konflikt při zápisu, v němž klikneme do tlačítka Uložit záznam. První případ je ve většině situací logičtější, proto se v dotazech snažíme přebírat propojující pole ze strany N relace 1:N. P44b Faktury DIS Faktury Osoby (60 vět) DOTAZ P44B FAKTURY DIS: VÝBĚR S PROPOJENÍM DVOU TABULEK A PODMÍNKOU Vypište čísla a data faktur připravených oddělením DIS (distribuce).

80 4 Dotazy 80 P44c Faktury DIS bez bakalářů Faktury Osoby (35 vět) DOTAZ P44C FAKTURY DIS BEZ BAKALÁŘŮ: VÝBĚR S PROPOJENÍM DVOU TABULEK A DVOJÍ PODMÍNKOU Vypište čísla a data faktur připravených zaměstnanci z oddělení DIS, kteří nemají titul Bc. Pokud bychom zapsali pro pole Titul1 pouze podmínku Not Bc., nevypsaly by se věty s prázdným obsahem pole Titul1. 78 Musíme proto doplnit vypisování vět s prázdným obsahem pole Titul1 doplněním kritéria o část Or Is Null. P44d Faktury vybraného oddělení Faktury Osoby Oddělení_F (pro DIS 60 vět) DOTAZ P44D FAKTURY VYBRANÉHO ODDĚLENÍ: VÝBĚR VĚT POMOCÍ POMOCNÉ TABULKY Vypište čísla i data faktur vystavených vybraným oddělením (vypište jakým) v řazení dle data. Oddělení_F P44e Licence FIN pozitivní vývoj Licence Faktury Podniky Stádia (26 vět) Připravíme pomocnou tabulku Oddělení_F (koncovku _F budeme používat pro pomocné vyhledávací tabulky, F je zkratka slova find hledat) s jediným polem Oddělení typu Krátký text o velikosti 3 znaky. Pole Oddělení je povýšeno na primární klíč, abychom zabránili opakovanému uvedení stejného oddělení v tabulce Oddělení_F. Do tabulky zapíšeme jedno či více oddělení, za něž si přejeme vyhodnocovat dotaz, např. DIS. Výběrem tabulky v dialogovém okně Zobrazit tabulky se v podokně Diagram návrhu dotazu přichystá také relace mezi tabulkami Oddělení_F a Oddělení vzhledem ke stejnojmenným polím v obou tabulkách a klíči v tabulce Oddělení_F. Mohli bychom obejít užití pomocné tabulky uvedením výčtu vybíraných oddělení ve sloupci Oddělení v návrhové mřížce. Výběr oddělení by se však špatně aktualizoval, zvláště kdybychom výběr zařadili do více dotazů. DOTAZ P44E LICENCE FIN POZITIVNÍ VÝVOJ: VÝBĚR S PROPOJENÍM ČTYŘ TABULEK Vypište vzestupně seřazená sériová čísla licencí programu FIN (Finanční analýza) prodaných podnikům ve stádiu s pozitivní charakteristikou vývoje, vypište též název podniku a stádium. P44f Licence stavebnictví DOTAZ P44F LICENCE STAVEBNICTVÍ: VÝBĚR S PROPOJENÍM ŠESTI TABULEK Vypište vzestupně seřazená označení programů a sériová čísla licencí programů prodaných podnikům, jejichž hlavní činnost patří do skupiny v sekci Stavebnictví, vypište též název podniku. 78 Prázdné pole pro Titul1 jsme vyplnili pro Lukáše Škodu. Zapsali jsme mu Titul1 Bc. a smazali jej. (Po importu z Excelu bylo vyplněno pole Titul1 hodnotami prázdného řetězce "".)

81 4 Dotazy 81 Licence Faktury Podniky NACE_Oddíly Oddíly_Sekce Sekce (21 vět) P44g Lidé na cestě 4 i 10 Spojení tabulky do sebe Výjezdy Výjezdy_1 (2 věty) Podkladem dotazu nejsou jen tabulky, ale také dotazy. V dialogovém okně Zobrazit tabulku klikneme na záložku Oboje, aby v seznamu dostupných objektů byly tabulky i dotazy. Do konstrukce dotazu přidáme příslušné tabulky a dotazy. Počet tabulek a dotazů, z nichž dotaz čerpá data, není omezený. DOTAZ P44G LIDÉ NA CESTĚ 4 I 10: VÝBĚR S PROPOJENÍM TABULKY DO SEBE Vypište zkrácené účty zaměstnanců, kteří byli na služební cestě číslo 4 i 10. Účast zaměstnanců na služebních cestách je uvedena v tabulce Výjezdy. Tabulku Výjezdy bychom mohli zkopírovat do tabulky Výjezdy2 79. Potom bychom v dotazu zkoumali kombinace tabulek Výjezdy a Výjezdy2 se stejnou Osobou. Počet kombinací by byl větší než počet výjezdů v tabulce Výjezdy. Za každého zaměstnance by vzniklo n 2 kombinací, kde n je počet výjezdů, které zaměstnanec absolvoval (pro některé zaměstnance n = 0) 80. Nás by však zajímaly pouze kombinace, v nichž v první tabulce Výjezdy je Cesta (číslo služební cesty) rovno 4 a ve druhé (stejné) tabulce Výjezdy2 je rovno 10. Kopírování tabulky Výjezdy by přinášelo riziko, že změníme tabulku Výjezdy a opomeneme vytvořit její aktualizovanou kopii Výjezdy2. Dvě tabulky by také zbytečně zvětšovaly databázi. Access umožňuje přidat jednu tabulku do konstrukce dotazu vícekrát. V dialogovém okně Zobrazit tabulku proto přidáme tabulku Výjezdy dvakrát. Podruhé se zobrazí jako tabulka Výjezdy_1. Relaci mezi tabulkami musíme doplnit sami, aby se kombinovaly výjezdy stejného zaměstnance. Pole Cesta je čerpáno jednou z tabulky Výjezdy, podruhé z tabulky Výjezdy_1 (se stejným obsahem). Pole Cesta použijeme jen pro kritérium, nemusíme je zobrazovat. 81 P44h Lidé bez telefonu Osoby Místnosti (2 věty) DOTAZ P44H LIDÉ BEZ TELEFONU: VÝBĚR VĚT S NEEXISTUJÍCÍM PROPOJENÍM DO JINÉ TABULKY Vypište příjmení, místnost a původní telefon zaměstnanců, kteří sedí v místnosti, kde původně nebyl telefon. Kritérium Is Not Null v poli Místnost zabraňuje vypsání vět zaměstnanců bez místnosti pro případ typu spojení mezi tabulkami Zahrnout všechny záznamy z tabulky Osoby... Vypisování 79 V seznamu objektů bychom vybrali objekt tabulky Výjezdy a stisknuli bychom kombinaci kláves Ctrl C. Po stisknutí kombinace Ctrl V bychom zapsali v dialogovém okně Vložit tabulku jako název tabulky Výjezdy2. 80 V případě tabulky Výjezdy vyjelo 15 z 20 zaměstnanců: 3 2 (Benešová) (Drobná) = = Pokud by v tabulce Výjezdy byly výjezdy za více let, bylo by nutné doplnit do mřížky sloupec Rok s hodnotou např

82 4 Dotazy 82 vět, které nemají související větu v jiné tabulce je častým úkolem zejména, když chceme doplňovat do existující databáze referenční integritu. 82 P44i Cesta do vybraného místa Navazující dotazy Cesty (1 věta) DOTAZ P44I CESTA DO SOKOLOVA: VÝBĚR HODNOTY POLE PRO PŘESNĚ DEFINOVANOU VĚTU ČI VĚTY Vypište datum zahájení (poslední) 83 služební cesty do Sokolova. Výsledek dotazu bude použit v konstrukci následujícího dotazu. P44j Faktury do cesty do vybraného místa Faktury P44i Cesta do vybraného místa (52 vět) DOTAZ P44J FAKTURY DO CESTY DO SOKOLOVA: DOTAZ NA ZÁKLADĚ VÝSLEDKU JINÉHO DOTAZU Vypište všechna data o faktuře dostupná z tabulky Faktury pro faktury vydané v den zahájení (poslední) služební cesty do Sokolova a dříve. Dotaz chceme formulovat obecně. Nechceme najít sami datum dokončení služební cesty do Sokolova, ale necháme datum vyhledat Access. (Další služební cestou by se např. datum zahájení poslední služební cesty mohlo změnit.) Podkladem dotazu nebude jen tabulka Faktury, ale také výsledek předchozího dotazu. V dialogovém okně Zobrazit tabulku klikneme na záložku Oboje, aby v seznamu dostupných objektů byly tabulky i dotazy. Do podokna Diagram přidáme tabulku Faktury a dotaz P44i Cesta do vybraného místa. Datovou sadu P44i Cesta do vybraného místa jsme nepřidali za účelem omezení kombinací vět z datových sad Faktury a P44i Cesta do vybraného místa, ale pouze abychom mohli použít (často jedinou) hodnotu pole Zahájení ze sady P44i Cesta do vybraného místa při definování kritéria pro výběr vět z tabulky Faktury. V kritériu musíme název pole zapsat do hranatých závorek 84. Access by při nezapsání hranatých závorek považoval vloženou hodnotu za text, se kterým porovnáváme hodnotu pole Datum. V případě, že by služebních cest do zvoleného místa bylo více (např. Brno), vypisovaly by se některé faktury vícekrát, neboť splnily vícekrát podmínku dřívějšího vydání faktury než zahájení více cest do vybraného místa. Proto ve vlastnostech dotazu zadáme do pole Jedinečné hodnoty hodnotu Ano. 82 Např. v našem případě by k zavedení referenční integrity mezi tabulkami Osoby a Místnosti bylo nutné, aby neexistovaly věty v tabulce Osoby s místností neuvedenou v tabulce Místnosti. Výsledkem uvedeného dotazu jsou věty dvou druhů: věty s místností neuvedenou v tabulce Místnosti (Vzhledem k tomu, že v naší databázi již referenční integrita byla zavedena, nemůže takový případ nastat.), věty s místností s nevyplněným telefonem v tabulce Místnosti. (Místnosti bez telefonu, které nejsou narušením referenční integrity.). 83 V případě více cest do Sokolova by bylo vhodné aplikovat v dotazu souhrn Max (viz kap ). 84 Levou hranatou závorku lze zapsat bez přepínání klávesnice kombinací kláves Ctrl Alt F, popř. pravý Alt F. Obdobně pravou hranatou závorku lze vložit kombinací kláves Ctrl Alt G, popř. pravý Alt G.

83 4 Dotazy Výpočty Výpočty v rámci věty P45a Délky cest DOTAZ P45A DÉLKY CEST: VÝPOČET Z HODNOT POLÍ V RÁMCI VĚTY Výpočty ve větě V poli můžeme uvést také výraz (viz již dotaz P43a). Ve výrazu můžeme použít pole z tabulek zařazených do konstrukce dotazu. Názvy polí se v Accessu zapisují do hranatých závorek. Pokud by jejich názvy v kontextu dalších tabulek v konstrukci dotazu nebyly jednoznačné, musel by před názvem pole být uveden v hranatých závorkách název tabulky oddělený od názvu pole vykřičníkem. Access nazve výsledné dopočtené pole Výraz1 (při více dopočtených polích Výraz2, Výraz3 atd.). Pokud chceme pole ve výsledku nazvat jinak, můžeme před výraz zapsat svůj titulek oddělený od výrazu dvojtečkou. Obdobně můžeme přejmenovat i pole, která nejsou definována výrazem. Vypište všechny údaje o služebních cestách a jejich délky. Cesty (15 vět) Výraz může používat nejen funkci, ale také může spojit názvy polí operátory. Délku cesty můžeme spočítat jako výsledek funkce DateDiff nebo rozdílem dvou polí Výpočty za skupinu vět P45b Poslední cesty DOTAZ P45B POSLEDNÍ CESTY: SOUHRN POLÍ ZA SKUPINU VĚT Souhrnné dotazy Výpočty za skupiny vět lze provést prostřednictvím souhrnných (agregovaných) dotazů. Z prostého výběrového dotazu vytvoříme souhrnný dotaz, když v kartě NÁVRH ve skupině ZOBRAZIT NEBO SKRÝT klikneme do tlačítka Souhrny. V návrhové mřížce se zobrazí navíc řádek Souhrn, v němž do polí, podle nichž se seskupuje, zadáme Seskupit. U polí definujících výběrovou podmínku zadáme Kde (viz dotaz P45e). U polí definujících shrnující funkci můžeme zapsat funkce: Sum: Součet hodnot pole. Avg: Průměrná hodnota v poli. (Hodnoty Null jsou ignorovány.) Var: Rozptyl hodnot v poli. Rozptyl se počítá dle vzorce: Sum Vypište datum dokončení poslední služební cesty do každého navštíveného místa. ( x x) 2 (n 1) StDev: Směrodatná odchylka hodnot v poli. Vypočítá se podle vzorce: ( x x) 2 (n 1) Count: Počet nenulových hodnot v poli. Min: Nejnižší hodnota v poli. (Malá a velká písmena v textových polích nejsou rozlišována.) Max: Nejvyšší hodnota v poli. First: Hodnota v poli v první větě vyhovující kritériím dle zadaného řazení. Last: Hodnota v poli v poslední větě vyhovující kritériím dle zadaného řazení. Cesty (11 vět) Výsledkem souhrnného dotazu je snímek, který na rozdíl od dynamické sady nelze přímo editovat.

84 4 Dotazy P45c Délky cest do jednotlivých míst 84 DOTAZ P45C DÉLKY CEST DO JEDNOTLIVÝCH MÍST: SOUČET VÝRAZU Z NĚKOLIKA POLÍ ZA SKUPINU VĚT Vypočtěte, kolik dní dohromady trvaly služební cesty do jednotlivých míst. Cesty (11 vět) Po uložení dotazu si upraví Access dotaz na tvar: P45d Cena dle místností DOTAZ P45D CENA DLE MÍSTNOSTÍ: SOUČTY S CELKOVÝM SOUČTEM Vypište pořizovací cenu vybavení místností v řazení dle oddělení a místností. Závěrem vypište celkovou pořizovací cenu vybavení ve firmě Encián. Místnosti Majetek_umístění Majetek_typy (28 vět) Souhrny lze počítat i za data z více tabulek. Tabulka Majetek_umístění není využita v návrhové mřížce, je však nutná pro spojení tabulek Místnosti a Majetek_typy. Celkový součet doplníme do výsledku dotazu jako do zobrazení tabulky. V zobrazení datového listu klikneme v kartě DOMŮ ve skupině ZÁZNAMY do tlačítka Souhrny. Rozbalíme nabídku v součtovém řádku ve sloupci Celková pořizovací cena a vybereme Součet. P45e Tržby za BON a FIN DOTAZ P45E TRŽBY ZA BON A FIN: KRITÉRIUM V SOUHRNU Vypočtěte celkovou tržbu dosaženou dohromady za programy BON a FIN v jednotlivých měsících. Faktury Licence Programy (6 vět) Kde Pokud bychom v řádku Souhrn pro pole Program uvedli Seskupit, součty tržeb by byly spočteny v jednotlivých měsících za jednotlivé programy. V našem případě uvádíme v řádku Souhrn pro pole Program hodnotu Kde. (Pole, v jehož sloupci je v řádku Souhrn uvedeno Kde, nelze přímo zobrazit. Museli bychom jej uvést ještě jednou do dalšího sloupce.) Součty tržeb se počítají za jednotlivé měsíce za oba programy dohromady. P45f Tržby v týdnech DOTAZ P45F TRŽBY V TÝDNECH: SOUHRN DLE ČÁSTI POLE Format Funkce Format umožňuje vybrat část časového pole a (na rozdíl od zobrazovacího formátu) s částí počítat, např. Format(Datum; ww ) zjistí z data pořadí týdne v roce. Vypište celkové tržby od podniků ve stádiu růst dosažené v jednotlivých týdnech. Podniky Faktury Licence Programy (17 vět) Val Funkce Format bohužel vrací pořadí týdne jako textový řetězec, dochází potom k špatnému řazení týdnů (1,10, 11,, 2, 20, 21, ), pro pole Týden můžeme využít:

85 4 Dotazy 85 funkci převádějící text na číslo: Týden: Val(Format([Datum];"ww")), popř. využijeme dříve vyloženou funkci DatePart: Týden: DatePart("ww";[Datum]). P45g Podniky s vysokými tržbami Podniky Faktury Licence Programy (9 vět) P45h Prvních pět lidí Min, max Faktury (5 vět) DOTAZ P45G PODNIKY S VYSOKÝMI TRŽBAMI: KRITÉRIUM VE VÝSLEDKU SOUHRNU Vypište podniky, od nichž jsme utržili alespoň Kč, v seřazení tržeb od nejvyšší po nejnižší. Pole Název_podniku slouží jen jako vysvětlení pole IČ, k jednomu identifikačnímu číslu organizace existuje jediný název podniku. DOTAZ P45H PRVNÍCH PĚT LIDÍ: OMEZENÍ POČTU VĚT VE VÝSLEDCÍCH Vypište pět zaměstnanců, kteří první fakturu vystavili nejdříve, v řazení dle data vystavení. Nejprve připravíme dotaz pro výpis nejstarších (minimálních) dat faktur připravených jednotlivými zaměstnanci. Využíváme data pouze z tabulky Faktury. Funkce Min, Max lze aplikovat i na pole typu Datum a čas. Omezení počtu vět P45i První čtvrtina lidí Faktury Licence Programy (3 věty) Dotaz upřesníme vlastností Nejvyšší hodnoty (vlastnost celého dotazu obdobně jako např. vlastnost Jedinečné hodnoty), do níž zapíšeme 5. Počet vypisovaných hodnot můžeme zadat absolutně či procentuálně. Název vlastnosti Nejvyšší hodnoty není přesný, Access vypisuje z výsledku jen počtem či procentuálně stanovený počet vět ze začátku výsledku. Aby se jednalo skutečně o nejvyšší hodnoty, musí být výsledek dotazu seřazen vzestupně. DOTAZ P45I PRVNÍ ČTVRTINA LIDÍ: VÝBĚR NĚKOLIKA VĚT S NEJVYŠŠÍ HODNOTOU POLE Vypište služební cesty, na nichž bylo 25 % zaměstnanců (z počtu fakturujících zaměstnanců), kteří dosáhli nejvyšší tržby. Zadání nelze vyřešit jediným dotazem. Přidáním tabulky Výjezdy do konstrukce dotazu by se totiž tržby každého zaměstnance započetly tolikrát, kolikrát byl na služební cestě. V prvním kroku proto pouze zjistíme zkrácené účty zaměstnanců a celkové tržby. Ve vlastnosti dotazu Nejvyšší hodnoty zadáme 25 %. Celkem fakturovalo 9 zaměstnanců, z toho 25 % je 2,25, což Access zaokrouhlí nahoru na 3. Přidáním tabulky Výjezdy (spojené s tabulkou faktury prostřednictvím pole Osoba) by se vypsaly 2 věty (25 % z 8 fakturujících zaměstnanců, kteří vyjeli alespoň na jednu služební cestu, Miloš Adamec fakturoval, ale nebyl na žádné služební cestě). Přidáním tabulky Cesty a polí Zahájení, Dokončení, Místo by se vypsalo 7 vět (25 % z 21 výjezdů fakturujících zaměstnanců by mělo být 6, avšak hodnota tržeb zaměstnanců na 6. a 7. místě byla stejná). P45j Cesty první čtvrtiny lidí DOTAZ P45J CESTY PRVNÍ ČTVRTINY LIDÍ: UPŘESNĚNÍ ÚDAJŮ O VYBRANÝCH VĚTÁCH Obdobně jako v dotazu P44j navazujeme na výsledky předchozího dotazu. V podokně Diagram připravíme datové sady P45i První čtvrtina lidí, Výjezdy a Cesty. Doplníme relaci mezi datovou sadou P45i První čtvrtina lidí a tabulkou Výjezdy a upravíme její typ. V souvislosti

86 4 Dotazy 86 P45i První čtvrtina lidí Výjezdy Cesty (5 vět) s tím musíme také upravit typ dvojité relace tabulek Výjezdy a Cesty, jinak by Access hlásil před zobrazováním výsledků dotazu chybu. Tři nejvíce fakturující zaměstnanci jsou zastoupeni 5 větami. Miloš Adamec nebyl na žádné cestě (díky typu spojení je zastoupen 1 větou), Eva Benešová byla na 3 cestách, Marie Sladká na 1 cestě. Parametrický dotaz P46a Měsíční tržby sekce Programy Licence Faktury Podniky NACE_Oddíly Oddíly_Sekce Sekce (0 6 vět, např. pro BON, A: 2 věty) 4.6 Parametrické dotazy V případě, že často používáme stejný výběrový dotaz, v němž měníme kritéria, můžeme vyžádat zadání kritérií při spuštění dotazu. Místo vypsání kritéria do návrhové mřížky zapíšeme v hranatých závorkách výzvu či více výzev pro uživatele dotazu. Po spuštění dotazu jsme dotázáni formou dialogových oken na parametrizovaná kritéria. DOTAZ P46A MĚSÍČNÍ TRŽBY SEKCE: PARAMETRICKÝ DOTAZ S PŘESNÝMI KRITÉRII Vypište měsíční tržby za vybraný program v rámci vybrané sekce podniků. Po spuštění dotazu jsme dotázáni formou dialogových oken na program (viz obr. 4-4) a sekci podniku. Teprve po jejich zadání se zobrazí výsledky. OBR. 4-4: ZADÁNÍ HODNOT PARAMETRU DOTAZU Sloupec Sekce_v je zařazen jako vysvětlivka názvu vybrané sekce, neovlivní počet výsledných vět. P46b Měsíční tržby NACE Podniky Faktury Licence Programy (0 6 vět, např. pro 47, BON 3 věty) DOTAZ P46B MĚSÍČNÍ TRŽBY NACE: PARAMETRICKÝ DOTAZ S PŘIBLIŽNÝM KRITÉRIEM Vypište měsíční tržby za vybraný program prodaný podnikům se zadaným základním NACE o libovolném počtu znaků. Slovo Like musíme do kritéria pole NACE1 napsat. Operátor & je nutný. Hvězdičku nemusíme zapisovat do uvozovek. Vyhledáme takto pouze podniky, které mají zadané NACE jako základní činnost, tj. ve sloupci NACE1.

87 4 Dotazy 87 DOTAZ P46C MĚSÍČNÍ TRŽBY NACE: PARAMETRICKÝ DOTAZ S PŘIBLIŽNÝM KRITÉRIEM P46c Měsíční tržby NACE1 a NACE2 Podniky Faktury Licence Programy (0 6 vět, např. pro 6832, FIN 3 věty) P46d Cesty od zadaného data Vypište měsíční tržby za vybraný program prodaný podnikům se zadaným NACE1 či NACE2 o libovolném počtu znaků. Stejně nazvaný parametr lze využít v konstrukci dotazu vícekrát. Uživatel parametr vyplňuje jen jednou. Rozdíl dotazů P46b a P46c je patrný na programu FIN a NACE DOTAZ P46D CESTY OD ZADANÉHO DATA: OMEZENÍ DATOVÉHO TYPU PARAMETRU PARAMETRICKÉHO DOTAZU Vypište služební cesty se zahájením v zadaném datu či později. Vypisujte dle zadání dotazu cesty zaměstnanců oprávněných či neoprávněných fakturovat. Osoby Výjezdy Cesty (např. pro nejstarší datum a oprávnění ano: 24 vět) Mezi Osoby a Výjezdy nutno upravit typ spojení (volit typ 1) Parametr Zadejte oprávnění musíme zadávat ve tvaru 1 (ano) nebo 0 (ne), což je nevhodné. Chceme umožnit zadávání ve tvaru ano nebo ne, dále chceme zamezit, abychom nezadali datum či oprávnění v nevhodném tvaru. (Správný tvar zadání data je kontrolován až po zadání obou parametrů.) Chceme tedy omezit datový typ parametrů. V návrhovém zobrazení dotazu klikneme v kartě NÁVRH ve skupině ZOBRAZIT NEBO SKRÝT do tlačítka Parametry. Zobrazíme dialogové okno Parametry dotazu, v němž do levého sloupce zapisujeme názvy parametrů, v pravém sloupci vybíráme datové typy parametrů (viz obr. 4-5). OBR. 4-5: DIALOGOVÉ OKNO PARAMETRY DOTAZU Názvy parametrů musíme do tabulky parametrů napsat přesně (včetně dvojteček), nejlépe je zkopírujeme prostřednictvím schránky. Když nyní spustíme dotaz, nedovolí nám Access zapsat do data nevhodný text. Na parametry jsme dotazováni v jejich pořadí dle tabulky parametrů. Zadáme-li nevhodnou hodnotu (např. datum ), Access zobrazí hlášení Zadaná hodnota není pro toto pole platná. V dialogovém okně parametru Zadejte oprávnění musíme vyplnit ano (popř. True, Zapnuto, 1) nebo ne (popř. False, Vypnuto, 0).

88 4 Dotazy Křížové dotazy P47a Počty lidí dle pohlaví a oddělení DOTAZ P47A POČTY LIDÍ DLE POHLAVÍ A ODDĚLENÍ: SOUHRN TABULKY DLE DVOU POLÍ Zjistěte, kolik je mužů a kolik žen je v jednotlivých odděleních. Osoby (11 vět) Vytvořili jsme běžný výběrový souhrnný dotaz známý z kap V sloupci Osoba zadáme do Souhrnu hodnotu Count. (Zjišťujeme počet vyplněných polí Osoba, které jsou jistě u každého zaměstnance vyplněné, neboť se jedná o primární klíč tabulky Osoby.) Výsledek je poměrně nepřehledný. Pro každé pohlaví je uvedeno ve výsledku tolik řádků, na kolika odděleních se vyskytuje (viz obr. 4-6). OBR. 4-6: VÝSLEDKY VÝBĚROVÉHO SOUHRNNÉHO DOTAZU P47b Křížová tabulka lidí Křížový dotaz DOTAZ P47B K ŘÍŽOVÁ TABULKA LIDÍ: KŘÍŽOVÝ DOTAZ S BĚŽNÝM POŘADÍM SLOUPCŮ Sestavte křížovou tabulku počtu zaměstnanců, v níž v řádcích budou pohlaví a ve sloupcích oddělení zaměstnanců. Sledování tabulky podle změny dvou polí je velmi častým způsobem analýzy. Access nabízí uspořádání výsledku do tzv. křížové tabulky. V řádcích jsou uvedeny varianty hodnot jednoho pole, ve sloupcích varianty hodnot jiného pole. 85 Křížovou tabulku vytvoříme křížovým dotazem: Vytvoříme nový dotaz, v němž použijeme tabulku Osoby. Klikneme do tlačítka Křížový ve skupině TYP DOTAZU. Názvy řádků návrhové mřížky se přizpůsobily novému typu dotazu. Místo řádku Zobrazit se vypisuje řádek Křížová tabulka, který je předsunut před řádek Řadit. Osoby (2 věty) Běžným způsobem přidáme do návrhové mřížky pole Pohlaví, Oddělení a Osoba. V řádku Souhrn se automaticky nastavuje Seskupit. V sloupci Osoba zadáme do Souhrnu hodnotu Count. V řádku Křížová tabulka: K jednomu či více polím zadáváme Záhlaví řádku. K právě jednomu poli zadáváme Záhlaví sloupce.86 K právě jednomu poli, které bude vyhodnoceno v křížové tabulce, zadáme Hodnota Křížový dotaz je obdobou jednoduché kontingenční tabulky v Excelu. Křížový dotaz může obsahovat několik hlaviček řádků, ale jen jednu hlavičku sloupce. Chceme-li, aby dotaz obsahoval více hlaviček sloupců a jednu hlavičku řádků, upravíme konstrukci tak, aby pole původně vybraná do sloupců byla uvedena v řádku a naopak pole původně vybrané do řádku bude uvedeno ve sloupcích.

89 4 Dotazy 89 Ve výsledku (viz obr. 4-7) jsou uvedeny hlavičky řádků (Pohlaví) v pořadí, jak se vyskytovaly v podkladové tabulce. Jejich řazení můžeme ovlivnit zadáním hodnoty v řádku Řadit. Hlavičky sloupců (Oddělení) jsou seřazeny v abecedním nebo číselném pořadí. OBR. 4-7: VÝSLEDKY KŘÍŽOVÉHO DOTAZU Pokud v návrhové mřížce bylo uvedeno více hlaviček řádků, ve výsledku by hlavička řádků byla zobrazena v několika sloupcích. Např. v našem příkladu bychom mohli požadovat výpis nejen dle pohlaví a oddělení, ale dle pohlaví, úvazku (řádek) a oddělení (sloupec). Klikneme pravým tlačítkem do titulku navigačního podokna. Z místní nabídky vybereme Seřadit pole a zadáme Název tak, aby různé druhy dotazů byly řazeny v pořadí jejich názvů, nikoliv typů. P47c Řazená oddělení Pořadí sloupců DOTAZ P47C ŘAZENÁ ODDĚLENÍ: KŘÍŽOVÁ TABULKA SE ZADANÝM POŘADÍM SLOUPCŮ Sestavte křížovou tabulku počtu zaměstnanců, v níž v řádcích budou pohlaví a ve sloupcích oddělení zaměstnanců, sloupce jsou uvedeny v pořadí RED, ANA, PRG, REK, DIS, KON. Návrhová mřížka je stejná jako v předchozím dotazu. V kartě NÁVRH ve skupině ZOBRAZIT NEBO SKRÝT klikneme do tlačítka Seznam vlastností. Do vlastnosti Záhlaví sloupců můžeme dopsat vlastní pořadí hodnot pole ve sloupcích. Jednotlivé hodnoty pole oddělujeme středníky. Pokud na některou hodnotu zapomeneme, nebude uveden její sloupec ve výsledku. Toho můžeme využít k omezení počtu sloupců výsledku. Do vlastnosti Hlavičky sloupců zapíšeme hodnotu RED;ANA;PRG;MAR;DIS;KON. K hodnotám se doplní uvozovky. DOTAZ P47D PRODEJE DLE PROGRAMŮ A MĚSÍCŮ: KŘÍŽOVÁ TABULKA S VÝRAZEM P47d Prodeje dle programů a V HLAVIČCE měsíců Sestavte křížovou tabulku počtu prodejů programů, v níž v řádcích budou programy a ve sloupcích měsíce prodeje. Faktury Licence (6 vět) Sloupec nadepsaný ve výsledku <> by případně zastupoval věty s nevyplněným polem Datum. P47e Tržby dle programů a měsíců DOTAZ P47E TRŽBY DLE PROGRAMŮ A MĚSÍCŮ: KŘÍŽOVÁ TABULKA VYCHÁZEJÍCÍ Z VÍCE TABULEK Sestavte křížovou tabulku tržeb z prodejů programů, v níž v řádcích budou programy včetně jejich názvů a ve sloupcích měsíce prodeje. Doplňte součtový řádek. Faktury Licence Programy (6 vět) V zobrazení Datový list v kartě DOMŮ ve skupině ZÁZNAMY klikneme do tlačítka Souhrny. Doplnit řádek souhrnů a pro všechny měsíce vybereme Součet. Po uložení a dalším otevření dotazu nebude řádek součtů zobrazen. Stačí však jen kliknout do tlačítka Souhrny a zobrazí se součty tržeb za jednotlivé měsíce. P47f Průměrné délky cest DOTAZ P47F PRŮMĚRNÉ DÉLKY CEST: FORMÁT VÝSLEDKU DOTAZU Vypočtěte průměrnou délku služební cesty dle pohlaví a dle oprávnění fakturovat.

90 4 Dotazy 90 Osoby Výjezdy Cesty (2 věty) Mezi Osoby a Výjezdy nutno upravit typ spojení (volit typ 1) Formát výsledného pole Sloupce jsou ve výsledku nadepsány 1 (oprávnění zaměstnanci) a 0 (neoprávnění zaměstnanci). Do vlastnosti dotazu doplníme do řádku Záhlaví sloupců hodnoty ano ; ne (včetně uvozovek). Průměrná délka se vypisuje ve formě desetinného čísla. Zobrazíme vlastnosti. Klikneme do kteréhokoliv řádku sloupce Délka a vybereme v poli Formát hodnotu pevný. Ve výsledku se nyní vypisuje průměrná délka s přesností na dvě desetinná místa. Pokud bychom chtěli zobrazit výsledek např. s přesností na tři desetinná místa, zapsali bychom do vlastnosti Formát hodnotu,000,87 popř. využijeme pro sloupec zaokrouhlovací funkci Round(Avg( );3). Po uložení si Access upraví sloupec Délka na výraz: Délka: Avg([Dokončení]-[Zahájení]) a do pole Seskupit vloží hodnotu Výraz. 4.8 Akční dotazy Akční dotazy Typy dotazů: výběrové křížové vytvářecí aktualizační odstraňovací přidávací Dotazy, které jsme zatím navrhovali, vytvářely sady záznamů, ale neupravovaly data v tabulkách. Výsledkem dotazů byly buď dynamické sady (můžeme aktualizovat jejich obsah) nebo snímky (nelze je aktualizovat, např. výsledky křížových dotazů). Jednalo se o výběrové a křížové dotazy. Typ dotazu se pro přehlednost zobrazuje symbolickým obrázkem před názvem dotazu v navigačním podokně. Např. křížové dotazy mají jiný obrázek než výběrové dotazy. Protikladem těchto dotazů jsou akční dotazy, které ovlivňují přímo tabulky. Dle výsledného působení můžeme akční dotazy dále rozdělit na: Vytvářecí dotazy tvoří místo sady vět novou tabulku, popř. přepíší stávající tabulku novou tabulkou. Aktualizační dotazy provádějí změny přímo v tabulce či skupině tabulek, k nimž chystáme dotaz. Odstraňovací dotazy odstraní z tabulky věty dle zadaných podmínek. Přidávací dotazy přidají do tabulky věty z jiné tabulky či skupiny tabulek. Vzhledem k závažnosti změn prováděných akčními dotazy jsme navíc před jejich provedením varováni.88 Toto varování se však nezobrazuje, pokud akční dotaz spouštíme z návrhu dotazu Vytvářecí dotazy P48a Tvorba Prodeje DIS DOTAZ P48A TVORBA PRODEJE DIS: VYTVÁŘECÍ DOTAZ Vytvářecí dotaz Zahájíme návrh nového dotazu. Přidáme postupně tabulky Osoby, Faktury, Licence, Programy. V kartě NÁVRH ve skupině TYP DOTAZU klikneme do tlačítka Vytvářecí. Zobrazí se dialogové okno Vytvořit tabulku (viz obr. 4-8). Z obsahu dialogového okna je patrné, že novou tabulku můžeme vytvořit v jiné databázi. My však vystačíme s aktuální otevřenou databází. Zadáme název nové (či vybereme název stávající přepisované) tabulky Prodeje DIS. Prodeje DIS Vytvořte tabulku Prodeje DIS, v níž bude přehled prodejů fakturovaných oddělením DIS (distribuce). Pro každý prodej uveďte všechna pole z tabulky Faktury, značku programu, sériové číslo licence, cenu a název programu Hodnota vlastnosti Formát se po uložení návrhu dotazu pamatuje, není však ve vlastnosti po dalším otevření návrhu zobrazena. Varování lze potlačit. V kartě SOUBOR klikneme do záložky Možnosti. V dialogovém okně Možnosti aplikace Access v kartě Nastavení klienta v sekci ÚPRAVY v části Potvrzení můžeme zrušit zaškrtnutí pole Akční dotazy.

91 4 Dotazy 91 OBR. 4-8: DIALOGOVÉ OKNO VYTVOŘIT TABULKU V návrhové mřížce definujeme strukturu nově vytvořené tabulky. Osoby Faktury Licence Programy (106 vět) Kontrola dotazu a spuštění Na rozdíl od výběrových a křížových dotazů se u akčních dotazů liší zobrazení (kontrola) v datovém listu a spuštění dotazu: Klikneme-li v kartě NÁVRH ve skupině VÝSLEDKY do tlačítka Zobrazení, zobrazí se vytvářené (popř. měněné, odstraňované, přidávané) věty v zobrazení datového listu. K žádným úpravám v tabulkách nedochází. Můžeme tak nezávazně zkontrolovat funkci dotazu. Klikneme-li v kartě NÁVRH ve skupině VÝSLEDKY do tlačítka Spustit, provede se dotaz, tj. vytvoří se nová tabulka (popř. se upraví obsah tabulek). Klikneme do tlačítka Spustit, vytvoří se nová tabulka Prodeje DIS. Pokud již tabulka existuje, Access nás upozorní, že původní tabulku nejprve odstraní. Název vytvářené tabulky se ukládá s návrhem dotazu jako jedna z vlastností dotazu, kterou můžeme později upravit (vlastnost Cílová tabulka). Vytvořená tabulka není v aktivní vazbě k původním tabulkám. Např. změnou cen v tabulce Programy by se neaktualizovala automaticky tabulka Prodeje DIS. Vytvořená tabulka se aktualizuje až znovuspuštěním vytvářecího dotazu, který původně vytvořenou tabulku přepíše. Vytvářecí dotazy proto využíváme jen výjimečně v následujících případech: Tvoříme záložní kopii tabulky. Tvoříme tabulku historie, která obsahuje staré záznamy. (Staré záznamy potom odstraníme z původní tabulky odstraňovacím dotazem.) Chceme zaznamenat stav tabulky k přesnému okamžiku. Tento stav nechceme aktualizovat pozdějšími změnami. (Např. bychom chtěli vytvořit seznam zaměstnanců k určitému datu.) Jak uvidíme v dalších kapitolách, na základě výsledků dotazů můžeme navrhovat formuláře a sestavy. Urychlení práce se sestavami lze také dosáhnout vytvořením podkladové tabulky vytvářecím dotazem. Např. když chceme vytisknout více sestav, které vycházejí ze složitějšího dotazu obsahujícího souhrny za objemné tabulky. Data v tabulce vytvořené vytvářecím dotazem jsou však zmrazena až do doby dalšího spuštění vytvářecího dotazu Aktualizační dotazy P48b Bonita 2025 DOTAZ P48B BONITA 2025: AKTUALIZAČNÍ DOTAZ Aktualizační dotaz Zahájíme návrh nového dotazu. Přidáme tabulku Prodeje DIS. V kartě NÁVRH ve skupině TYP DOTAZU klikneme do tlačítka Aktualizační. Návrhová mřížka se upravila. Místo řádků Řadit a Zobrazit je uveden řádek Aktualizovat do. Definujeme, která pole aktualizujeme (řádek Pole a Tabulka), definujeme nový obsah pole (řádek Aktualizovat do), změnu můžeme omezit na část vět danou kritériem (řádek Kritéria). V tabulce Prodeje DIS změňte název programu Bonita na název Bonita Prodeje DIS (32 vět) Dopad dotazu je vhodné zkontrolovat zobrazením datového listu. V datovém listu se nezobrazuje nový obsah měněného pole, ale původní obsah, který bude dotazem změněn.

92 4 Dotazy 92 Po spuštění dotazu jsme před provedením aktualizace seznámeni s počtem aktualizovaných vět. Tlačítkem Ne můžeme potlačit dokončení dotazu. Tlačítkem Ano vydáme souhlas k aktualizaci. P48c Změna názvu programů DOTAZ P48C ZMĚNA NÁZVU PROGRAMŮ: AKTUALIZAČNÍ DOTAZ DLE DAT Z JINÉ TABULKY V tabulce Prodeje DIS změňte názvy programů dle názvů v tabulce Programy. Do nového dotazu přidáme tabulky Prodeje DIS a Programy. Tabulky jsou propojeny automaticky polem Program. Řádek Aktualizovat do nejsnáze vyplníme pomocí Tvůrce výrazů (výběrem pole Program_v ze struktury tabulky Programy). Prodeje DIS Programy (106 vět) Odstraňovací dotazy P48d Odstranění starších prodejů Odstraňovací dotaz DOTAZ P48D ODSTRANĚNÍ STARŠÍCH PRODEJŮ: ODSTRAŇOVACÍ DOTAZ DLE POLE Z REDUKOVANÉ TABULKY Z tabulky Prodeje DIS odstraňte věty o prodejích realizovaných před Zahájíme návrh nového dotazu. Přidáme tabulku Prodeje DIS. Klikneme do tlačítka Odstranit ze skupiny TYP DOTAZU. Návrhová mřížka se upravila. Místo řádků Řadit a Zobrazit je uveden řádek Odstranit. Pokud je podokně Diagram uvedena jediná tabulka, nemusíme definovat, ze které tabulky chceme odstranit věty. Definujeme-li kritérium odstraňování vět, uvedeme do řádku Odstranit slovo Kde. Prodeje DIS (48 vět) Mřížky před a za konstantu typu Datum a čas doplnil v kritériu Access sám. Před ukončením dotazu jsme informováni o počtu odstraňovaných vět. Teprve po kliknutí do tlačítka Ano dojde k odstranění vět. P48e Odstranění růstových prodejů DOTAZ P48E ODSTRANĚNÍ RŮSTOVÝCH PRODEJŮ: ODSTRAŇOVACÍ DOTAZ DLE POLE Z JINÉ NEŽ REDUKOVANÉ TABULKY Z tabulky Prodeje DIS odstraňte prodeje fakturované podnikům ve stádiu růst. Pokud je v návrhu odstraňovacího dotazu použito více tabulek, musíme přetažením hvězdičky ze struktury redukované tabulky do návrhové mřížky vyznačit, ze které tabulky chceme odstraňovat věty splňující kritéria. V tomto sloupci návrhové mřížky je v řádku Odstranit uvedeno slovo From.89 Prodeje DIS Podniky (23 vět) Přidávací dotazy P48f Přidání starších prodejů DOTAZ P48F PŘIDÁNÍ STARŠÍCH PRODEJŮ: PŘIDÁVACÍ DOTAZ DLE POLE Z ROZŠIŘOVANÉ TABULKY Do tabulky Prodeje DIS přidejte prodeje fakturované před a realizované oddělením DIS. Přidávací dotaz Přidávací dotaz je obdobou vytvářecího dotazu. Netvoří však tabulku, ale přidává věty do stávající tabulky. 89 Pokud odstraňovací dotaz nefunguje, musíme jej vyzkoušet v kopii databáze, v níž odstraníme z tabulky Podniky vícehodnotové pole NACE.

93 4 Dotazy 93 Náš přidávací dotaz je podobný vytvářecímu dotazu P48a. V seznamu objektů kurzor přemístíme na P48a Tvorba prodeje DIS, stiskneme kombinaci kláves Ctrl C. Dále stiskneme kombinaci kláves Ctrl V a doplníme název dotazu P48f Přidání starších prodejů. Klikneme pravým tlačítkem na dotaz P48f a vybereme z místní nabídky Návrhové zobrazení. V kartě NÁVRH ve skupině TYP DOTAZU klikneme do tlačítka Připojit. Objeví se dialogové okno Přidat (je obdobné jako v obr. 4-8). Vybereme tabulku Prodeje DIS, do níž budeme připojovat nové věty. Osoby Faktury Licence Programy (48 vět) P48g Přidání růstových prodejů V návrhové mřížce upřesňujeme, jaká pole z výsledku dotazu (řádek Pole a Tabulka) se použijí k naplnění polí v cílové tabulce (řádek Přidat do). Pokud se v cílové tabulce vyskytují názvy polí z výsledku dotazu, Access sám řádek Přidat do vyplní (v našem případě všechna pole). Do návrhové mřížky doplníme kritérium pole Oddělení a Datum, abychom přidali pouze věty dříve odstraněných prodejů. Spuštěním dotazu se do dříve zadané tabulky doplní nové věty. Název rozšiřované tabulky se ukládá s návrhem dotazu jako jedna z vlastností dotazu (vlastnost Cílová tabulka). Bilance počtu vět: po dotazu kritéria úbytek/přírůstek počet vět P48c výchozí stav 106 P48d (DIS,) < P48e (DIS, >= ,) růst P48f DIS, < P48g DIS, >= , růst DOTAZ P48G PŘIDÁNÍ RŮSTOVÝCH PRODEJŮ: PŘIDÁVACÍ DOTAZ DLE POLE Z JINÉ NEŽ ROZŠIŘOVANÉ TABULKY Do tabulky Prodeje DIS přidejte prodeje fakturované podnikům ve stádiu růst. Přidávací dotaz je podobný předchozímu P48f. Nejprve zkopírujeme předchozí dotaz s novým názvem P48g Přidání růstových prodejů. V návrhu dotazu v kartě NÁVRH ve skupině NASTAVENÍ DOTAZU klikneme do tlačítka Zobrazit tabulku a ze seznamu tabulek přidáme do podokna Diagram dotazu tabulku Podniky. Do návrhové mřížky doplníme pole Stádium, v němž definujeme kritérium růst. Do pole Datum musíme přidat kritérium opačně než v předchozím dotazu, abychom dvakrát nepřidávali věty o prodejích podnikům stádia růst fakturované před Osoby Faktury Licence Programy Podniky (23 vět) Pro pole Stádium se nevyplnil řádek Přidat do, což je v souladu s tím, že tato pole nepřidáváme do výsledné tabulky Prodeje DIS. 4.9 Jazyk SQL Jazyk SQL Dotazování prostřednictvím návrhové mřížky je velmi pohodlné. V databázových systémech se pro tvorbu dotazů využívá často jazyk SQL (Structured Query Language strukturovaný dotazovací jazyk). Každý dotaz vytvořený Accessem má přiřazeny příkazy SQL definující jeho akce. Příkazy jazyka SQL můžeme zobrazit v samostatném podokně, když v kartě NÁVRH ve skupině ZOBRAZENÍ klikneme do spodní části tlačítka Zobrazení a vybereme Zobrazení SQL nebo ve stavovém řádku klikneme do tlačítka Zobrazení SQL. Např. v obr. 4-9 je uveden předchozí dotaz v jazyce SQL. Při dobré znalosti jazyka SQL můžeme dotazovací příkazy psát či modifikovat v jazyce SQL.

94 4 Dotazy 94 OBR. 4-9: PŘIDÁVACÍ DOTAZ V JAZYCE SQL Pomocí jazyka SQL můžeme vytvořit tři další typy dotazů, které nelze připravit pomocí návrhové mřížky: Sjednocovací dotaz: Slučuje odpovídající pole z více než jedné tabulky do sady záznamů. Předávací dotaz: Odesílá příkazy do databáze ODBC, např. Microsoft SQL server. Definiční dotaz: Vytvoří nebo změní objekty databáze, např. tabulky. Ilustrujme si použití SQL na sjednocovacím dotazu. P49a Kódy DOTAZ P49A KÓDY: SJEDNOCOVACÍ DOTAZ Vypište kódy a vysvětlivky oddělení i programů. Sjednocovací dotaz (12 vět) Vytvoříme výběrový dotaz vycházející z tabulky Oddělení, který vypisuje pole Oddělení a Oddělení_v. Ve stavovém řádku klikneme vpravo dole do tlačítka Zobrazení SQL. Odstraníme názvy tabulek před názvy jejich sloupců, názvy tabulek nejsou nutné. Odstraníme středník na konci příkazu za názvem tabulky Oddělení. Doplníme po volném řádku další dva řádky a ukončíme je středníkem. Při psaní SQL kódu Access nerozlišuje malá a velká písmena, v případě jednoslovných názvů polí a tabulek není nutné psát hranaté závorky, všechny příkazy lze zapsat do jednoho řádku. Vysvětlivky použitých vyhrazených slov: SELECT Oddělení, Oddělení_v SELECT: Zahájení výběrového příkazu. FROM Oddělení FROM: Upřesnění tabulky, z níž pole vybíráme. UNION SELECT Program, Program_v FROM Programy; P49b Seřazené kódy UNION SELECT: Připojení výběru z další tabulky. DOTAZ P49B SEŘAZENÉ KÓDY: SJEDNOCOVACÍ DOTAZ SE SEŘAZENÝM VÝSLEDKEM Vypište kódy a vysvětlivky oddělení i programů. Sloupce správně nadepište Kód a Kód_v. Seznam vypište v seřazení dle vysvětlivek. SELECT Oddělení AS Kód, Oddělení_v AS Kód_v FROM Oddělení Vysvětlivky použitých vyhrazených slov: SELECT: Zahájení výběrového příkazu. AS: Vybrané pole je v odpovědi přejmenováno. FROM: Upřesnění tabulky, z níž pole vybíráme. UNION SELECT UNION SELECT: Připojení výběru z další tabulky. Program, Program_v FROM Programy ORDER BY Kód_v; ORDER BY: Definice řazení dle pole výsledku. Vzhledem k tomu, že kódy jsou tvořeny prvními třemi znaky vysvětlivky, pořadí vět se oproti předchozímu dotazu nezměnilo. Ze zobrazení SQL nelze pro použití speciálních příkazů přejít do návrhového zobrazení.

95 5 Formuláře 95 5 Formuláře Význam formulářů Druhy formulářů Zobrazení formuláře Struktura formuláře Ovládací prvky 5.1 Druhy formulářů Dalším objektem po tabulkách a dotazech je formulář. Formulář usnadňuje uživateli zadávání, úpravu a zobrazování dat z tabulky či dotazu. Umožňuje také data vytisknout, k tisku slouží především jiný objekt sestavy. Na rozdíl od zobrazení datového listu tabulek či dotazů nemusíme zobrazovat všechna pole 90. Pole nemusí být zobrazena v jediném řádku, do formuláře lze přidat tlačítka a doplnit další prvky automatizace často prováděných akcí formou reakce na události (např. makro či podprogram při otevření formuláře). Dle počtu vět ve formuláři lze rozdělit formuláře na druhy: Samostatný formulář na rozdíl od zobrazení datového listu zobrazuje pouze data jediné věty, např. personální údaje o jednom zaměstnanci. Samostatný formulář vytvoříme snadno, když: V navigačním podokně kliknutím označíme příslušnou tabulku či dotaz. V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Formulář. Další druhy formulářů jsou kompromisem mezi zobrazením datového listu a formuláře: Rozdělený formulář: Kromě formuláře je zobrazen datový list podkladové tabulky či dotazu za účelem snadného hledání vět. Datový list může být zobrazen pod, nad, napravo či nalevo od formuláře. Nekonečný formulář: Věty jsou zobrazeny formou tabulky. V řádku tabulky může však být více dílčích řádků polí, lze přidat tlačítka a obrázky. Formulář lze zobrazit několika zobrazeními 91 : Formulářové zobrazení: Zobrazení, v němž lze používat formulář, nelze v něm provádět změny návrhu, např. rozšiřovat pole. Zobrazení rozložení: Zobrazení, v němž lze provádět řadu změn návrhu formuláře. V zobrazení rozložení jsou při úpravách formuláře zobrazena data, zobrazení je tak vhodné např. při nastavení velikosti polí. Návrhové zobrazení: Zobrazení, v němž nejsou zobrazena data, lze v něm provádět veškeré změny návrhu, mj.: Jsou zobrazeny sekce (oddíly) Záhlaví, Podrobnosti a Zápatí, lze měnit jejich velikost. Lze měnit zásadní vlastnosti formuláře, např. Výchozí zobrazení. Lze přidat do formuláře další ovládací prvky, např. popisky, obrázky, čáry. Lze upravit zdroje ovládacích prvků. Zobrazení datového listu: Zobrazení podkladové tabulky či dotazu ve formě datového listu. Formulář se skládá z několika sekcí: Záhlaví formuláře a Zápatí formuláře jsou zobrazeny v horním a dolním kraji formuláře. V případě nekonečného formuláře jsou zobrazeny bez ohledu na věty zobrazené v podrobnostech formuláře. Pokud v nich uvádíme souhrny, jsou zobrazeny souhrny za všechna podkladová data, nejen za data zobrazená ve formuláři. Záhlaví stránky a Zápatí stránky se uplatňují jen při tisku formuláře, nejsou v běžných zobrazeních vidět. 92 Podrobnosti obsahuje prvky vztahující se k jednotlivým větám. Ovládací prvky jsou objekty použité ve formuláři. Zobrazují data z podkladové tabulky či dotazu a doplňkové informace (např. popisky dat a obrázky). Dle návaznosti na podkladová data existují různé druhy ovládacích prvků: Vázaný ovládací prvek: Zdrojem je pole z podkladové tabulky či dotazu. Slouží k zobrazení hodnot. Dle zobrazované hodnoty existuje několik typů vázaných ovládacích prvků: 90 V tabulce lze také skrýt vybraná pole. Skrytí a zobrazování skrytých polí může však uživatele zdržovat. Výběr polí můžeme diferencovat v různých formulářích ke stejné tabulce. 91 Ve vlastnostech formuláře lze zamezit nabízení jednotlivých zobrazení (formulářového zobrazení, zobrazení datového listu, zobrazení rozložení). 92 Náhled tisku je možné prohlédnout v kartě SOUBOR, dílčí kartě Tisk kliknutím do tlačítka Náhled.

96 5 Formuláře 96 Tlačítka tvorby formuláře Textové pole: pro pole typu Krátký text, Dlouhý text, Číslo, Měna, Automatické číslo, Datum a čas nebo Hypertext. Seznam, Pole se seznamem: pro pole typu Krátký text nebo Číslo s možností výběru. Zaškrtávací políčko, Přepínač, Přepínací tlačítko: Zobrazení a výběr hodnot typu Ano/ne. Rámeček vázaného objektu: pro pole typu Objekt OLE se zobrazením obrázku. Příloha: pro pole typu Příloha. Podformulář: pro zobrazení podformuláře v hlavním formuláři (viz kap. 5.6). Graf: grafické zobrazení dat (se zvláštním zdrojem), která mohou být ve vztahu k zobrazené větě. Vypočítaný ovládací prvek: Zdrojem dat není přímo pole z podkladové tabulky či dotazu, ale výraz obsahující data podkladové tabulky či dotazu či hodnoty z jiných ovládacích prvků formuláře. Ve výrazu je možné použít funkce. Nevázaný ovládací prvek: Nemá zdroj dat. Zvyšuje přehlednost formuláře. Mezi nevázané ovládací prvky patří: Popisek: Konstantní text zapsaný do formuláře. Často bývá přidružen k některému vázanému ovládacímu prvku. Hypertextový odkaz: Konstantní hypertextový odkaz např. na web firmy. Obrázek: Konstantní obrázek. Rámeček nevázaného objektu: Konstantní obsah objektu jiné aplikace. Čára: Čára, která může graficky zpřehlednit strukturu formuláře. Obdélník: Obdélník, který může graficky zpřehlednit strukturu formuláře. Konec stránky: Při tisku se zahájí tisk na novou stránku. Speciální nevázané ovládací prvky mají určené místo ve struktuře formuláře: Logo: Konstantní obrázek umístěný v záhlaví formuláře Název: Konstantní text umístěný v záhlaví formuláře vedle loga. Číslo stránky: Číslo tiskové stránky formuláře. Lze jej vložit do záhlaví či zápatí stránky a volitelně zarovnat. Datum a čas: Aktuální datum, popř. čas v pravém horním rohu záhlaví formuláře. Pokud formulář zobrazuje větší množství dat, lze data rozdělit do karet, potom se používá ovládací prvek: Karta: Obsahuje několik stránek, v nichž mohou být různé ovládací prvky. Tlačítka pro tvorbu formuláře jsou soustředěna v kartě VYTVOŘENÍ ve skupině FORMULÁŘE. Všechna tlačítka vytvoří prvotní návrh formuláře a zobrazí jej v zobrazení rozložení s výjimkou tlačítka Návrh formuláře, které zobrazí formulář v návrhovém zobrazení. Tlačítka se liší dle obsahu prvotního návrhu: Formulář: Jako podklad je využit objekt označený v navigačním podokně. 93 Z dat je vytvořen samostatný formulář včetně záhlaví formuláře, v němž je uveden datový zdroj. Název formuláře je převzat z názvu datového zdroje. 94 Ovládací prvky jsou v tzv. skládaném rozložení (pole v řádcích). Tažením za kraj ovládacího prvku můžeme tak snadno měnit jeho umístění v řádcích. Návrh formuláře: Vytvoří se nový prázdný formulář, který nemá definován datový zdroj. Formulář se zobrazí v návrhovém zobrazení. Prázdný formulář: Vytvoří se nový prázdný formulář, který nemá definován datový zdroj. Formuláře se zobrazí v zobrazení rozložení. Průvodce formulářem: V průvodci vybereme podkladovou tabulku či dotaz, pole formuláře, způsob rozložení ovládacích prvků ve formuláři (sloupcové pole v řádcích, tabulkové pole ve sloupcích, datový list, zarovnané pole zarovnané do formuláře) a název formuláře. 93 V případě, že je označen formulář či sestava je jako podklad převzat jejich zdroj záznamů. V případě, že je označeno makro nebo modul, není většina tlačítek skupiny FORMULÁŘE dostupná. 94 Tabulky a dotazy nesmí mít shodné názvy. Formulář může mít však název totožný s názvem tabulky či dotazu. Pokud by již formulář se stejným názvem existoval, byla by k názvu doplněna číslice.

97 5 Formuláře 97 Navigace: Vytvoření formuláře s navigací na jiné formuláře a sestavy. Formuláře a sestavy jsou uspořádány v kartách se záložkami v různých variantách uspořádání (vodorovné, svislé či kombinované). Další formuláře: K dispozici jsou méně časté varianty vytvořeného formuláře: Více položek: Na základě objektu označeného v navigačním podokně je vytvořen nekonečný formulář. Každá věta je v samostatném řádku. V případě obrázků je zvýšena velikost řádku, aby byl zmenšený obrázek vidět. Ovládací prvky jsou v tabulkovém rozložení (pole ve sloupcích). Tažením za kraj ovládacího prvku můžeme měnit jeho umístění ve sloupcích. Datový list: Připraví se formulář s výchozím zobrazením v datovém listu. Rozdělený formulář: Opět je využit jako podklad objekt označený v navigačním podokně. Z dat je však vytvořen rozdělený formulář obdoba samostatného formuláře se zobrazením datového listu pod formulářem. Modální dialogové okno: Vytvořený formulář nemá definován datový zdroj. Má připravena dvě tlačítka OK a Storno bez přiřazených událostí. Formulář má pro vlastnost Modální okno nastavenu hodnotu Ano Samostatný formulář Připravíme formulář pro zobrazení dat tabulky Osoby. Cílový vzhled formuláře je uveden v obr OBR. 5-1: FORMULÁŘOVÉ ZOBRAZENÍ FORMULÁŘE K TABULCE OSOBY 95 Modální okna vyžadují před přechodem k jinému formuláři nebo dialogovému oknu akci uživatele, např. kliknutí do tlačítka OK. Používají se při programování.

98 5 Formuláře 98 Návrhové zobrazení Vlastnosti Pole ve formuláři Abychom demonstrovali co nejvíce možností tvorby formuláře, vyjdeme z prázdného formuláře v návrhovém zobrazení: V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Návrh formuláře. Připraví se prázdný formulář nazvaný Form1. Výchozí návrh obsahuje pouze sekci Podrobnosti o šířce asi 12 cm a výšce asi 10 cm. Přesný návrh formuláře usnadňuje vodorovné a svislé pravítko. V podrobnostech formuláře je zobrazen rastr mřížky dělené na ose x i ose y po 1 cm. Ovládací prvky budou přichycovány levým horním rohem k mřížce. 96 Formulář a jeho objekty mají řadu vlastností: Zobrazíme seznam vlastností formuláře: v kartě NÁVRH ve skupině NÁSTROJE klikneme do tlačítka Seznam vlastností nebo stiskneme kombinaci kláves Alt Enter nebo stiskneme klávesu F4. Zobrazí se okno Seznam vlastností. Pozici okna můžeme tažením za titulek okna měnit. Tažením k pravému nebo levému kraji okna Accessu můžeme okno ukotvit ke kraji. Pokud není okno ukotveno, můžeme tažením za jeho kraje měnit jeho velikost. Tažením za příčku mezi dvěma sloupci okna můžeme měnit proporci sloupce názvu vlastností a jejich hodnot. Každý objekt má své vlastnosti. Když je zobrazeno okno Seznam vlastností, můžeme objekt, jehož vlastnosti zobrazíme, měnit kliknutím do objektu. Např. v našem případě kliknutím do bílé plochy podrobností zobrazíme vlastnosti sekce podrobností, kliknutím do pravítka nebo průsečíku pravítek zobrazíme vlastnosti formuláře. Objekt můžeme také vybrat v záhlaví okna Seznam vlastností. Vlastností je velké množství. Jsou proto rozděleny do skupin v kartách, poslední karta obsahuje všechny vlastnosti. Okno Seznam vlastností ukotvíme k pravému kraji. Pro formulář změníme v kartě Formátové nebo v kartě Vše vlastnosti Dělení osy x mřížky a Dělení osy y mřížky z hodnoty 10 na 5. Mřížka obsahuje nyní detailní dělení po 0,2 cm (5 bodů na 1 cm). Detailní dělení je zobrazeno jen pro menší počet dílčích dílků, pro dělení 10 nebylo zobrazeno, přichycování by však bylo funkční. Formulář zatím nemá definován zdroj záznamů, vlastnost formuláře Zdroj záznamů (ze skupiny Datové) není vyplněna. Do formuláře postupně přidáme jednotlivá pole: Zobrazíme seznam dostupných polí: v kartě NÁVRH ve skupině NÁSTROJE klikneme do tlačítka Přidat existují pole nebo stiskneme kombinaci kláves Alt F8. Místo okna Seznam vlastností se zobrazilo okno Seznam polí. V okně je seznam polí použitých ve formuláři. Chceme vybrat pole z libovolné tabulky databáze. Klikneme do odkazu Zobrazit všechny tabulky. V okně je přehled všech tabulek aktuální databáze. Pro každou tabulku je před jejím názvem rozbalovací tlačítko. Napravo od názvu tabulky je odkaz Upravit tabulku, kterým můžeme zobrazit tabulku v zobrazení datového listu a upravit její obsah. Rozbalíme tabulku Osoby. Dvojitě klikneme na pole Osoba. Do podrobností formuláře se umístil ovládací prvek Osoba a s ním svázaný konstantní popisek Zaměstnanec převzatý z titulku pole Osoba ve struktuře tabulky Osoby. V okně Seznam polí jsou nyní tabulky a jejich pole rozděleny do tří skupin: Pole dostupná pro toto zobrazení: pole tabulky (později více tabulek), která jsou ve zdroji záznamů formuláře, po umístění pole Osoba je zde nabízena tabulka Osoby a její pole. Pole dostupná v souvisejících tabulkách: tabulky, které mají v relacích přímé vazby na tabulku Osoby (obecně přímé vazby na tabulky ze skupiny POLE DOSTUPNÁ PRO TOTO ZOBRAZENÍ). 96 Zobrazování pravítka a mřížky lze potlačit v kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOSTI A POŘADÍ tlačítkem Velikost a mezery a volbami Mřížka a Pravítko. Ovládací prvky jsou přichycovány k mřížce, pokud je zatlačena volba Přichytit k mřížce rovněž u tlačítka Velikost a mezery.

99 5 Formuláře 99 Úpravy ovládacích prvků Rozložení ovládacích prvků Pole dostupná v jiných tabulkách: tabulky, které nemají v relacích přímé vazby na tabulku Osoby. Kliknutím na horní řádek podokna Zobrazit pouze pole v aktuálním zdroji záznamu můžeme zobrazit pouze pole použitá ve formuláři, tj. část polí z první skupiny. V našem případě by to bylo pole Osoba. Klávesou F4 zobrazíme opět okno Seznam vlastností. Ve vlastnosti formuláře Zdroj záznamů je již hodnota SELECT Osoby.Osoba, tj. SQL forma dotazu, který je podkladovým zdrojem formuláře: Na konci řádku vlastnosti Zdroj záznamů můžeme vyklopit seznam tabulek a dotazů a výběrem změnit zdroj. Kliknutím do tlačítka se třemi tečkami můžeme zobrazit QBE mřížku podkladového dotazu a dotaz modifikovat. 97 Z aplikační karty návrhu dotazu se vrátíme do formuláře, když v kartě NÁVRH ve skupině ZAVŘÍT klikneme do tlačítka Zavřít. Kombinací kláves Alt F8 zobrazíme okno Seznam polí a klikneme do odkazu Zobrazit všechny tabulky. Dvojitě klikneme na pole Titul1. Ovládací prvek se umístí přes textové pole Osoba. Stisknutím klávesy Delete odstraníme textové pole Titul1 i jeho popisek. Tažením z okna Seznam polí do podrobností formuláře umístíme pole Titul1 pod pole Osoba. V podrobnostech formuláře můžeme upravovat ovládací prvky: Kliknutím označíme ovládací prvek. Tažením za jeho kraj můžeme přemístit např. textové pole Titul1 a s ním přidružený popisek Titul před jménem. Obdobně můžeme přemístit popisek a přidružené textové pole. Tažením za čtvercový úchyt v levém horním rohu můžeme přemístit ovládací prvek bez souběžného přemístění popisku. Tažením za úchyt uprostřed kraje ovládacího prvku můžeme modifikovat jeho výšku či šířku. Tažením za úchyt v (jiném než levém horním) rohu můžeme modifikovat současně výšku i šířku ovládacího prvku. Abychom nemuseli upravovat polohu a velikost ovládacích prvků vkládaných do formuláře, využijeme rozložení ovládacích prvků: Kliknutím označíme textové pole Osoba. Držením klávesy Shift a kliknutím současně označíme textové pole Titul1. V kartě USPOŘÁDÁNÍ ve skupině TABULKA klikneme do tlačítka Skládané. Rozložení zajišťuje svislé (skládané) či vodorovné (tabulkové) zarovnání ovládacích prvků. Ovládací prvky tvoří pomyslnou tabulku. V případě skládaného rozložení jsou popisky uvedeny vlevo od textových polí. Formulář může obsahovat více rozložení obou typů. Celé rozložení lze vybrat kliknutím do voliče kříže v levém horním rohu rozložení. V rozložení mají všechny popisky stejnou šířku, rovněž všechna pole mají stejnou šířku. Modifikací šířky jednoho ovládacího prvku se změní šířky všech ostatních ovládacích prvků (popisků či polí). Do podrobností formuláře přidáme další ovládací prvky: Do rozložení přidáme další pole Jméno. Táhneme pole ze Seznamu polí pod ovládací prvek Titul1. Růžová vodorovná čára signalizuje, že se Jméno stane součástí rozložení. Vázaný ovládací prvek Jméno se díky definici ve struktuře dat přidal jako pole se seznamem. Obdobně přidáme pole Příjmení, Titul2, Pohlaví, Místnost, Telefon, Oddělení, Nadřízený, Charakteristika, Úvazek, Web_stránka, Web_foto, Foto, Oprávnění. Klikneme do pole Příjmení a s klávesou Shift do pole Oprávnění a táhneme je pod pole Jméno. Fotografie zaměstnance je malá. Chceme ji umístit napravo od skládaného rozložení polí. Kliknutím do bílého pozadí sekce PODROBNOSTI zrušíme označení více ovládacích prvků. Kliknutím označíme vázaný ovládací prvek Foto. V kartě USPOŘÁDÁNÍ ve skupině TABULKA klikneme do tlačítka Odebrat rozložení. Popisek i vázaný ovládací prvek Rámeček vázaného objektu přestaly být součástí rozložení. Ovládací prvek Oprávnění fakturovat se posunul 97 Když klikneme v kartě NÁVRH ve skupině ZAVŘÍT do tlačítka Uložit jako, můžemedotaz uložit pod názvem jako samostatný dotaz a použít jej např. také pro jiný formulář.

100 5 Formuláře 100 Formulářové zobrazení Zobrazení rozložení Uzamčení pole nahoru a překrývá se nyní s prvkem Foto. Tažením za okraj vázaného prvku přesuneme popisek i vázaný prvek napravo nahoru od ostatních polí. Klikneme do popisku Foto a klávesou Delete jej odstraníme. Tažením za střed spodního kraje zvýšíme pole Foto dle jeho šířky (asi 6,4 cm). Pole Web_foto i s jeho popiskem odstraníme. Klikneme do textového pole a s klávesou Shift do popisku 98. Stiskneme klávesu Delete. Pole bylo součástí rozložení, proto se přisunulo pole Oprávnění fakturovat výše pod pole Web_stránka. Ve stavovém řádku klikneme do tlačítka Formulářové zobrazení. Ve formuláři jsou obsažena data z tabulky Osoby, jsou řazena dle pole Osoba (Zaměstnanec). Vrátíme se do návrhu kliknutím do tlačítka Návrhové zobrazení. Zdrojem dat pro formulář je zatím jen tabulka Osoby. Chceme pod Oddělení dopsat vysvětlivku zkratky oddělení. V okně Seznam polí vybereme pole tentokrát ze skupiny Pole dostupná v souvisejících tabulkách. 99 Z tabulky Oddělení přetáhneme do formuláře pod Oddělení pole Oddělení_v. Tabulka Oddělení se v Seznamu polí přesunula do skupiny Pole dostupná pro toto zobrazení. Do vlastnosti formuláře Zdroj záznamů se vložil dotaz obsahující všechna pole tabulky Osoby a pole Oddělení_v z tabulky Oddělení. 100 Podívejme se nyní na zobrazení formuláře: Ve stavovém řádku klikneme do tlačítka Formulářové zobrazení. Věty jsou řazeny dle oddělení. Upravíme řazení ve zdrojovém dotazu: Přejdeme do návrhového zobrazení. Klávesou F4 zobrazíme seznam vlastností polí. Kliknutím do průsečíku vodorovného a svislého pravítka zobrazíme vlastnosti formuláře. V datové vlastnosti Zdroj záznamů klikneme do tlačítka Tvůrce (tři tečky). V dotazovací mřížce doplníme do sloupce Příjmení do řádku Řadit hodnotu Vzestupně. Do dotazovací mřížky doplníme ještě jednou pole Jméno, které nezobrazujeme, řadíme dle něj vzestupně. Ukončíme práci s aplikací kartou kliknutím do tlačítka Zavřít. Potvrdíme uložení dotazu. Prohlédneme řazení ve formulářovém zobrazení. Řazení je převzato ze zdrojového dotazu. Alternativní řešení řazení: Ve formulářovém zobrazení klikneme do pole Osoba. V kartě DOMŮ ve skupině SEŘADIT A FILTROVAT klikneme do tlačítka Vzestupně. Upravili jsme tak datovou vlastnost formuláře Řadit podle. Přesvědčíme se o tom v návrhovém zobrazení. V návrhu formuláře chceme provést některé úpravy velikosti ovládacích prvků. Velikost optimálně nastavíme při zobrazení dat. Využijeme proto zobrazení rozložení: Ve stavovém řádku klikneme do tlačítka Zobrazení rozložení. Také v zobrazení rozložení můžeme zobrazit podokno vlastností či seznamu polí. Tažením za spodní kraj pole Pohlaví zmenšíme jeho výšku. Klikneme do pole Foto a formátovou vlastnost Styl okraje změníme z hodnoty plná čára na hodnotu Průhledná čára. Zdrojový dotaz má charakter dynamické sady. Můžeme proto editovat název oddělení, který by se promítnul do tabulky Oddělení. Formulář bude sloužit pouze k editaci tabulky Osoby. Upravíme proto ovládací prvek Oddělení_v a jeho popisek: 98 Pokud bychom nevybrali i popisek, odstranil by se i popisek, ale v rozložení by pro ovládacích prvcích zůstal volný řádek. Bylo by nutné vybrat obě buňky podkladové tabulky a odstranit je klávesou Delete. 99 Pokud není skupina Pole dostupná v souvisejících tabulkách zobrazena, klikneme do řádku Zobrazit všechny tabulky. 100 Dotaz jsme mohli upravit také v dotazovací mřížce. Kdybychom v návrhu dotazu přidali tabulku Oddělení a z ní vybrali pole Oddělení_v, také by se tabulka Oddělení přesunula do skupiny Pole dostupná pro toto zobrazení. Kdybychom naopak později ve zdrojovém dotazu odstranili pole Oddělení_v, zobrazil by se ve formuláři pro pole Oddělení_v v levém horním rohu zelený trojúhelník, který by signalizoval, že nejsou k dispozici potřebná data. Ve formulářovém zobrazení a v zobrazení rozložení by místo hodnoty byl vypisován text #Název?, který by oznamoval, že není známý název pole.

101 5 Formuláře 101 Pole se seznamem Odebrání rozložení V zobrazení rozložení zobrazíme seznam vlastností textového pole Oddělení_v. Změníme hodnotu datové vlastnosti Uzamknout na ano. 101 V zobrazení rozložení nelze editovat věty. Kliknutím do tlačítka Zobrazení rozložení přejdeme do formulářového zobrazení. Nyní již nelze upravit hodnotu názvu oddělení. Vrátíme se do zobrazení rozložení a pro Oddělení_v upravíme formátovou vlastnost Styl okraje na hodnotu Průhledná čára. Upravíme popisek pole Oddělení_v změnou vlastnosti Titulek nebo přímo editací textu ve formuláři. Zadáme hodnotu Název oddělení. Oproti návrhu tabulky Osoby bychom rádi usnadnili vkládání do pole Titul1 seznamem již vložených hodnot: V návrhovém zobrazení klikneme pravým tlačítkem na pole Titul1 a vybereme z místní nabídky volbu Změnit na, Pole se seznamem. Nemáme připravený vhodný dotaz, proto klikneme do tlačítka Tvůrce na konci vlastnosti Zdroj řádků. Vybereme tabulku Osoby, z ní pole Titul1. Ve vlastnosti dotazu zadáme do vlastnosti Jedinečné hodnoty hodnotu ano. Pro jediné pole Titul1 zadáme v dotazovací mřížce řazení vzestupně. Návrh dotazu ukončíme v kartě NÁVRH ve skupině ZAVŘÍT tlačítkem Zavřít. 102 Potvrdíme uložení změn. Ve formulářovém zobrazení je nyní již seznam hodnot. Hodnota žádný je uvedena dvakrát, neboť zastupuje prázdnou (Lukáš Škoda) a nulovou hodnotu (ostatní zaměstnanci). Zdrojový dotaz je typu statický snímek, jeho doplnění neumožní ani hodnota Ano datové vlastnosti Povolit úpravy seznamu hodnot (na rozdíl např. od možnosti doplnění dalšího oddělení). Pokud v nové větě přibude do seznamu další hodnota, např. nový titul, projeví se v seznamu až po aktualizaci kombinací kláves Shift F9 (spojenou s přechodem na první větu), při novém otevření formuláře:» zavřením a otevřením formuláře,» přechodem do návrhového zobrazení a návratem do formulářového zobrazení. 103 Obdobně chceme nabídnout seznam pro pole Titul2. Nejdříve změníme pole Titul2 na pole se seznamem. Zdrojový dotaz bude podobný. Zkopírujeme vlastnosti Zdroj řádků z pole Titul1 do stejné vlastnosti pole Titul Kliknutím do tlačítka Tvůrce zobrazíme návrh dotazu, v němž v návrhové mřížce změníme jediné pole Titul1 na Titul2. Kliknutím do tlačítka Zavřít ukončíme úpravu dotazu. Ve formulářovém zobrazení je již seznam hodnot pro pole Titul2. Některé ovládací prvky jsou zbytečně široké. Omezíme proto jejich šířku. Omezením šířky jednoho prvku by se díky skládanému rozložení omezila šířka všech prvků rozložení. Rozložení proto vypneme: V zobrazení rozložení nebo v návrhovém zobrazení klikneme do kříže v levém horním rohu rozložení. Označíme tak všechny ovládací prvky rozložení. V kartě USPOŘÁDÁNÍ ve skupině TABULKA klikneme do tlačítka Odebrat rozložení. Ve skládaném rozložení neakceptoval Access mřížku. Nejprve proto upravíme velikost polí a umístění polí dle mřížky: V návrhovém zobrazení označíme všechny ovládací prvky kombinací kláves Ctrl A. 101 Pro vlastnost Zpřístupnit ponecháme hodnotu Ano, aby bylo možné v poli vyhledávat kombinací kláves Ctrl F. 102 Tlačítkem Uložit jako bychom mohli uložit dotaz jako samostatný nazvaný dotaz např. pro využití v jiných formulářích či sestavách. 103 Toto omezení neplatí pro doplnění hodnoty do podkladové tabulky při využití vlastnosti Formulář pro úpravu položek seznamu v podkladové tabulce, např. v případě Oddělení. Obdobné řešení pro doplnění titulů není možné, ani když bychom se vzdali zobrazování jedinečných hodnot. Nemůžeme přidat nový titul, neboť bychom tak editovali tabulku Osoby, která vyžaduje pro každou větu vyplnění některých polí, např. Příjmení. 104 Klikneme do předchozí vlastnosti, klávesou Tab označíme celý text vlastnosti Zdroj řádků. Stiskneme kombinaci kláves Ctrl C. Klikneme do ovládacího prvku Titul2 a vložíme schránku do vlastnosti Zdroj řádků kombinací kláves Ctrl V.

102 5 Formuláře 102 Automatická velikost Seskupování ovládacích prvků Označování více objektů V kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOSTI A POŘADÍ klikneme do tlačítka Velikost a mezery a vybereme v sekci VELIKOST volbu Podle mřížky. V kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOSTI A POŘADÍ klikneme do tlačítka Zarovnat a vybereme volbu K mřížce. Nyní již můžeme individuálně upravit šířku ovládacích prvků dle obr. 5-1 a to nejlépe v zobrazení rozložení, v němž vidíme hodnoty polí. Upravíme vysvětlení názvu oddělení: Kliknutím označíme popisek Název oddělení. Klávesou Delete popisek odstraníme. Zúžíme zkratku Oddělení. Tažením přesuneme textové pole názvu Oddělení_v napravo od zkratky oddělení. Tažením ve svislém pravítku označíme pole Nadřízený a pole pod ním. Táhneme je pod pole Oddělení. Chceme nyní změnit umístění některých dalších polí: Tažením za popisky, které jsou přidruženy k vázaným ovládacím prvkům, umístíme pole: Popisek Zaměstnanec bude v levém horním rohu, tj. 0,2 cm na vodorovném pravítku a 0,2 cm na svislém pravítku 105. Další pole umístíme vždy 0,2 cm pod předchozí pole a budou s výjimkou polí Pohlaví, Charakteristika a Foto vysoké 0,6 cm. Pole Foto umístíme tak, aby levý horní roh byl na pozici 6,4;0,2. Popisky jsou zatím všechny stejně široké, neboť jsme je vkládali původně do rozložení. Automaticky přizpůsobíme jejich velikost: Kliknutím do vodorovného pravítka nad popisky všechny popisky označíme. V kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOSTI A POŘADÍ klikneme do tlačítka Velikost a mezery a v sekci VELIKOST klikneme do tlačítka Přizpůsobit obsahu. Šířka popisků se přizpůsobila jejich obsahu. Zúžíme šířku několika polí najednou: Klikneme do svázaného pole Oddělení. Kliknutím s klávesou Shift označíme dále pole Titul1, Titul2, Místnost, Telefon, Úvazek. V kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOSTI A POŘADÍ klikneme do tlačítka VELIKOST A MEZERY a vybereme v sekci VELIKOST volbu Podle nejužšího. Vysvětlivku s názvem oddělení seskupíme s vázaným ovládacím prvkem Oddělení: Kliknutím označíme popisek Oddělení. Kliknutím s klávesou Shift označíme také vázaný ovládací prvek Oddělení a vysvětlivku Oddělení_v. V kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOSTI A POŘADÍ klikneme do tlačítka Velikost a mezery a v sekci SESKUPOVÁNÍ vybereme volbu Seskupit. Kliknutím do kteréhokoliv seskupeného prvku skupiny se označí celá skupina. Tažením kteréhokoliv prvku se přesunuje celá skupina. Prvky můžeme později oddělit označením skupiny a volbou Oddělit. Pro označování více objektů ve formuláři můžeme použít různé postupy: Kliknutím do jednotlivého objektu se označí jeden objekt. Pokud klikneme do jiného objektu, označí se nově tento objekt. Pokud však klikneme do jiného objektu a současně držíme klávesu Shift, zůstanou označeny oba objekty (či postupně více objektů). Kliknutím do svislého pravítka se označí všechny objekty v daném řádku. Pokud držíme klávesu Shift a klikneme znovu jinam do svislého pravítka, označí se více řádků. Kliknutím do prázdného místa formuláře se zruší stávající označení. Pokud z prázdného místa formuláře roztáhneme obrys obdélníku levým tlačítkem myši, označí se všechny objekty, které alespoň z části obdélník zahrnuje. 106 Tažením myší po svislém pravítku můžeme označit více sousedních řádků. 105 Takovouto pozici budeme v dalším textu zkráceně zapisovat 0,2;0, Způsob označení můžeme modifikovat. V kartě SOUBOR vybereme Možnosti. V dialogovém okně Možnosti aplikace Access v kartě Návrháři objektů ve skupině NÁVRHOVÉ ZOBRAZENÍ FORMULÁŘE NEBO SESTAVY v poli Chování při označování můžeme vybrat Úplně uzavřít.

103 5 Formuláře 103 Výraz ve formuláři Kopírování formátu Výchozí nastavení prvku Funkce Len Obdobné zásady pro označování objektů, které platí pro svislé pravítko, platí i pro označování sloupců kliknutím či tažením ve vodorovném pravítku. Vedle pole Telefon chceme umístit bývalou telefonní linku z tabulky Místnosti: Zobrazíme seznam polí. Táhneme pole Původní_telefon ze skupiny Pole dostupná v souvisejících tabulkách z tabulky Místnosti napravo od pole Telefon. Kliknutím označíme popisek a klávesou Delete jej odstraníme. Upravíme umístění a velikost ovládacího prvku Původní_telefon. Upravíme vlastnost Zdroj ovládacího prvku tohoto nového ovládacího prvku na hodnotu: = dříve: & Původní_telefon Rovnítko zahajující výraz musíme zapsat. Konstantní text musíme zapisovat do uvozovek. Operátor & slučuje textové řetězce. Access sám doplní hranaté závorky k názvu pole Původní_telefon. Ve výrazu mohou být uváděna nejen pole ze zdrojového dotazu, ale také ovládací prvky identifikované jejich názvem. Access narazí při zobrazení hodnot na problém shody názvu ovládacího prvku a pole z podkladového dotazu. Upřednostní využití názvu ovládacího prvku, čímž výraz obsahuje kruhovou definici: Původní_telefon: = dříve: & [Původní_telefon]. V zobrazení rozložení i ve formulářovém zobrazení se zobrazuje text #TYP!. Upravíme název ovládacího prvku ve vlastnosti Název na hodnotu Původní_telefon_n. Po zobrazení formuláře se bohužel změna názvu promítne i do výrazu. Ve výrazu změníme název Původní_telefon_n na Původní_telefon. Nemusíme nastavovat vlastnost Uzamknout, neboť pole s výrazem není možné editovat. Chceme, aby ovládací prvek nebyl ohraničen. Zkopírujeme formát z názvu oddělení: V zobrazení rozložení nebo v návrhovém zobrazení označíme kliknutím název oddělení. V kartě DOMŮ ve skupině SCHRÁNKA klikneme do tlačítka Kopírovat formát. Klikneme do původního telefonu. 107 Chceme, aby formátové a některé další vlastnosti nastavené pro textové pole Původní_telefon (např. Styl okraje) byly aplikovány na další nově vkládaná textová pole. Označíme ovládací prvek Původní_telefon a v kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Více v pravém dolním rohu a do tlačítka Výchozí nastavení prvku. 108 Přetažením pole Původní_telefon se modifikoval zdrojový dotaz formuláře. Doplnila se do něj tabulka Místnosti. Upravíme ještě typ spojení na Zahrnout všechny záznamy z tabulky Osoby tak, aby byli ve formuláři zobrazováni i zaměstnanci, kteří nemají přiřazenu místnost (Ondřej Světlý). Access hlídá délku vkládání textových polí dle struktury tabulky. Složitější je hlídání délky (např. únosné z hlediska délky rekapitulace dat v sestavách) pro pole typu Dlouhý text. Doplňme do formuláře zobrazování délky pole Charakteristika dle obr. 5-1: Všechna pole už jsme umístili do formuláře. Mohli bychom znovu umístit pole Charakteristika a upravit jeho zdroj na výraz. Tentokrát však umístíme obecné textové pole, jehož zdroj upřesníme. V návrhovém zobrazení v kartě NÁVRH klikneme ve skupině OVLÁDACÍ PRVKY do tlačítka Textové pole 109. U kurzoru se zobrazí kříž se symbolem textového pole. Tažením myší vymezíme textové pole ve formuláři pod popiskem Charakteristika. (Táhneme z levého horního rohu do pravého dolního rohu.) 107 Zkopírovali jsme tak pouze formátové vlastnosti, nikoliv ostatní, např. jsme nezkopírovali hodnotu jiné vlastnosti Přístup klávesou tabelátor. 108 Výchozí nastavení platí jen v rámci formuláře. Formulář lze nastavit jako výchozí pro tvorbu nových formulářů. V kartě SOUBOR vybereme volbu Možnosti. V dialogovém okně Možnosti aplikace Access v kartě Návrháři objektů v sekci NÁVRHOVÉ ZOBRAZENÍ FORMULÁŘE NEBO SESTAVY můžeme zadat název našeho formuláře. 109 Obdobně můžeme přidávat další obecné ovládací objekty, z nichž jsme zatím poznali zaškrtávací políčko, pole se seznamem, seznam, rámeček vázaného objektu (pro vložení objektu OLE). Můžeme také vložit základní prvky čárové grafiky: čáru a obdélník.

104 5 Formuláře 104 Modifikace seznamů Interní webový prohlížeč Nové pole nemá popisek, neboť textové pole má nyní výchozí nastavení bez popisku. Pokud bychom nenastavili dříve výchozí nastavení, museli bychom odstranit popisek vloženého pole Text Do vlastnosti Zdroj ovládacího prvku zapíšeme výraz ="Délka: " & Len([Charakteristika]) Funkce Len vrací počet znaků textového řetězce. Do jiné vlastnosti Název zapíšeme Charakteristika_d (délka charakteristiky). Ovládací prvek není díky výchozímu nastavení ohraničen. Uživatel může (po přechodu z pole Charakteristika do jiného pole) zjistit délku charakteristiky a držet se doporučované maximální délky např. 50 znaků. 111 Funkce Len vrací v případě položky Dlouhý text s formátem RTF délku včetně kódů HTML. Proto je délka delší u textů s formátováním. O kódech HTML uložených pro texty formátu RTF se můžeme přesvědčit jednoduchým výběrovým dotazem, který vypíše pole Osoba, Charakteristika, CStr(Charakteristika) a Len(Charakteristika). 112 Vlastnosti seznamu a polí se seznamem byly zkopírovány ze struktury tabulky. Chceme usnadnit vložení hodnot uživateli formuláře vysvětlivkami: pro pole Pohlaví upravíme vlastnosti: datová vlastnost Zdroj řádků: M;muž;Z;žena datová vlastnost Zdědit seznam hodnot: ne formátová vlastnost Počet sloupců: 2 formátová vlastnost Šířky sloupců: 0,5 formátová vlastnost Šířka: 2 pro pole Oddělení upravíme vlastnosti: formátová vlastnost Počet sloupců: 2 formátová vlastnost Šířky sloupců: 1 formátová vlastnost Šířka seznamu: 3,5 Ve formuláři zobrazíme formou interního webového prohlížeče webovou stránku zaměstnance: V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Ovládací prvek webového prohlížeče. Ovládací prvek vymezíme pod fotografií zaměstnance v přibližně stejné velikosti jako fotografie. Zobrazí se dialogové okno Vložit hypertextový odkaz, v němž klikneme do tlačítka Zrušit. Do datové vlastnosti ovládacího prvku webového prohlížeče Zdroj ovládacího prvku vybereme Web_stránka. Ve formulářovém zobrazení či zobrazení rozložení se zobrazuje pod fotografií webová stránka zaměstnance. V jiné vlastnosti změníme jeho název na Prohlížeč webu zaměstnance. Stránku můžeme zobrazit v plné velikosti kliknutím na zobrazený hypertextový odkaz v poli Web_stránka. Upravíme titulek pole na Webová stránka. Ve formulářovém zobrazení se pohybujeme mezi jednotlivými poli tabulátorem nebo odesláním. Vadí nám však, že: z pole Oddělení se přechází na název oddělení, z pole Oprávnění se přechází na pole Foto, Původní_telefon a Charakteristika_d. Upravíme proto pořadí polí a zamezíme přístup tabulátorem do některých polí: 110 Popisek má obecný text Text99, kde 99 je pořadové číslo ovládacího prvku ve formuláři. 111 Přísnější ochranou by bylo zahrnutí podmínky omezené délky do ověřovacího pravidla tabulky, např. ve tvaru: ([Příjmení] Not Like "*á" Or [Pohlaví]="Z") And Len([Charakteristika])<=50. Potom by Access při ukládání věty kontroloval délku pole Charakteristika. 112 Značky <div> a </div> nejsou vloženy v případě, že pole věty bylo vyplněno ve stavu, kdy ve struktuře tabulky měla vlastnost Formát textu hodnotu Prostý text. Přesnou délku bychom mohli zjistit výrazem, který dohledá formátovací znaky div, em (kurzíva), strong (tučný): Switch(InStr(1;[charakteristika];"<div>")=0;Len([Charakteristika]) ; InStr(1;[charakteristika];"<em>")>=1; Len([Charakteristika])-20; InStr(1;[charakteristika];"<strong>")>=1; Len([Charakteristika])-28; InStr(1;[charakteristika];"<div>")>=1; Len([Charakteristika])-11)

105 5 Formuláře 105 Pořadí prvků ve formuláři V zobrazení rozložení nebo v návrhovém zobrazení klikneme v kartě NÁVRH ve skupině ZÁHLAVÍ NEBO ZÁPATÍ do tlačítka Pořadí ovládacích prvků. Zobrazí se dialogové okno Pořadí prvků (viz obr. 5-2). OBR. 5-2: DIALOGOVÉ OKNO POŘADÍ PRVKŮ P52 Osoby Identifikace V okně jsou uvedeny názvy vázaných ovládacích prvků (tj. hodnota jejich vlastnosti Název). Kliknutím můžeme označit libovolný vázaný objekt (objekt, který je proměnlivý dle hodnoty některého pole či výrazu) či tažením více objektů a přetáhnout je na jiné pořadí. Pro ilustraci zvolíme jinou cestu. Klikneme do tlačítka Automatické pořadí. Access zvolí sám pořadí po řádcích formuláře. Položky Foto a Prohlížeč webu zaměstnance (jediné ve druhém sloupci formuláře) přesuneme tažením za počáteční volič na konec seznamu. Kliknutím do tlačítka OK zavřeme dialogové okno. Při vyplňování či prohlížení formuláře potom po odeslání klávesou Enter či stisknutí klávesy Tab přejde Access na následující svázaný prvek. 113 Klikneme do ovládacího prvku původního telefonu, s klávesou Shift současně označíme název oddělení a délku charakteristiky. V seznamu vlastností jsou vlastnosti společné pro vícenásobný výběr. Upravíme vlastnost Přístup klávesou tabelátor ze skupiny Jiné na hodnotu ne. V zobrazení formuláře již nejsou klávesou Tab dostupné upravené ovládací prvky. 114 Kliknutím označíme původní telefon a do jiné vlastnosti Popis ovládacího prvku zapíšeme hodnotu Původní telefon. Popis se zobrazí v samostatném nápovědném okénku s šedivým pozadím, když umístíme ukazatel myši nad ovládací prvek v zobrazení rozložení nebo v návrhovém zobrazení. Dosud nenazvaný formulář uložíme kliknutím do tlačítka ULOŽIT nebo kombinací kláves Ctrl S. Zobrazí se dialogové okno Uložit jako s připraveným názvem Form1. Název přepíšeme na P52 Osoby Identifikace Jedinou výjimkou je pole Web kde se odesláním zobrazí webová stránka. Z tohoto pole se přesunujeme na další prvek klávesou Tab. 114 Zůstávají dostupné kliknutím do ovládacího prvku např. pro účely vyhledávání dle hodnoty pole kombinací kláves Ctrl F. Pokud bychom upravili datovou vlastnost Zpřístupnit na hodnotu ne, nebylo by ve formulářovém zobrazení možné ani kliknout do ovládacího prvku. 115 V ukázkové databázi Encian jsou formuláře již přichystány. Jejich název začíná písmenem P (publikace) s číslem kapitoly (první číslice), podkapitoly (druhá číslice) a dotazu v rámci podkapitoly (písmeno), např. P52a Osoby Identifikace. Své individuální pokusy ukládejte přímo pod číslem formuláře, např. 51a. Individuální pokusy tak budou zařazeny dle abecedy na začátku.

106 5 Formuláře 106 Barvy ve formuláři Ve formuláři chceme barevně zvýraznit klíčové pole Osoba: Kliknutím označíme pole Osoba. Ve formátové vlastnosti Barva popředí je hodnota Text 1, Světlejší 25%. Základní barvy vycházejí z motivu databáze, který nabízí 10 nazvaných barev (Pozadí 1, Text 1, Pozadí 2, Text2, Zvýraznění 1 6) a 2 barvy pro hypertextové odkazy (Hypertextový odkaz a Použitý hypertextový odkaz). Motivy jsou čerpány z kancelářského balíku Office. Motiv je možné pro databázi změnit, když v kartě NÁVRH ve skupině MOTIVY klikneme do tlačítka Motivy. Kromě 10 připravených motivů (Kancelář, Fazeta, Galerie, Integrál, Ion, Organika, Retrospektiva, Řez, Stébla, Zasedací místnost) můžeme vytvářet své vlastní motivy prostřednictvím výběru barev (12 barev) a písma. Barvu můžeme zadat: výběrem z předdefinované nazvané barvy, použitím tvůrce barev přesným určením zastoupení barev, např. #BA1419 zastupuje tmavě červenou barvu. Mřížky na začátku značí, že hodnota je udána v šestnáctkové soustavě využívající číslice 0, 1,..., 9, A, B,..., F. Každé dvě cifry udávají hodnotu podílu červené (R red), zelené (G green) a modré (B blue) barvy, tj. tzv. model RGB. Seznam předdefinovaných barev rozbalíme kliknutím do prvního tlačítka na konci řádku vlastnosti Barva popředí. Nabízí se dvě skupiny barev: Alternativní řádek, Formulář pozadí, Světlé pozadí záhlaví, Tmavé pozadí záhlaví, Ohraničení a mřížka, Černý text, Popis textu, Tmavý text, Zvýraznění, Motiv aplikace Access 1, 2,..., 10: barvy přebírané z tzv. barevného schématu. Barevné schéma určuje barevné řešení oken Accessu. Barevné schéma nelze upravovat, nelze definovat další barevná schémata. Systém posuvník, Systém schéma,..., Systém panel nabídek: barvy přebírané z barevného nastavení Windows. Barvy ovládacích prvků lze takto sladit s nastavením barev ve Windows. 116 Nejprve vybereme ze stávající motivu Kancelář barvu Zvýraznění 2: Ve vlastnosti Barva popředí klikneme do druhého tlačítka Tvůrce (tři tečky) na konci řádku vlastnosti Barva popředí se zobrazí okno s nabídkou barev (viz obr. 5-3): OBR. 5-3: OKNO S NABÍDKOU BAREV V prvním řádku můžeme kdykoliv později vybrat automaticky vybíranou barvu pro formulář (např. pro barvu popředí je to černá, pro barvu pozadí bílá). Skupina BARVY MOTIVU nabízí barvy z nastaveného motivu. Umístěním ukazatele myši nad barvu se zobrazí název barvy. Klikneme do barvy Zvýraznění 2. V dalších pěti řádcích jsou různě světlé varianty barvy z motivu. 116 Např. ve Windows 10 lze nastavit barvy příkazem START, NASTAVENÍ, PŘIZPŮSOBENÍ, Barvy a MOTIVY.

107 5 Formuláře 107 Skupina STANDARDNÍ BARVY nabízí jednoduché barvy. V prvních šesti řádcích jsou různé odstíny 10 barev uvedených ve sloupcích. V posledním sedmém řádku je nabídka různých standardních barev. Skupina Naposledy použité barvy usnadňuje opakované využití stejných barev. 117 Umístěním ukazatele myši nad naposledy použitou barvu se zobrazí její kód v RGB modelu. 118 Pro prohlédnutí zobrazení barvy Zvýraznění 2 z motivu nastavíme barvu s daným RGB: Ve vlastnosti Barva popředí klikneme do druhého tlačítka Tvůrce. Kliknutím do volby Další barvy zobrazíme dialogové okno Barvy se dvěma kartami:» Standardní: paleta 127 nejčastějších barev a 15 odstínů černé.» Vlastní: nástroj pro namíchání vlastní barvy výběrem v levé paletě a upřesněním odstínu v pravé stupnici nebo přímo zadáním modelu RGB či HSL v desítkové soustavě, např. tmavě červená barva má složky (viz obr. 5-4): OBR. 5-4: DIALOGOVÉ OKNO BARVY Velikost formuláře červená: #BA, tj. 11* * 1 = = 186 zelená: #14, tj. 1* *1 = = 20 modrá: #19, tj. 1 * * 1 = = 25 V našem případě vybereme pro ovládací prvek Osoba barvy: Barva popředí: tmavě červená #BA1419 Barva okraje: tmavě červená #BA1419 Barva pozadí: pozadí #E0E0E0 Ovládací prvek Osoba ještě formátujeme tučným písmem: kombinací kláves Ctrl B nebo v kartě DOMŮ ve skupině FORMÁTOVÁNÍ TEXTU kliknutím do tlačítka Tučné 119. Na závěr přípravy formuláře omezíme jeho výšku. Myší se přiblížíme k spodní hranici podrobností formuláře. Objeví se symbol dvojité šipky. Spodní hranici přitáhneme pod poslední řádek formuláře. Obdobně (pokud je to nutné) omezíme šířku formuláře. Tím jsme nastavili vlastnost formuláře Šířka a vlastnost podrobností formuláře 120 Výška. Formulář uložíme a zavřeme. 117 Barvu lze vybírat také v kartě DOMŮ ve skupině FORMÁTOVÁNÍ TEXTU kliknutím do pravé části tlačítka Barva písma. Na tlačítku se pamatuje naposledy použitá barva, kterou lze aplikovat na jiný ovládací prvek jeho výběrem a kliknutím do levé části tlačítka. 118 Bohužel části RGB modelu jsou v opačném pořadí. Barva #BA1419 je tak zobrazena jako #1914BA. 119 Formát lze upravit v návrhovém zobrazení nebo zobrazení rozložení v kartě FORMÁT ve skupině PÍSMO tlačítkem Tučné. 120 V kap. 5.4 poznáme, že formulář se skládá ze sekcí. Náš formulář obsahuje jedinou sekci Podrobnosti.

108 5 Formuláře 108 P53 Podniky Identifikace 5.3 Další samostatný formulář Navrhování formuláře procvičíme na podobném formuláři, jehož prostřednictvím budeme zobrazovat a editovat data tabulky Podniky. Obdobně, jako jsme zobrazovali ve formuláři k tabulce Osoby hodnoty polí z jiných tabulek (původní telefon, název oddělení), budeme chtít v novém formuláři zobrazovat vysvětlivky ke stádiu vývoje a k jednotlivým činnostem NACE (cílový stav formuláře je v obr. 5-5). OBR. 5-5: FORMULÁŘOVÉ ZOBRAZENÍ FORMULÁŘE P53 PODNIKY IDENTIFIKACE Tentokrát vytvoříme formulář s větší pomocí Accessu: V navigačním podokně klikneme ve skupině TABULKY do tabulky Podniky. V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Formulář. Vytvoří se formulář, který se otevře v zobrazení rozložení: V záhlaví formuláře je logo a název formuláře. V podrobnostech formuláře jsou skládané rozložení s poli tabulky Podniky. Ve spodní části formuláře je podformulář se seznamem faktur, které byly vystaveny jednotlivému zobrazovanému podniku odběrateli. V návrhovém zobrazení označíme podformulář, jehož zdrojem je tabulka Faktury a klávesou Delete jej odstraníme. Podle obrazovky počítače jsou pole v rozložení v jednom či ve dvou sloupcích. Každý sloupec obsahuje popisky a svázaná pole. V případě, že rozložení má dva sloupce tažením v zobrazení rozložení či návrhovném zobrazení postupně přesuneme z pravého do levého sloupce pole Bankovní_účet, Bankovní_kód, PSČ, Obec, Ulice, GPS, Šířka a Délka i s popiskami. Přesuneme rozložení tažením za rohový kříž na pozici 0,2;0,2. Sjednotíme výšku polí. V kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOST A POŘADÍ klikneme do tlačítka Velikost a mezery a v sekci VELIKOST vybereme volbu Podle nejkratšího (správně by mělo být uvedeno Podle nejnižšího). Snížíme šířku polí v rozložení asi na polovinu, tj. na vodorovném pravítku do 7 cm. Zobrazíme seznam polí. Klikneme do odkazu Zobrazit všechny tabulky. Tažením ze skupiny POLE DOSTUPNÁ V SOUVISEJÍCÍCH TABULKÁCH přesuneme do formuláře pole Stupeň z tabulky Stádia a ovládací prvek modifikujeme: Umístíme ovládací prvek napravo od pole Stádium. Zúžíme jeho šířku. Styl okraje zadáme průhledný.

109 5 Formuláře 109 Úprava a uložení zdrojového dotazu Ve formuláři je zobrazena jedna z 69 vět odběratelů. Chceme doplnit vysvětlivky k jednotlivým kódům NACE: Zobrazíme seznam polí. Ze skupiny POLE DOSTUPNÁ V SOUVISEJÍCÍCH TABULKÁCH táhneme pole NACE_v z tabulky NACE do formuláře vedle pole NACE1. Zobrazí se dialogové okno Vybrat relaci, v němž musíme upřesnit, že se má pole NACE z tabulky NACE shodovat s polem NACE1 z tabulky Podniky. Odstraníme popisek vysvětlivky NACE1. Ovládací prvek vysvětlivky rozšíříme tak, aby v něm byl zobrazen celý text vysvětlivky, tj. prodloužíme jej dle vodorovného pravítka do 15 cm. Styl okraje vysvětlivky NACE zadáme průhledný. Povýšíme vlastnosti vysvětlivky NACE na výchozí nastavení textového pole. V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Výchozí nastavení prvku. Obdobně přesuneme NACE_v tentokrát již ze skupiny POLE DOSTUPNÁ PRO TOTO ZOBRAZENÍ napravo od NACE2. Díky výchozímu nastavení textového pole je již popisek odstraněn a pole prodlouženo. Vysvětlivka se bohužel opět vztahuje k NACE1. Musíme modifikovat podkladový dotaz: V návrhovém zobrazení proto zobrazíme návrh zdrojového dotazu, tj. datovou vlastnost formuláře Zdroj záznamů (viz obr. 5-6). OBR. 5-6: DOTAZ K FORMULÁŘI P53 PODNIKY IDENTIFIKACE tabulky: NACE (6x) Podniky Stádia (69 vět) Tlačítkem Zobrazit tabulku ve skupině NASTAVENÍ DOTAZU v kartě NÁVRH zobrazíme seznam tabulek. Tabulku NACE přidáme ještě pětkrát. Tažením připravíme relaci mezi tabulkami NACE_1 (pole NACE) s tabulkou Podniky (pole NACE2), podobně pro NACE_2, 3, 4, 5. Pro všechna nová spojení zadáme typ spojení Zahrnout všechny záznamy z tabulky Podniky. 121 Do návrhové mřížky dotazu doplníme NACE z tabulek NACE_1, _2,..., _5 s titulkem NACE_v2, 3,..., 6. Zdrojový dotaz uložíme v kartě NÁVRH ve skupině ZAVŘÍT tlačítkem Uložit jako pod názvem P53 Podniky Identifikace a zavřeme s uložením do formuláře. Ve vlastnosti formuláře Zdroj záznamů je nyní uveden dotaz P53 Podniky Identifikace. Ve formuláři odstraníme vedle NACE2 neúspěšný pokus o vysvětlivku. 121 Pokud bychom nezměnili typ spojení, zobrazil by se jediný podnik, neboť většina z našich odběratelů nemá vyplněno všech 6 kódů NACE.

110 5 Formuláře 110 Mapa ve formuláři Rozdělení formuláře Do formuláře doplníme ze seznamu polí NACE_v2, 3,..., 6. Odebereme rozložení. Klikneme do rohového kříže. V kartě USPOŘÁDÁNÍ ve skupině TABULKA klikneme do tlačítka Odebrat rozložení. Označíme pole Název_podniku, Stupeň s jeho popiskem, NACE_v, NACE_v2,, 6 a sjednotíme jejich výšku dle nejvyššího Názvu_podniku. V kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOSTI A POŘADÍ klikneme do tlačítka Velikost a mezery. V sekci VELIKOST vybereme volbu Podle nejvyššího. Umístíme do jednoho řádku pole vztahující se ke Stádiu. Předpokládáme, že stupeň je mírně níže. Označíme celý řádek. V kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOSTI A POŘADÍ klikneme do tlačítka Zarovnat a vybereme volbu Nahoru. Obdobně zarovnáme řádek NACE6. Označíme pole NACE_v2, 3,, 6 a svisle je rovnoměrně rozmístíme. V kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOSTI A POŘADÍ klikneme do tlačítka Velikost a mezery. V sekci MEZERY vybereme volbu Vyrovnat svisle. Upřesníme formát některých ovládacích prvků: Do datové vlastnosti Uzamknout pole Stupeň zadáme hodnotu ano. V popiskách Název_podniku, Bankovní_účet a Bankovní_kód nahradíme podtržítka mezerami. Napravo od vysvětlivek NACE vložíme webovou stránku s mapou umístění podniku: V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Ovládací prvek webového prohlížeče. Vymezíme umístění prvku s levým horním rohem 0,2;15,2 cm na pozici a pravým dolním rohem na pozici 14,8;28,8 cm. V dialogovém okně Vložit hypertextový odkaz klikneme do tlačítka Zrušit. Do zdrojového dotazu doplníme sloupec Šířka_z: Šířka. Název upravujeme, aby nedocházelo k využití vlastnosti šířka podrobností. Do datové vlastnosti ovládacího prvku webový prohlížeč Zdroj ovládacího prvku vložíme: =" & [Šířka_z] & "%20" & [Délka] V prohlížeči se zobrazí mapy Seznamu.cz se zobrazením umístění podniku. Potlačíme zobrazování sekce Záhlaví formuláře, aby byla mapa lépe vidět: V místní nabídce kterékoliv sekce formuláře klikneme do volby Záhlaví a zápatí formuláře. Potvrdíme, že odstraněním sekcí budou odstraněny také všechny ovládací prvky v těchto sekcích. Abychom snadno našli jednotlivý podnik zobrazený ve formuláři, zobrazíme formulář v rozdělení na datový list a vlastní formulář: V návrhovém zobrazení zadáme do formátové vlastnosti formuláře Výchozí zobrazení hodnotu Rozdělit formulář. V zobrazení rozložení nebo formulářovém zobrazení tažením za příčku mezi datovým listem a formulářovým zobrazením (tzv. rozdělovač) změníme jejich poměr tak, aby byl vidět celý formulář. K dočasnému zvětšení prostoru pro formulář můžeme: potlačit zobrazování pásu karet, když z místní nabídky pásu nebo karet zadáme volbu Sbalit pás karet, potlačit zobrazování navigačního podokna, když klikneme do tlačítka Otevření nebo uzavření příčky (<<) v pravém horním rohu navigačního podokna. Nyní můžeme snadno najít v datovém listu podniku, po kliknutí do jeho řádku se informace o něm zobrazí ve spodním formuláři. Ve vlastnostech formuláře v návrhovém zobrazení lze upřesnit parametry rozdělení formuláře: Orientace rozděleného formuláře: Můžeme zadat, zda se datový list zobrazí nad formulářem, pod ním, vlevo nebo vpravo od něj. Vybereme Datový list napravo. Datový list rozděleného formuláře: Můžeme potlačit možnost editace v datovém listu.

111 5 Formuláře 111 Rozdělovač rozděleného formuláře: Můžeme potlačit možnost měnit polohu příčky mezi datovým listem a formulářovým zobrazením. Uložit pozici rozdělovače: V případě hodnoty ano se při zavírání formuláře ukládá pozice rozdělovače pro další otevření formuláře. Velikost rozděleného formuláře: Lze nastavit výšku (či šířku) pro formulářové zobrazení. Tisk rozděleného formuláře: Je možné upřesnit, které části formuláře se tisknou. Formulář uložíme pod názvem P53 Podniky Identifikace. Kdybychom používali formulář k editaci, bylo by vhodné změnit všechna pole kódů z textových polí na pole se seznamy. Formulář umožňuje vložit další NACE, aniž jsme vyplnili předchozí NACE stejného podniku. (V kap zdokonalíme formulář tak, abychom mohli vkládat další NACE jen po vyplnění předchozího NACE, např. NACE3 budeme moci vložit pouze po vyplnění NACE2.) P54 Cesty 5.4 Nekonečný formulář Další formulář bude sloužit ke vkládání a prohlížení tabulky Cesty. Cílový vzhled formuláře je uveden v obr OBR. 5-7: FORMULÁŘOVÉ ZOBRAZENÍ FORMULÁŘE P54 CESTY Nekonečný formulář Vytvoříme formulář s větší pomocí Accessu: V navigačním podokně klikneme ve skupině TABULKY do tabulky Cesty. V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Další formuláře a vybereme volbu Více položek. Vytvoří se formulář, který se otevře v zobrazení rozložení. Ve formuláři je zobrazeno více vět. Tento způsob zobrazení je výsledkem nastavení formátové vlastnosti formuláře Výchozí zobrazení na hodnotu Nekonečné formuláře. Každá věta je zobrazena v jednom řádku tabulky. Ovládací prvky jsou v tabulkovém rozložení. Tažením za vodorovnou čáru tabulky zmenšíme výšku všech řádků tabulky na 0,6 cm. Tažením za jednotlivé svislé čáry zúžíme šířku pro jednotlivé sloupce tabulky. Do tabulky chceme doplnit nový sloupec s výrazem, který vypočítá délku cest: V návrhovém zobrazení klikneme v kartě NÁVRH ve skupině OVLÁDACÍ PRVKY do tlačítka Textové pole. Vymezíme nové nevázané pole před polem Místo. Po vymezení jej přesuneme tak, aby pomocná oranžová čára byla před polem Místo. Nové nevázané pole se tak stalo součástí tabulkového zobrazení. Do popisku zapíšeme text Délka.

112 5 Formuláře 112 Podmíněné formátování Do datové vlastnosti nevázaného ovládacího prvku Zdroj ovládacího prvku zapíšeme vzorec: =Dokončení Zahájení Do jiné vlastnosti Název zapíšeme hodnotu Délka. Délka je zarovnána zleva, je zobrazena jako textové pole. Upravíme zarovnání: v kartě FORMÁT ve skupině PÍSMO kliknutím do tlačítka Zarovnat doprava nebo do formátové vlastnosti Zarovnání textu pole Délka zadáme hodnotu vpravo. Obdobně zarovnáme příslušný popisek v záhlaví tabulky. Zúžíme šířku sloupce. Délku chceme zobrazovat barevným pruhem dle její hodnoty: Klikneme do libovolného řádku do sloupce Délka. V kartě FORMÁT ve skupině FORMÁTOVÁNÍ OVLÁDACÍHO PRVKU klikneme do tlačítka Podmíněné formátování. V dialogovém okně Správce pravidel podmíněného formátování klikneme do tlačítka Nové pravidlo (viz obr. 5-8). OBR. 5-8: DIALOGOVÉ OKNO SPRÁVCE PRAVIDEL PODMÍNĚNÉHO FORMÁTOVÁNÍ V dialogovém okně Nové pravidlo formátování (viz obr. 5-9):» V horní části vybereme v poli Vyberte typ pravidla hodnotu Porovnat hodnoty s jiným záznamy.» Ve spodní části ponecháme nastaveny parametry nastavení datové pruhu (typ a barva pruhu). OBR. 5-9: DIALOGOVÉ OKNO NOVÉ PRAVIDLO FORMÁTOVÁNÍ Ve formuláři jsou délkou pruhu odlišeny různé délky cest. Odstraníme mezery mezi sloupci: Kliknutím ve svislém pravítku označíme všechna pole v sekci PODROBNOSTI. V kartě USPOŘÁDÁNÍ ve skupině UMÍSTĚNÍ klikneme do tlačítka Výplň ovládacího prvku a vybereme volbu Žádná. Tažením za spodní hranu minimalizujeme sekci PODROBNOSTI.

113 5 Formuláře 113 Kombinací kláves Ctrl A označíme všechny prvky formuláře a posuneme je k levému kraji. Formulář uložíme pod názvem P54 Cesty. (Tento modifikovaný formulář se později stane podformulářem hlavního formuláře o tabulce Osoby.) P55 Licence 5.5 Formulář se souhrny Úkolem dalšího formuláře bude editovat a zobrazovat data o licencích v řazení dle programů a licencí. Opět se bude jednat o nekonečný formulář. Jedna věta bude ve formuláři zobrazena na jednom řádku. Cílový vzhled formuláře je uveden v obr Prvotní návrh nekonečného formuláře připraví Access: V navigačním podokně klikneme ve skupině TABULKY do tabulky Licence. V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Další formuláře a vybereme volbu Více položek. Vytvoří se formulář, který se otevře v zobrazení rozložení. Formulář má výchozí nastavení Nekonečné formuláře. Ovládací prvky jsou v tabulkovém rozložení. OBR. 5-10: FORMULÁŘOVÉ ZOBRAZENÍ FORMULÁŘE P55 LICENCE Tažením za vodorovnou čáru tabulky zmenšíme výšku všech řádků tabulky na 0,6 cm. Tažením za jednotlivé svislé čáry zúžíme šířku pro jednotlivé sloupce tabulky. Změníme pořadí sloupců a doplníme dva další: Tažením za název sloupce v záhlaví a za kteroukoliv hodnotu přesuneme sloupec Faktura na začátek tabulky. V názvu sloupec Sériové_číslo nahradíme podtržítko mezerou. Ze seznamu polí ze skupiny Pole dostupná v souvisejících tabulkách 122 přesuneme na konec tabulky sloupce Program_v a Cena. Změníme název sloupce Program_v na Název. Zúžíme sloupec Cena. V zobrazení rozložení klikneme do sloupce Program a s klávesou Shift do sloupce Cena. Upravíme vybrané vlastnosti: datovou vlastnost Uzamknout na hodnotu ano, jinou vlastnost Přístup klávesou tabelátor na hodnotu ne. Věty jsou řazeny dle programu. Chceme je seřadit dle čísla faktury, názvu programu a sériového čísla. V návrhovém zobrazení upravíme datovou vlastnost formuláře Zdroj záznamů: Z podokna Diagram tažením vložíme do podokna Mřížka pole Faktura před pole Program_v a pole Sériové_číslo za Program_v. Pro pole Faktura a Sériové_číslo zrušíme zaškrtnutí řádku Zobrazit. V řádku Řadit vyplníme hodnotu vzestupně pro sloupce Faktura, Program_v a Sériové_číslo. Kliknutím do tlačítka Zavřít ukončíme změnu návrhu dotazu. Potvrdíme jeho uložení. 122 Pokud není skupina zobrazena, klikneme do volby Zobrazit všechny tabulky v horním kraji okna Seznam polí.

114 5 Formuláře 114 Souhrn ve formuláři P56a Licence P56b Faktury Odstraníme mezery mezi sloupci: Kliknutím ve svislém pravítku označíme všechna pole v sekci PODROBNOSTI. V kartě USPOŘÁDÁNÍ ve skupině UMÍSTĚNÍ klikneme do tlačítka Výplň ovládacího prvku a vybereme volbu Žádná. Tažením za spodní hranu minimalizujeme sekci PODROBNOSTI. Kombinací kláves Ctrl A označíme všechny prvky formuláře a posuneme je k levému kraji. Do zápatí formuláře doplníme celkové tržby za všechny licence: V návrhovém zobrazení přesuneme pole Cena do sekce Zápatí formuláře. (Umístěním pod horní hranu sekce se automaticky sekce otevře.) Jeho popisek změníme na Celkové tržby. Klikneme na ovládací prvek Program_v v podrobnostech a s klávesou Shift na popisek Celkové tržby. Zarovnáme je zleva. V kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOSTI a pořadí klikneme do tlačítka Zarovnat a vybereme volbu Vlevo. Obdobně zarovnáme pole Cena v podrobnostech a v záhlaví formuláře. Pro Cenu v podrobnostech a v záhlaví sjednotíme ještě šířku. V kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOSTI A POŘADÍ klikneme do tlačítka Velikost a mezery. V sekci VELIKOST vybereme volbu Podle nejužšího. V zobrazení rozložení vidíme, že v zápatí se zobrazuje cena za první licenci. Upravíme datovou vlastnost Zdroj ovládacího prvku celkových tržeb na výraz: =sum(cena) Pokud je to nutné, rozšíříme šířku celkových tržeb i sloupce Cena. V zápatí je nyní uvedena celková cena za všechny (nejen zobrazené) licence. Záhlaví a zápatí se zobrazuje pro jakékoliv věty zobrazené v podrobnostech formuláře. Upravíme formát celkových tržeb: Do formátové vlastnosti Styl okraje zadáme hodnotu Průhledná čára. Do formátové vlastnosti Barva popředí pro popisek zadáme hodnotu Text1, Světlejší 25 %. Formulář uložíme pod názvem P55 Licence. 5.6 Podformulář Formulář z kap. 5.5 nelze používat k zapsání nových faktur do databáze. Tabulka Licence je totiž v přímé vazbě k tabulce Faktury a v nepřímé vazbě k tabulkám Podniky a Osoby. Formulář může sloužit pouze k přidávání licencí k existujícím fakturám. Pokud zapíšeme licenci k neexistující faktuře, Access při ukládání věty vypíše chybové hlášení Nelze přidat nebo změnit záznam, protože je vyžadován související záznam v tabulce Faktury. Abychom předešli chybnému zadání faktury, musíme omezit vstup do pole Faktura. Předvedeme si dva způsoby omezení vstupu. V prvním případě změníme ovládací prvek Faktura z textového pole na pole se seznamem s vlastnostmi: datová vlastnost Zdroj řádků: Faktury, formátová vlastnost Počet sloupců: 3, formátová vlastnost Šířky sloupců: 1cm;0cm formátová vlastnost Šířka seznamu: 3,5cm, datová vlastnost Omezit na seznam: ano. V rozbalovacím seznamu zobrazujeme nabídku čísel faktur s daty jejich vzniku. Zadáním šířky 0 cm nevypisujeme druhé pole z tabulky Faktury, tj. Osoba. Omezením vstupu na seznam nepřipustíme zadání neexistující faktury. Jestliže vložíme číslo faktury bez využití rozbalovací nabídky, Access již po zadání čísla faktury upozorní, že Zadávaný text musí odpovídat položce v seznamu. Pokud je to nutné, pole Faktura mírně rozšíříme, neboť rozbalovací šipka zabírá jistý prostor. Upravený formulář uložíme pod názvem P56a Licence. Ve druhém případě budeme vkládat nové faktury ve formuláři faktur, v jehož rámci umožníme vložení licencí k jednotlivým fakturám v tzv. podformuláři. Připravme nejprve pro tabulku Faktury samostatný formulář (viz obr. 5-11):

115 5 Formuláře 115 OBR. 5-11: FORMULÁŘOVÉ ZOBRAZENÍ FORMULÁŘE P56B FAKTURY Podformulář P56c Faktury P56d Licence V navigačním podokně klikneme ve skupině TABULKY do tabulky Faktury. V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Další formuláře a vybereme volbu Více položek. Vytvoří se formulář, který se otevře v zobrazení rozložení. Formulář má výchozí nastavení Nekonečné formuláře. Ovládací prvky jsou v tabulkovém rozložení. Tažením za vodorovnou čáru tabulky zmenšíme výšku všech řádků tabulky na 0,6 cm. Tažením za jednotlivé svislé čáry zúžíme šířku pro jednotlivé sloupce tabulky. Upravíme popisek Osoba na Zaměstnanec. V návrhovém zobrazení změníme typy ovládacích prvků: Pole Osoba změníme na pole se seznamem, zdrojem řádků bude tabulka Osoby, vkládání omezíme na seznam. Pole IČ změníme na pole se seznamem, zdrojem řádků bude tabulka Podniky, vkládání omezíme na seznam. Do formátových vlastností zadáme hodnoty:» Počet sloupců: 2» Šířky sloupců: 2cm» Šířka seznamu: 4cm V rozbalovacím seznam se tak zobrazují pole IČ a Název_podniku. Odstraníme mezery mezi sloupci: Kliknutím ve svislém pravítku označíme všechna pole v sekci PODROBNOSTI. V kartě USPOŘÁDÁNÍ ve skupině UMÍSTĚNÍ klikneme do tlačítka Výplň ovládacího prvku a vybereme volbu Žádná. Tažením za spodní hranu minimalizujeme sekci PODROBNOSTI. Kombinací kláves Ctrl A označíme všechny prvky formuláře a posuneme je k levému kraji. Formulář uložíme pod názvem P56b Faktury. Pro další úpravy vytvoříme kopii formuláře: Kliknutím označíme formulář P56b Faktury v navigačním podokně. Kombinací kláves Ctrl C zkopírujeme formulář do schránky. Vložíme formulář kombinací Ctrl V. V dialogovém okně Vložit jako upravíme název formuláře P56c Faktury. Do formuláře P56c Faktury chceme doplnit ke každé faktuře zobrazení licencí prodaných v rámci této faktury. Pro zobrazení licencí jsme připravili formulář P56a. Nejprve pořídíme jeho kopii, neboť formulář budeme později (pro účely začlenění do formuláře P56c) upravovat. Kopii nazveme P56d Licence. Vztah jednotlivých formulářů je zobrazen v obr V návrhovém zobrazení otevřeme formulář P56c Faktury, do nějž vložíme jiný formulář: Tažením za dolní okraj zvýšíme podrobnosti na výšku 6,5 cm. Z navigačního podokna táhneme formulář S56d Licence asi 1 cm pod ovládací prvek Faktura v podrobnostech formuláře. Access zobrazí hlášení, v němž nás informuje, že dílčí vkládaný formulář podformulář nemůže být součástí nekonečného formuláře. Kliknutím do tlačítka OK změníme formulář S56c Faktury na samostatný.

116 5 Formuláře 116 OBR. 5-12: SOUSTAVA FORMULÁŘŮ Kliknutím označíme a klávesou Delete odstraníme popisek podformuláře. 123 Podformulář umístíme asi 0,2 cm pod pole Faktura. Podformulář zvýšíme tažením úchytu ve středu jeho dolního kraje na výšku 6,2 cm. Tažením za spodní kraj minimalizujeme podrobnosti formuláře. (Pokud přetáhneme kraj přes podformulář, Access automaticky výšku zvýší tak, aby byly vidět všechny ovládací prvky, tj. i podformulář.) V zobrazení rozložení prohlédneme jednotlivé věty formuláře P56c Faktury. Kromě dat o faktuře jsou v podformuláři zobrazeny věty o licencích příslušné faktury. Návaznost podformuláře a hlavního formuláře zajišťují vlastnosti podformuláře Řídící propojovací pole (z hlavního formuláře) a Podřízené propojovací pole (z podformuláře), které mají shodnou hodnotu Faktura. Pokud by vlastnost nebyla vyplněna, zobrazovaly by se v podformuláři všechny věty, tj. nejen věty související s větou v hlavním formuláři. Číslo faktury v podformuláři je zbytečné, neboť v podformuláři jsou zobrazeny jen licence s číslem faktury uvedeným v hlavním formuláři. Při vyplňování nových licencí by se číslo faktury po zápisu libovolného pole podformuláře automaticky vyplnilo. Pole Faktura odstraníme z podformuláře včetně jeho popisku. Vzhledem k tomu, že ovládací prvky jsou v tabulkovém rozložení, automaticky se posunou zbývající ovládací prvky doleva. Ručně však musíme posunout celkové tržby včetně jejich popisku v zápatí podformuláře. 124 Výsledný stav formuláře je uveden v obr OBR. 5-13: FORMULÁŘOVÉ ZOBRAZENÍ FORMULÁŘE P56C FAKTURY 123 Podformulář bude nadepsán ve svém záhlaví včetně loga. Toto záhlaví se nebude zobrazovat, pokud podformulář nebude obsahovat žádnou větu k větě hlavního formuláře. Popisek by se vypisoval vždy. 124 Ovládací prvky podformuláře lze označit i při práci s hlavním formulářem. Prvním kliknutím označíme podformulář (a vidíme jeho vlastnosti), druhým kliknutím vybereme ovládací prvek podformuláře.

117 5 Formuláře 117 P56e Faktury P56f Podniky Fakturu nemůžeme vystavit pro podnik, který není v tabulce Podniky. Proto jsme v předchozím formuláři vybírali IČ podniku ze seznamu. Při psaní nové faktury chceme mít přehled o případných dřívějších prodejích stejnému podniku. Také faktury chceme zadávat formou podformuláře v hlavním formuláři dat o podnicích. Access umožňuje dvojí úroveň vnoření formulářů. Nejprve stávající formulář P56c Faktury zkopírujeme do formuláře P56e Faktury, který se stane součástí hlavního formuláře a který bude později modifikován (vynecháním pole IČ, jímž bude propojen s hlavním formulářem). Připravíme formulář P56f Podniky s vybranými základními poli z tabulky Podniky. Nechceme do formuláře uvést všechna pole, proto použijeme Průvodce formulářem: V navigačním podokně klikneme ve skupině TABULKY do tabulky Podniky. V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Průvodce formulářem. V prvním okně průvodce je nabídnut výběr tabulky Podniky. Ze seznamu dostupných polí vybereme IČ, Název_podniku a Obec (viz obr. 5-14). Klikneme do tlačítka Další. OBR. 5-14: PRŮVODCE FORMULÁŘEM - PRVNÍ OKNO Ve druhém okně Průvodce vybereme rozložení Tabulka (pole ve sloupcích) a klikneme do tlačítka Další. Ve třetím okně Průvodce zadáme název formuláře P56f Podniky a ponecháme vybránu volbu Otevřít formulář pro zobrazení nebo zadávání informací. Klikneme do tlačítka Dokončit. Vytvoří se formulář, který se otevře ve formulářovém zobrazení. V zobrazení rozložení provedeme úpravy formuláře: Změníme název formuláře v záhlaví na Podniky. Zmenšíme výšku ovládacího prvku popisku s názvem tak, aby nepřekrývala nadpisy sloupců tabulky. Změníme nadpis sloupce Název_podniku na Název podniku. Snížíme výšku polí v podrobnostech na 0,6 cm. Přidáme popisky a pole podrobností do tabulkového rozložení. Průvodce nepřidává bohužel pole do rozložení. Upravíme šířky sloupců tabulky. Odstraníme mezery mezi sloupci:» Kliknutím ve svislém pravítku označíme všechna pole v sekci PODROBNOSTI.» V kartě USPOŘÁDÁNÍ ve skupině UMÍSTĚNÍ klikneme do tlačítka Výplň ovládacího prvku a vybereme volbu Žádná.» Přesuneme pole podrobností těsně pod horní hranu podrobností.» Tažením za spodní hranu minimalizujeme sekci PODROBNOSTI.» Kombinací kláves Ctrl A označíme všechny prvky formuláře a posuneme je k levému kraji. Označíme současně vázané ovládací prvky IČ, Název_podniku a Obec a do datové vlastnosti Uzamknout zadáme hodnotu ano, neboť formulář nebudeme používat k editaci dat o podnicích či vkládání nových podniků, ale pouze pro vyhledávání faktur k jednotlivým podnikům. V návrhovém zobrazení změníme formátovou vlastnost formuláře Výchozí zobrazení na hodnotu Samostatný formulář.

118 5 Formuláře 118 V návrhovém zobrazení zvýšíme výšku podrobností na 10 cm a tažením vložíme do podrobností asi 1 cm pod pole IČ podformulář P56e Faktury. Odstraníme popisek podformuláře P56e Faktury a posuneme podformulář nahoru asi 0,2 cm pod ovládací prvek IČ. Zvýšíme podformulář na výšku Abychom mohli snadno hledat podnik, jehož faktury a licence chceme zobrazit, upravíme ještě výchozí zobrazení formuláře P56f Podniky. V návrhovém zobrazení upravíme vlastnosti: formátová vlastnost Výchozí zobrazení: Rozdělit formulář. formátová vlastnost Orientace rozděleného formuláře: Datový list napravo. Z podformuláře Faktury odstraníme pole IČ. Zkontrolujeme, že v datových vlastnostech podformuláře Faktury je pole IČ uvedeno ve vlastnostech Řídící propojovací pole a Podřízené propojovací pole. Závěrem vhodně upravíme šířku formulářů a objektů podformulářů 125. Výsledný stav formuláře je uveden v obr OBR. 5-15: FORMULÁŘOVÉ ZOBRAZENÍ FORMULÁŘE P45F PODNIKY Zvláště důležité je správně se zorientovat v navigačních tlačítkách jednotlivých formulářů: Spodní navigační tlačítka slouží k pohybu mezi jednotlivými podniky, tj. v tabulce Podniky. Navigační tlačítka v předposledním řádku slouží k pohybu mezi fakturami, tj. v tabulce Faktury (přesněji ve větách tabulky Faktury souvisejících se zobrazenou větou tabulky Podniky). Navigační tlačítka ve třetím řádku zespodu slouží k pohybu mezi licencemi zobrazené faktury, tj. v tabulce Licence (přesněji ve větách tabulky Licence souvisejících se zobrazenou větou tabulky Faktury). Pro úplnost ještě dodejme: Podformulář lze vložit do formuláře v návrhovém zobrazení také, když v kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Podformulář či podsestava a upřesněníme vlastností podformuláře v průvodci podformulářem, či přímo ve vlastnostech (především Zdrojový objekt, Řídící a Podřízená propojovací pole). Podformulář vloží za vhodných podmínek do formuláře Access sám při prvotní definici formuláře. Podformulář je však v tomto případě zobrazen formou tabulky, což lze upravit výběrem vhodného podformuláře do datové vlastnosti Zdrojový objekt v návrhovém zobrazení. 125 Podformulář můžeme v návrhovém zobrazení zobrazit v samostatném novém okně, když v kartě NÁVRH ve skupině NÁSTROJE klikneme do Podformulář v novém okně.

119 5 Formuláře 119 Podformulář může být s formulářem propojen i skupinou více polí. Potom jsou jednotlivá pole ve vlastnosti Řídící a Podřízená propojovací pole oddělena středníkem. Názvy polí nemusíme vypisovat ručně, lze je vybrat ze seznamu při využití tvůrce, tj. kliknutím do tlačítka na konci řádku Řídící propojovací pole nebo Podřízená propojovací pole. Graf P57 Podklady grafů 5.7 Graf Jedním z ovládacích prvků formuláře může být graf. Graf může být celkový bez ohledu na data ve formuláři nebo může mít charakter podformuláře a zobrazovat jen data ve větách souvisejících s větou v (hlavním) formuláři. Vytvoříme postupně tři grafy: graf celkových tržeb firmy, graf tržeb vybraného zaměstnance dle měsíců, graf tržeb fakturovaných vybranému podniku odběrateli Graf za všechny věty Nejdříve připravíme zdrojový dotaz pro všechny tři grafy. V dotazu upřesňujeme ke každé faktuře měsíc prodeje, značku programu a cenu programu (viz obr. 5-16). OBR. 5-16: DOTAZ P57 PODKLADY GRAFŮ P57a Graf Celkové tržby První graf celkových tržeb za podnik připravíme do prázdného formuláře bez datového zdroje: V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Návrh formuláře. V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Graf. Graf vymezíme po celé ploše podrobností formuláře. Dále nás vede Průvodce grafem. V prvním okně vybereme dotaz P57 Poklady grafů, který použijeme pro vytvoření grafu. V druhém okně vybereme pole, která chceme zobrazit v grafu: Program, Měsíc, Cena. V třetím okně ponecháme vybraný první typ grafu sloupcový. Ve čtvrtém okně upřesníme umístění polí v grafu: Tažením do pravé poloviny okna pod seznam polí odstraníme pole Součet-Měsíc. Na ose x (oblast Osa) ponecháme Program. Do oblasti Data přetáhneme Cenu. Změní se na Součet-Cena. Do oblasti Řada přetáhneme Měsíc. Tlačítkem Náhled grafu můžeme zobrazit ukázkový náhled. V pátém okně upřesníme nadpis grafu Celkové tržby a ponecháme zobrazenu legendu. Graf v návrhovém zobrazení obsahuje jen ilustrativní data (za Východ, Západ, Sever v čtvrtletí, která nejsou čerpána ze zdrojového dotazu). Zobrazíme graf v zobrazení rozložení a mírně zvětšíme, čímž se graf zformátuje. Ve formulářovém zobrazení dvojitě klikneme na graf. Graf se zobrazí v aplikaci Microsoft Graph, v níž upravíme typ grafu: Z menu zadáme příkaz GRAF, TYP GRAFU.

120 5 Formuláře 120 V dialogovém okně Typ grafu vybereme v rámci typu grafu Sloupcový první podtyp grafu Skládaný sloupcový a klikneme do tlačítka OK. Kliknutím do bílé části okna Accessu mimo graf ukončíme práci s aplikací Microsoft Graph. Do formátové vlastnosti Styl okraje grafu zadáme hodnotu Průhledná čára. Výsledný formulář uložíme pod názvem P57a Graf Celkové tržby (viz obr. 5-17). OBR. 5-17: FORMULÁŘOVÉ ZOBRAZENÍ FORMULÁŘE P57A GRAF CELKOVÉ TRŽBY P57b Graf Osoby Graf za jednotlivé zaměstnance Druhý formulář bude obsahovat graf zobrazující data vztahující se pouze k zobrazenému zaměstnanci. Podkladový dotaz je připraven pro graf, nikoliv pro formulář. Nový formulář připravíme z tabulky Osoby: V navigačním podokně klikneme ve skupině TABULKY do tabulky Osoby. V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Průvodce formulářem: V prvním okně Průvodce vybereme pouze pole Osoba. V druhém okně ponecháme rozložení Sloupce (pole v řádcích). V třetím okně nazveme formulář P57b Graf Osoby. V návrhovém zobrazení potlačíme zobrazení sekce Záhlaví formuláře z místní nabídky sekce výběrem volby Záhlaví a zápatí formuláře. Odsouhlasíme odstranění sekce. Jediné pole v podrobnostech posuneme do levého horního rohu. Zúžíme popisek Zaměstnanec. Přisuneme pole Osoba. Upravíme vlastnosti ovládacího prvku Osoba: formátová vlastnost Styl okraje: Průhledná čára datová vlastnost Uzamknout: ano V návrhovém zobrazení zvětšíme formulář na 10 x 10 cm a vložíme do něj graf: V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Vložit graf. Pod polem Osoba vymezíme v celé ploše formuláře graf. V prvním okně vybereme dotaz P57 Poklady grafů, který použijeme pro vytvoření grafu. V druhém okně vybereme pole, která chceme zobrazit v grafu: Program, Měsíc, Cena. V třetím okně ponecháme vybraný první typ grafu sloupcový. Ve čtvrtém okně upřesníme umístění polí v grafu: Tažením do pravé poloviny okna pod seznam polí odstraníme pole Součet-Měsíc. Na ose x (oblast Osa) ponecháme Program. Do oblasti Data přetáhneme Cenu. Změní se na Součet-Cena. Do oblasti Řada přetáhneme Měsíc. Tlačítkem Náhled grafu můžeme zobrazit ukázkový náhled. V pátém okně jsme na rozdíl od předchozího grafu požádáni o výběr polí spojujících větu a graf, neboť pro formulář je definován podkladový dotaz. Ponecháme jako Formulář pole i jako

121 5 Formuláře 121 Pole grafu pole Osoba. Později bude vyplněno do vlastností Řídící a Podřízená propojovací pole. V šestém okně upřesníme nadpis grafu Tržby zaměstnance a ponecháme zobrazenu legendu. Graf v návrhovém zobrazení obsahuje jen ilustrativní data (za Východ, Západ, Sever v čtvrtletí, která nejsou čerpána z podkladového dotazu). Zobrazíme graf v zobrazení rozložení a mírně zvětšíme, čímž se graf zformátuje. Ve formulářovém zobrazení dvojitě klikneme na graf. Graf se zobrazí v aplikaci Microsoft Graph, v níž upravíme typ grafu: Z menu zadáme příkaz GRAF, TYP GRAFU. V dialogovém okně Typ grafu vybereme v rámci typu grafu Sloupcový první podtyp grafu Skládaný sloupcový a klikneme do tlačítka OK. Kliknutím do bílé části okna Accessu mimo graf ukončíme práci s aplikací Microsoft Graph. Do formátové vlastnosti Styl okraje grafu zadáme hodnotu Průhledná čára. Výsledný formulář uložíme pod názvem P57b Graf Osoby. V grafu jsou analyzovány pouze tržby za zaměstnance zobrazeného ve formuláři (viz obr. 5-18). Někteří zaměstnanci nemají právo fakturovat, nevykazují proto tržby, nemají zobrazen graf. Propojení funguje díky správnému naplnění datových vlastností grafu Řídící a Podřízená propojovací pole hodnotou Osoba. OBR. 5-18: FORMULÁŘOVÉ ZOBRAZENÍ FORMULÁŘE P57B GRAF OSOBY V návrhovém zobrazení změníme ještě vlastnosti formuláře: formátová vlastnost Výchozí zobrazení: Rozdělit formulář formátová vlastnost Orientace rozděleného formuláře: Datový list napravo Do formuláře doplníme pole Oprávnění fakturovat. Datový list v pravé části rozděleného formuláře usnadňuje výběr zaměstnance. Umožňuje také filtrování zobrazovaných zaměstnanců, např. můžeme zobrazit jen zaměstnance s oprávněním fakturovat. P57c Graf Podniky Graf za jednotlivé podniky Obdobně připravíme formulář s grafem pro podniky s následujícími rozdíly: Formulář vychází z tabulky Podniky, nikoliv z tabulky Osoby. Zobrazuje IČ a název podniku. Formulář vytvoříme průvodcem, odstraníme v něm záhlaví. IČ a název podniku umístíme do jednoho řádku vedle sebe. Pole IČ a Název_podniku jsou bez ohraničující čáry a uzamčené. Do grafu jsou umístěna pouze pole Program (Osa) a Cena (Data). Polem spojujícím větu a graf je pole IČ. Graf je nadepsán Tržby za prodeje vybranému podniku. Není zobrazena legenda.

122 5 Formuláře 122 Formulář je uložen pod názvem P57c Graf Podniky. Výsledný stav formuláře je v obr OBR. 5-19: FORMULÁŘOVÉ ZOBRAZENÍ FORMULÁŘE P57C GRAF - PODNIKY 5.8 Formuláře s nabídkou dalších objektů P58e Karta Osoby Karta Formulář s kartou O zaměstnancích máme k dispozici velké množství informací, které zobrazujeme v několika formulářích. Vytvoříme nyní formulář s komplexními informacemi o jednotlivých zaměstnancích. Access umožňuje rozložení většího množství polí do několika stránek tzv. karty. Stránky karty se ve formuláři překrývají podobně jako karty v dialogových oknech programů. Access nazývá objekt se záložkami karta, každá záložka zastupuje jednu stránku. Využijeme stávající formuláře a vložíme je jako podformuláře na stránky karty komplexního formuláře. V podformulářích na stránkách karty budeme chtít zobrazovat jen věty, které se vztahující se k zaměstnanci zobrazenému v komplexním formuláři. Formulář bude obsahovat kartu se čtyřmi stránkami s podformuláři, které budeme mírně modifikovat, a proto si nejprve připravíme jejich kopie: P52 Osoby Identifikace zkopírujeme do formuláře P58a Osoby Identifikace, P56c Faktury zkopírujeme do formuláře P58b Faktury. P57b Graf Osoby zkopírujeme do formuláře P58c Graf Osoby. P54 Cesty zkopírujeme do formuláře P58d Cesty. Provedeme následující úpravy ve formulářích: P58a Osoby Identifikace: Odstraníme pole a popisek Osoba, neboť bude uvedeno v hlavním formuláři. Ostatní ovládací prvky v levé části přesuneme v podrobnostech nahoru. P58b Faktury: Odstraníme pole Osoba. P58c Graf Osoby: Odstraníme pole Osoba a Oprávnění. Graf posuneme nahoru. Zmenšíme výšku podrobností. Do formátové vlastnosti formuláře Výchozí zobrazení zadáme hodnotu Samostatný formulář. P58d Cesty: Modifikujeme zdroj záznamů, kterým bude dotaz využívající tabulky Cesty a Výjezdy, výsledkem dotazu budou všechna pole z tabulky Cesty a pole Osoba z tabulky Výjezdy. Pole Osoba do podformuláře neumístíme. Vytvoříme hlavní formulář, který bude obsahovat pouze pole Osoba a kartu s podformuláři. Připravíme kopii formuláře P57b Graf Osoby pod názvem P58e Karta Osoby. Odstraníme pole Oprávnění a graf. Do formuláře nachystáme objekt karta: V návrhovém zobrazení klikneme v kartě NÁVRH ve skupině OVLÁDACÍ PRVKY do tlačítka Karta. Kartu vymezíme v podrobnostech formuláře pod polem Osoba. Pravý dolní roh bude na pozici 15;12. Kartu bude možné později označit kliknutím napravo od poslední záložky. Kliknutím do některé ze záložek bude možné označit dílčí stránku karty.

123 5 Formuláře 123 Vytvoření a přejmenování stránky Odstranění stránky Pořadí stránek V kartě jsou přichystány dvě stránky. Postupně klikneme na jejich záložky a upravíme jinou vlastnost Název na hodnotu Identifikace pro první stránku a Faktury pro druhou stránku 126. Do karty chceme vložit další dvě stránky. Označíme kartu či některou stránku a v kartě NÁVRH klikneme ve skupině OVLÁDACÍ PRVKY do tlačítka Vložit stránku. Takto vložíme dvě stránky a nové stránky přejmenujeme na Graf prodejů a Cesty. Pro úplnost uveďme další možné operace se stránkami. Kliknutím pravým tlačítkem do záložky stránky zobrazíme místní nabídku, v níž můžeme: volbou Odstranit stránku označenou stránku odstranit, volbou Pořadí stránek zobrazit dialogové okno, v němž tlačítky Přesunout nahoru a Přesunout dolů můžeme upravit pořadí stránek. Na stránky umístíme podformuláře (viz obr. 5-20): OBR. 5-20: STRÁNKA CESTY FORMULÁŘE P58E KARTA - OSOBY P58i Karta Podniky V návrhovém zobrazení klikneme na záložku první stránky Identifikace. Nyní bychom mohli umisťovat do stránky karty nové ovládací prvky. Z navigačního podokna přesuneme do levého horního rohu černé části stránky 127 Identifikace formulář P58a Osoby Identifikace. Pokud je podformulář vyšší či širší, automaticky se změní velikost stránky (v našem případě její výška i šířka). Odstraníme popisek podformuláře, posuneme podformulář o ušetřené místo nahoru a zmenšíme výšku karty. Obdobně umístíme na další stránky další podformuláře. 128 Podformuláře vkládáme do levého horního rohu stránek. Podformulář je propojen s hlavním formulářem polem Osoba. Pro podformulář na stránce Graf prodejů musíme upřesnit vlastnost Řídící a Podřízené propojovací pole na hodnotu Osoba. Obdobně připravíme komplexní formulář o podnicích, nejprve připravíme podformuláře: P53 Podniky Identifikace zkopírujeme do formuláře P58f Podniky Identifikace, P56c Faktury zkopírujeme do formuláře P58g Faktury. P57c Graf Podniky zkopírujeme do formuláře P58h Graf Podniky. Ve všech třech nově vytvořených formulářích odstraníme pole IČ a Název_podniku neboť budou uvedena v hlavním formuláři. 126 Pokud bychom vyplnili formátovou vlastnost Titulek, bude titulek použit pro text záložky stránky. Pokud je vlastnost Titulek prázdná, je pro text záložky použit Název. 127 Pokud bychom objekt neumístili do černé části, nebyl by součástí stránky karty, byl by však součástí přímo celého formuláře a překrýval by objekt karty. 128 Po odstranění popisku prvního podformuláře je vhodné nastavení vlastností pole podformuláře definovat jako výchozí, když v kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Výchozí nastavení prvku, Ostatní podformuláře se potom vkládají bez popisku.

124 5 Formuláře 124 Hlavní formulář P58i Karta Podniky bude vycházet z kopie formuláře P57c Graf Podniky. Připravíme kartu se třemi stránkami Identifikace, Prodeje, Graf prodejů. Analogicky jako v případě formuláře P58e Osoby Karta na jednotlivé stránky kopírujeme upravené podformuláře. Formulář s navigací P58j Navigační formulář Formulář s navigací Formuláře bez návaznosti na hlavní formulář můžeme umístit do karet ve formuláři s navigací (viz obr. 5-21): V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Navigace a vybereme volbu Vodorovné karty, 2 úrovně. V první úrovni záložek navigačního formuláře dvojitě klikneme do záložky Přidat nový. Do záložky zapíšeme název Osoby a odešleme. Obdobně připravíme záložku Podniky. Ve druhé úrovni dvojitě klikneme do záložky Přidat nový. Zapíšeme název Identifikace. Do datové vlastnosti záložky Název cílové navigace vybereme Formulář P52 Osoby Identifikace. Obdobně připravíme další záložky s formuláři: Osoby» Faktury: Formulář P56b Faktury» Graf: Formulář P57b Graf Osoby» Cesty: Formulář P54 Cesty Podniky» Identifikace: Formulář P53 Podniky - Identifikace» Faktury: Formulář P56b Faktury» Graf: Formulář P57c Graf - Podniky Ve formulářovém zobrazení se kliknutím do záložky zobrazí příslušný objekt formulář nebo graf. Název záložky je uveden ve formátové vlastnosti Titulek. OBR. 5-21: NAVIGAČNÍ FORMULÁŘ Formulář s odkazy na objekty P58k Formulář s odkazy na objekty Automatické otevření formuláře po otevření databáze Formulář s odkazy na objekty Do prázdného formuláře můžeme vložit hypertextové odkazy na libovolné objekty Accessu či odkazy na lokální soubory nebo na webové adresy (viz obr. 5-22): V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Návrh formuláře. V prázdném formuláři stiskneme v kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Hypertextový odkaz nebo stiskneme kombinaci kláves Ctrl K. V dialogovém okně Vložit hypertextový odkaz dohledáme v záložce Objekt v této databázi příslušný formulář a klikneme do tlačítka OK. Obdobně vložíme hypertextové odkazy na další objekty. Další odkazy se vkládají pod sebe. Poslední tři odkazy tažením přesuneme do druhého sloupce. Ve formulářovém zobrazení se po kliknutí na odkaz otevře objekt v samostatné kartě. Jakýkoliv formulář můžeme otevřít automaticky po spuštění databáze. V kartě SOUBOR vybereme Možnosti. V kartě Aktuální databáze v sekci MOŽNOSTI APLIKACE vybereme formulář do pole Zobrazit formulář. Změna se projeví po novém otevření databáze. OBR. 5-22: FORMULÁŘ S ODKAZY NA OBJEKTY

125 6 Sestavy Sestavy Význam sestav Druhy sestav Zobrazení sestavy Struktura sestavy 6.1 Druhy sestav Sestavy slouží k prezentaci dat, zejména k tisku dat na tiskárně. Tisknout lze i formuláře 129, sestavy však nabízejí širší možnosti, poskytují větší volnost v prezentaci sumárních informací. Návrh sestavy je podobný návrhu formuláře. Také sestava se skládá z ovládacích prvků, které lze parametrizovat pomocí vlastností a které jsou umístěny do sekcí sestavy. K dispozici je však jediný druh sestavy, který je analogií nekonečného formuláře. Tisknou se tedy všechny věty. Neexistuje analogie samostatného ani rozděleného formuláře. V sestavě se tisknou vždy všechny věty podkladové tabulky či dotazu. Výběr vět můžeme provádět filtrováním v rámci datové vlastnosti sestavy Filtr. Věty v sestavě lze řadit či seskupovat. Skupina může mít své záhlaví a zápatí, skupiny mohou být do sebe vnořeny v několika úrovních. Do sestavy lze doplňovat součty za celou sestavu či za jednotlivé skupiny. Sestavu lze zobrazit několika zobrazeními 130 : Zobrazení sestavy: Sestava je zobrazena podobně, jak bude vytištěna: Na rozdíl od zobrazení rozložení a návrhového zobrazení nelze provádět změny návrhu, např. rozšiřovat pole. Na rozdíl od náhledu lze definovat filtr a lze označovat tažením věty např. za účelem kopírování do schránky. Sestava není rozdělena na stránky, nezobrazuje se např. rozdělení do sloupců. Náhled: Sestava je zobrazena tak, jak bude vytištěna. Zobrazí se kontextová karta NÁHLED, v níž je možné: nastavit lupu zobrazení náhledu, nastavit velikost a orientaci stránky, exportovat data, např. do Wordu, tisknout data na tiskárně. Práci s náhledem je nutné ukončit kliknutím do tlačítka Zavřít náhled. Zobrazení rozložení: Zobrazení, v němž lze provádět řadu změn návrhu sestavy. V zobrazení rozložení jsou při úpravách sestavy zobrazena data, zobrazení je tak vhodné např. při nastavení šířky polí. Návrhové zobrazení: Zobrazení, v němž nejsou zobrazena data. Lze v něm provádět veškeré změny návrhu, mj.: Jsou zobrazeny sekce (oddíly) Záhlaví sestavy, Záhlaví stránky, Podrobnosti, Zápatí stránky, Zápatí sestavy. Lze měnit jejich velikost. Lze měnit zásadní vlastnosti sestavy, např. Výchozí zobrazení. Výchozím zobrazením může být Zobrazení sestavy nebo Náhled tisku. Lze přidat do sestavy další ovládací prvky, např. popisky, obrázky, čáry. Lze upravit zdroje ovládacích prvků. Sestava se skládá z několika sekcí: Záhlaví sestavy je vytištěno na začátku sestavy. V případě použití ovládacího prvku obsahujícího funkci Sum je vypočítán součet za celou sestavu. Záhlaví stránky je vytištěno na začátku každé stránky. Na první stránce je vytištěno až za záhlavím sestavy. Záhlaví skupiny je vytištěno na začátku skupiny. Může obsahovat např. pole, dle nějž sestavu seskupujeme. Takové pole potom již nemusíme uvádět do podrobností sestavy, můžeme tak ušetřit sloupec tabulky. Sestavu zaměstnanců můžeme např. seskupit dle pole Oddělení a 129 Tisknout lze také přímo tabulky. V navigačním podokně kliknutím označíme tabulku. V kartě SOUBOR klikneme v dílčí kartě TISK do tlačítka Náhled. Tabulky se tisknou ve formě ohraničených buněk, každá věta tvoří jeden řádek. Sloupce jsou nazvány dle názvů polí. Obdobně lze tisknout výsledky dotazů. Pokud je otevřena tabulka či dotaz tiskne se otevřený objekt, nikoliv objekt vybraný v navigačním podokně. 130 Ve vlastnostech sestavy lze zamezit nabízení některých zobrazení (zobrazení sestavy, zobrazení rozložení).

126 6 Sestavy 126 Ovládací prvky Tlačítka tvorby sestavy pole Oddělení (či lépe Oddělení_v) tisknout do záhlaví skupiny. V případě použití ovládacího prvku obsahujícího funkci Sum je vypočítán součet za skupinu. Podrobnosti obsahují prvky vztahující se k jednotlivým větám. Zápatí skupiny je vytištěno na konci skupiny. Může obsahovat např. volný prostor k oddělení skupin nebo součet za skupinu. Zápatí stránky je vytištěno na konci každé stránky. Zápatí sestavy je vytištěno na konci sestavy před zápatím stránky 131. Ovládací prvky jsou objekty použité v sestavě. Zobrazují data z podkladové tabulky či dotazu a doplňkové informace (např. popisky dat a obrázky). Dle návaznosti na podkladová data existují obdobně jako ve formulářích různé druhy ovládacích prvků: vázané: slouží k tisku hodnot, vypočítané: tisknou výsledek výrazu, nevázané: zvyšují přehlednost sestavy, speciální prvky Číslo stránky a Datum a čas se používají především v sestavách. Tlačítka pro tvorbu sestavy jsou soustředěna v kartě VYTVOŘENÍ ve skupině SESTAVY. Všechna tlačítka vytvoří prvotní návrh sestavy. Tlačítka se liší dle obsahu prvotního návrhu: Sestava: Jako podklad je využit objekt označený v navigačním podokně. 132 Z dat je vytvořena sestava včetně záhlaví sestavy (v němž je uveden datový zdroj), záhlaví stránky, zápatí stránky (číslo stránky) a zápatí sestavy (počet vět). Název sestavy je převzat z názvu datového zdroje. 133 Ovládací prvky jsou v tabulkovém rozložení. Tažením za kraj ovládacího prvku tak můžeme snadno měnit jeho umístění ve sloupcích. Sestava se zobrazí v zobrazení rozložení. Návrh sestavy: Vytvoří se nová prázdná sestava, která nemá definován datový zdroj. Sestava se zobrazí v návrhovém zobrazení. Prázdná sestava: Vytvoří se nová prázdná sestava, která nemá definován datový zdroj. Sestava se zobrazí v zobrazení rozložení. Průvodce sestavou: V průvodci vybereme podkladovou tabulku či dotaz, pole sestavy, úroveň seskupení polí, řazení, způsob rozložení ovládacích prvků v sestavě a styl formátování sestavy. Závěrem se rozhodneme, zda sestavu zobrazíme v náhledu či návrhovém zobrazení. Ovládací prvky nejsou v rozložení. Štítky: Jako podklad je využit objekt označený v navigačním podokně. Připraví se sestava určená pro tisk štítků např. s adresami odběratelů. V průvodci štítky vybereme jejich rozměr, formát písma, pole do jednotlivých řádků štítku, kritéria řazení vět vypisovaných do štítků, název sestavy. Závěrem se rozhodneme, zda sestavu zobrazíme v náhledu či návrhovém zobrazení. V dalším výkladu (v kap ) se zaměříme na přípravu evidenčních listů zaměstnanců pro ředitele, na nichž chceme vypsat základní údaje o zaměstnanci i o jeho aktivitách ve firmě, tj. prodejích programů a služebních cestách. Evidenční list bude obsahovat pro každého zaměstnance: základní informace o zaměstnanci (kap. 6.2): tituly, jméno, příjmení, pohlaví, kancelář, telefon, oddělení, charakteristiku, úvazek, webovou adresu, informace o oprávnění fakturovat, informace o absolvovaných služebních cestách (kap. 6.3): číslo cesty, den zahájení a ukončení cesty, místo, informace o licencích, pro které zaměstnanec vyhotovil faktury (kap. 6.4): číslo faktury, datum, odběratel, značka programu, sériové číslo, cena. 131 V návrhovém zobrazení je zápatí sestavy uvedeno pod zápatím stránky. V náhledu a při tisku sestavy se zápatí sestavy tiskne nad zápatím stránky za zápatím poslední skupiny nebo podrobnostech poslední věty na poslední stránce. 132 V případě, že je označen formulář či sestava, je jako podklad převzat jejich zdroj záznamů. V případě, že je označeno makro nebo modul, není většina tlačítek skupiny SESTAVY dostupná. 133 Tabulky a dotazy nesmí mít shodné názvy. Sestava však může mít název totožný s názvem tabulky či dotazu. Pokud by již sestava se stejným názvem existovala, byla by k názvu doplněna číslice.

127 6 Sestavy 127 P62 Osoby Identifikace 6.2 Sestava s výrazy Začneme sestavou základních informací o zaměstnanci. Část sestavy je uvedena v obr Každý zaměstnanec je nadepsán svým jménem a příjmením s tituly tučně větším písmem. Dále jsou obdobně jako ve formuláři P52 Osoby Identifikace vypsána o zaměstnanci známá pole, přičemž: OBR. 6-1: SESTAVA P62 OSOBY IDENTIFIKACE Pohlaví je vysvětleno slovně. Oddělení je vysvětleno slovně s využitím vysvětlivky z tabulky Oddělení. Do řádku Web je vypsána webová adresa (druhý parametr pole Web_stránka). Pole Oprávnění je vypisováno jen pro hodnotu ano a je nahrazeno textem. Fotografie zaměstnance je umístěna napravo od ostatních polí. Jednotliví zaměstnanci jsou od sebe odděleni vodorovnou čarou. Sestavy nemají druh obdobný samostatnému formuláři. Nemůžeme proto vytvořit základ sestavy tlačítkem Sestava, které by vytvořilo sestavu v tabulkovém rozložení. Navrhneme sestavu sami: V navigačním podokně klikneme ve skupině TABULKY do tabulky Osoby. V kartě VYTVOŘENÍ ve skupině SESTAVY klikneme do tlačítka Návrh sestavy. Vytvoří se sestava bez zdroje záznamů se sekcemi Záhlaví stránky, Podrobnosti, Zápatí stránky. Kliknutím do tlačítka Záhlaví a zápatí stránky ve skupině ZOBRAZIT ČI SKRÝT v kartě USPOŘÁDÁNÍ potlačíme zobrazení záhlaví a zápatí stránky. V kartě NÁVRH ve skupině NÁSTROJE klikneme do tlačítka Přidat existující pole. Zobrazí se okno Seznam polí, v němž zobrazíme všechny tabulky. Rozbalíme seznam polí tabulky Osoby a dvojitě klikneme na první pole Osoba. Pole Osoba včetně popisku se umístilo včetně popisku do podrobností. Tažením za okraj popisku (mimo čtvercové úchyty) přesuneme pole do levého horního rohu na pozici asi 0,2;0,2. Na začátek podrobností umístíme celé jméno zaměstnance včetně titulů: Klikneme do vázaného ovládacího prvku Osoba a založíme skládané rozložení. V kartě USPOŘÁDÁNÍ ve skupině TABULKA klikneme do tlačítka Skládané. V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Textové pole. Tažením vymezíme textové pole pod polem Osoba. Tažením přesuneme nové pole na začátek skládaného rozložení.

128 6 Sestavy 128 Výraz v sestavě Funkce HyperLinkPart Upravíme popisek nového pole na Celé jméno. Do datové vlastnosti Zdroj ovládacího prvku nového pole zapíšeme výraz: =Trim([Titul1] & " " & [Jméno] & " " & [Příjmení] & [Titul2]) 134 Do zdroje jsme uvedli výraz, v němž spojíme operátorem & jednotlivé části celého jména. Části od sebe oddělujeme mezerou s výjimkou případného titulu za jménem, v němž předpokládáme, že je uvedena na začátku oddělující čárka (např., Ph.D.). Nadbytečnou mezeru na začátku pro zaměstnance bez titulu odstraní funkce Trim, která utrhne mezery na začátku a konci textového argumentu. 135 Kliknutím do tlačítka Zobrazení rozložení ve stavovém řádku přejdeme do zobrazení sestavy. Access nás vyzve k zadání parametru Titul1, neboť v podkladovém dotazu sestavy není pole Titul1. Kliknutím do tlačítka Storno se vrátíme zpět do návrhového zobrazení. Ze Seznamu polí přidáme pod rozložení pole Titul1, Jméno, Příjmení a Titul2. Přidají se tak do zdrojového dotazu. Označíme je a odstraníme klávesou Delete ze sestavy. Ve zdrojovém dotazu zůstala pole zachována. Nyní již můžeme přejít do zobrazení sestavy. Po prohlédnutí se vrátíme do návrhového zobrazení. Nové pole nazveme v jiné vlastnosti Název jako Celé_jméno. Obdobně vložíme do sestavy další pole: Ze Seznamu polí přesuneme do skládaného rozložení pole Pohlaví, Místnost, Telefon, Nadřízený, Charakteristika, Úvazek, Web_stránka, Oprávnění. Kliknutím pravým tlačítkem a volbou Změnit na změníme typ na textové pole pro pole Pohlaví, Místnost, Nadřízený a Úvazek. Z tabulky Oddělení přidáme do sestavy za Telefon pole Oddělení_v, jeho popisek změníme na Oddělení. Pro pole Pohlaví chceme vypisovat vysvětlivku. Proto upravíme vlastnosti: jiná vlastnost Název: Pohlaví_v 136 datová vlastnost Zdroj ovládací prvku: =IIf([Pohlaví]="M";"muž";"žena") Pro pole Web_stránka chceme vypisovat druhou část pole adresy, proto upravíme vlastnosti: jiná vlastnost Název: Web_stránka_2 datová vlastnost Zdroj ovládací prvku: =HyperLinkPart(Web_stránka;2) formátová vlastnost Hypertextový odkaz: ne 137 Stav Oprávnění budeme vypisovat formou věty: Zaškrtávací pole nemůžeme změnit na textové pole. Odstraníme proto pole Oprávnění. Vložíme textové pole: V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Textové pole. Vymezíme pole pod skládaným rozdělením. Přesuneme textové pole do skládaného rozdělení na konec. Změníme popisek nového pole na Oprávnění. Změníme vlastnosti dosud nevázaného nového textového pole: jiná vlastnost Název: Oprávnění_v datová vlastnost Zdroj ovládacího prvku: =IIf(Oprávnění;"Má oprávnění fakturovat.") 138 Popisek Oprávnění fakturovat chceme odstranit. Musíme nejdříve odebrat ovládací prvek Oprávnění_v z rozložení. Označíme jej kliknutím a v kartě USPOŘÁDÁNÍ klikneme ve skupině 134 Výraz můžeme zapsat pomocí Tvůrce výrazu. Nemusíme zapisovat hranaté závorky, které doplní Access. Musíme však zapisovat uvozovky. 135 V případě, že by u některých zaměstnanců s titulem chybělo křestní jméno, museli bychom výraz upravit: =Trim(Trim([Titul1] & " " & [Jméno]) & " " & [Příjmení]) & [Titul2] 136 Nesmíme zapomenout změnit i vlastnost Název na hodnotu Pohlaví_v, aby ve výrazu nebyl použit stejný název, jako je název ovládacího prvku sestavy. (Ve výrazu může být totiž použit odkaz na název ovládacího prvku, který má při vyhodnocení přednost před stejným názvem pole ze zdrojové tabulky či dotazu. Pokud bychom název nezměnili, v sestavě by se vypisoval chybný výstup.) 137 Pokud bychom vlastnost Hypertextový odkaz neopravili, byl by hypertextový odkaz podtržený i v náhledu a při tisku. Byl by však citlivý v zobrazení sestavy. 138 Pole Oprávnění je přímo logickou hodnotou s výsledkem Ano či Ne. Funkce IIf nemusí obsahovat třetí parametr, který vypočítává hodnotu při nesplnění podmínky. Při nesplnění podmínky je výsledkem prázdný řetězec.

129 6 Sestavy 129 Formát písma Velikost podrobností sestavy TABULKA do tlačítka Odebrat rozložení. Kliknutím označíme popisek a odstraníme jej klávesou Delete. Ovládací prvek Oprávnění_v tažením za kraj posuneme doleva a rozšíříme. Obdobně odebereme z rozložení Celé_jméno. Posuneme dolů zbývající rozložení. Odstraníme popisek Celé jméno a textové pole posuneme doleva a rozšíříme. V kartě FORMÁT ve skupině PÍSMO klikneme do tlačítka Velikost písma a zvětšíme písmo v poli Celé_jméno na 14. Tlačítkem Tučné nebo kombinací kláves Ctrl B upravíme formát textu na tučný. Nadřízeného vypíšeme celým jménem s tituly, nikoliv pouze em: Nejdříve musíme upravit zdrojový dotaz v datové vlastnosti sestavy Zdroj záznamů: Zobrazíme dotaz kliknutím do tlačítka Tvůrce na konci řádku vlastnosti. V kartě NÁVRH ve skupině NASTAVENÍ DOTAZU klikneme do tlačítka Zobrazit tabulku. Zobrazí se dialogové okno Zobrazit tabulku, v němž dvojitě klikneme na tabulku Osoby. Dialogové okno zavřeme. Tažením pole Osoba z tabulky Osoby_1 na pole Nadřízený v tabulce Osoby propojíme tabulky Osoby a Osoby_1. Upravíme typ spojení na Zahrnout všechny z tabulky Osoby pro případ, že by některý zaměstnanec neměl vyplněného nadřízeného. Dvojitým kliknutím v tabulce Osoby_1 v podokně Diagram vybereme Titul1, Jméno, Příjmení, Titul2. V podokně Mřížka nazveme nová pole jednoznačně Titul1_nad: Titul1, Jméno_nad: Jméno, Příjmení_nad: Příjmení, Titul2_nad: Titul2. V podokně Mřížka ve sloupci Příjmení doplníme do řádku Řadit hodnotu vzestupně, aby byl seznam zaměstnanců vypisován v sestavě dle Příjmení, nikoliv dle Oddělení. V kartě NÁVRH ve skupině ZAVŘÍT klikneme do tlačítka Zavřít. Potvrdíme uložení dotazu. Zkopírujeme obsah datové vlastnosti pole Zdroj ovládacího prvku pole Celé_jméno do schránky. 139 Obsah schránky vložíme do datové vlastnosti Zdroj ovládacího prvku pole Nadřízený a vlastnost upravíme na výraz: =Trim([Titul1_nad] & " " & [Jméno_nad] & " " & [Příjmení_nad] & [Titul2_nad]) Upravíme jinou vlastnost Název upraveného výrazu na Nadřízený_celé_jméno. Zmenšíme velikost podrobností sestavy: Označíme kliknutím do voliče (kříže) v levém horním rohu skládané rozdělení. V kartě USPOŘÁDÁNÍ ve skupině POZICE klikneme do tlačítka Výplň ovládacího prvku. Z nabídky vybereme ŽÁDNÁ. Pole jsme tak přiblížili k sobě. Kombinací kláves Ctrl A označíme všechny ovládací prvky sestavy. Za držení klávesy Shift klikneme do ovládacího prvku Celé_jméno, vyjme jej tak z označené skupiny. V kartě NÁVRH ve skupině PÍSMO rozbalíme tlačítko Velikost písma a vybereme velikost 9. Pro označené prvky snížíme formátovou vlastnost Výška na 0,4 cm. Ovládací prvky v rozložení se přisunou k sobě. Ručně přisuneme Oprávnění. V zobrazení rozložení tažením za úchyt ve středu pravého kraje kteréhokoliv popisku v rozložení zúžíme popisky rozložení na minimum tak, aby byl text Charakteristika celý zobrazen (šířka 2,4 cm). Kombinací kláves Ctrl A označíme všechny ovládací prvky sestavy a přesuneme je tažením za Celé_jméno do levého horního rohu sestavy. Označíme libovolné textové pole rozložení a tažením za prostřední úchyt v pravém kraji zmenšíme šířku (na 3 cm), tak abychom mohli později zúžit sestavu na 8 cm. Pole Foto umístíme napravo od kratších položek: Přesuneme tažením pole Nadřízený pod pole Úvazek. Pole Nadřízený a Web_stránka odebereme z rozložení. Popisek Web_stránka odstraníme. Pole Web_stránka_2 přesuneme doleva. 139 Klikneme do další vlastnosti Formát textu. Kombinací kláves Shift Tab vybereme celý obsah vlastnosti Zdroj záznamů. Kombinací kláves Ctrl C zkopírujeme obsah vlastnosti do schránky.

130 6 Sestavy 130 Možnost zmenšení Náhled Textová pole Nadřízený_celé_jméno, Web_stránka_2 a Oprávnění_v rozšíříme tak, aby šířka sestavy byla 9 cm. Ze seznamu polí přetáhneme pole Foto napravo od pole Celé_jméno Oprávnění. Odstraníme popisek pole Foto. Tažením umístíme Foto tak, aby levý horní roh byl vedle pole Celé_jméno na vodorovné pozici asi 5,4 cm. Tažením za pravý dolní roh zvětšíme Foto tak, aby pravý dolní roh byl nad pole Nadřízený a svou šířkou dosahoval k vodorovné pozici 9 cm. Do formátové vlastnosti Styl okraje zadáme hodnotu Průhledná čára. Označíme ohraničená pole. Na vodorovném pravítku klikneme nad polem Osoba. Zrušíme ohraničení. Do formátové vlastnosti Styl okraje zadáme hodnotu Průhledná čára. Pod pole Oprávnění umístíme vodorovnou čáru: V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Čára. Čáru nakreslíme v šířce 9 cm pod polem Oprávnění a případně ji tažením posuneme těsně pod Oprávnění. Sestavu tažením za dolní a pravý kraj zmenšíme na minimum. Sestavu prohlédneme v zobrazení sestavy. Vidíme, že pro zaměstnance bez oprávnění fakturovat zbývá po Oprávnění volný řádek, což upravíme: Do formátové vlastnosti Možnost zmenšení pole Oprávnění_v zadáme hodnotu ano. 140 Do formátové vlastnosti podrobností Možnost zmenšení zadáme hodnotu ano. Každá druhá věta má šedé pozadí podrobností. Potlačíme alternativní pozadí: V sekci PODROBNOSTI ve formátové vlastnosti Alternativní barvy pozadí zadáme barvu Pozadí 1. Sestavu prohlédneme v náhledu. V kartě NÁVRH klikneme do spodní části tlačítka Zobrazení ve skupině ZOBRAZENÍ a vybereme NÁHLED nebo klikneme do tlačítka Náhled ve stavovém řádku. Pás karet nyní nahradil stávající karty aplikační kartou NÁHLED, která obsahuje několik skupin tlačítek 141 : Ve skupině VELIKOST STRÁNKY: Tlačítkem Velikost můžeme vybrat velikost papíru, na nějž budeme sestavu tisknout. Tlačítkem Okraje rozbalujeme nabídku tří variant okrajů stránky. Standardně je nabízen minimální (úzký) okraj s ohledem na nemožnost tisku na úplné kraje papíru, který činí na všech okrajích papíru 0,64 cm. Vlastní okraje můžeme nastavit ve skupině Rozložení stránky po kliknutí do tlačítka Vzhled stránky. Zaškrtávací pole Zobrazit kraje není v náhledu dostupné. 142 Po zaškrtnutí pole Tisknout jenom data se tisknou pouze vázané ovládací prvky, tj. netisknou se popisky a grafické prvky (např. čára) sestavy. Zaškrtnutí by bylo vhodné při tisku do předtištěných formulářů. Ve skupině ROZLOŽENÍ STRÁNKY: Tlačítky Na výšku a Na šířku můžeme vybrat orientaci tisku. 143 Tlačítkem Sloupce zobrazíme kartu Sloupce dialogového okna Vzhled stránky. Můžeme nastavit tisk do více sloupců (viz sestava v kap. 6.4). Sestavu se zaměstnanci bychom vzhledem k její malé šířce mohli tisknout ve dvou sloupích. Ponecháme ji však v jednom sloupci. Tlačítkem Vzhled stránky zobrazíme dialogové okno Vzhled stránky, v němž je možné detailně parametrizovat tisk. Mj. zde v kartě Stránka můžeme nastavit pro sestavu jinou než výchozí tiskárnu. I tento parametr tiskárny se ukládá se sestavou. Ve skupině LUPA: 140 Volný řádek se přesune v zobrazení sestavy za čáru mezi zaměstnanci, protože jsme nepovolili zmenšení podrobností sestavy. 141 Skupiny VELIKOST STRÁNKY a ROZLOŽENÍ STRÁNKY je dostupná také v zobrazení rozložení či návrhovém zobrazení na kartě VZHLED STRÁNKY. 142 V zobrazení rozložení můžeme potlačit zobrazování okraje tisku. 143 Parametry velikosti a orientace se ukládají se sestavou. Mohou být pro různé sestavy nastaveny různě.

131 6 Sestavy 131 Tisk na tiskárně Kliknutím do horní části tlačítka Lupa přiblížíme či vzdálíme náhled. Stejného výsledku dosáhneme kliknutím myší do okna náhledu. Kliknutím do dolní části tlačítka Lupa se zobrazí nabídka různých měřítek náhledu. Prvotně je náhled zobrazen v měřítku dle velikosti okna. Kliknutím do tlačítka Dvě stránky se zobrazí náhled dvou po sobě jdoucích stránek. Přechodem na další stránku v navigaci v dolní části náhledu potom přecházíme na další dvě stránky. Kliknutím do tlačítka Další stránky se zobrazí nabídka dalších násobků současně zobrazených stránek: čtyři, osm, dvanáct. Volbou počtu se vždy přizpůsobí měřítko. Kliknutím do tlačítka Jedna stránka se můžeme vrátit k zobrazení jediné stránky. Ve skupině DATA: Tlačítka Aktualizovat vše, Seznam SharePoint, Databáze ODBC nejsou v obecné skupině DATA pro sestavy aktivní. 144 Kliknutím do tlačítka Excel můžeme podkladový dotaz exportovat do Excelu. Kliknutím do tlačítka Textový soubor můžeme exportovat sestavu do textového souboru. Před exportem jsme vyzváni k upřesnění kódování textového souboru. Ponecháme výchozí kódování Windows. Uspořádání sestavy do tabulky zajišťují mezery. Kliknutím do tlačítka PDF nebo XPS exportujeme data do souboru PDF nebo XPS. Exportují se také obrázky a čáry. Kliknutím do tlačítka se provede export do připojeného souboru ové zprávy. Kliknutím do tlačítka Další zobrazíme nabídku dalších výstupních formátů exportu:» Word: Export sestavy do formátu rtf. V následujícím dialogovém okně upřesníme umístění a název souboru. Můžeme také zaškrtnout možnost otevření vytvořeného souboru po jeho exportu. Ve výsledném souboru nejsou uvedeny obrázky a grafika sestavy (čára). Uspořádání sestavy do tabulky zajišťují tabulátory.» Dokument HTML: Export sestavy do formátu webových prohlížečů HTML. Při exportu můžeme upřesnit šablonu HTML pro formátování výstupu. Sestava je rozdělena na více webových stránek, mezi nimiž se můžeme pohybovat odkazy (První, Předchozí, Další, Poslední) na konci webové stránky. Jedná se o statickou ( mrtvou ) kopii sestavy, která se nemění v souvislosti s aktualizací databáze. Neexportují se obrázky a čáry. Ve skupině TISK: Kliknutím do tlačítka Tisk zobrazíme dialogové okno Tisk (obr. 6-2). Stejné dialogové okno můžeme zobrazit přímo ze zobrazení sestavy kombinací kláves Ctrl P. OBR. 6-2: DIALOGOVÉ OKNO TISK K polím v dialogovém okně Tisk:» Před tiskem můžeme vybrat tiskárnu či změnit vlastnosti tisku (např. zadat úsporný režim tisku). 144 Tlačítka Seznam SharePoint, Databáze ODBC jsou aktivní pro náhled tabulky.

132 6 Sestavy 132 Uložení sestavy» Jestliže zaškrtneme pole Vytisknout do souboru, budeme po kliknutí do tlačítka OK dotázáni na název souboru (zadáme jej nejlépe s příponou prn). Sestava se nevytiskne na tiskárně, pouze se připraví soubor, který lze později vytisknout na tiskárně z počítače, kde nemusí být dostupný Access.» Zadáním čísel stránek můžeme omezit tisk. Při prvním tisku na tiskárně je vhodné nejdříve vytisknout jen první stránku na zkoušku a teprve potom zbývající stránky.» Volba Vybrané záznamy je dostupná jen při tisku tabulek či výsledků dotazů. Potom je možné voličem záznamů označit záznamy, které chceme vytisknout, a zadat do Rozsahu tisku hodnotu Vybrané záznamy.» Zadáme-li v poli Počet kopií číslo větší než 1, má smysl zaškrtnout pole Kompletovat. Je-li pole zaškrtnuto, budou vytištěny tříděné kopie (stránky v pořadí 1-2-3, 1-2-3). Pokud zaškrtnutí zrušíme, vytisknou se netříděné kopie (stránky v pořadí 1, 1, 2, 2, 3, 3).» Kliknutím do tlačítka Nastavit zobrazíme dialogové okno Vzhled stránky bez karty Stránka. Ve skupině ZAVŘÍT NÁHLED: Tlačítkem Zavřít náhled se vrátíme do zobrazení sestavy. Ve spodním řádku náhledu jsou tlačítka pro přechod mezi stránkami: První stránka, Předchozí stránka, Další stránka, Poslední stránka. Také můžeme číslo stránky přímo zadat. Na stejném řádku je informace, zda jsme v zobrazení sestavy neaplikovali filtr. Sestavu uložíme kombinací kláves Ctrl S pod názvem P62 Osoby Identifikace. Pokud bychom chtěli po dvojitém kliknutí v navigačním podokně zobrazit sestavu přímo v náhledu, mohli bychom upravit formátovou vlastnost sestavy Výchozí zobrazení na hodnotu Náhled tisku. Potom by také výchozím stavem tlačítka Zobrazení byl náhled. 6.3 Sestava dle upravené šablony V další sestavě chceme vytisknout seznam služebních cest. Cílový stav sestavy (před doplněním pole Osoba do zdroje dat) je v obr OBR. 6-3: SESTAVA P63 CESTY Výchozí nastavení prvku Chceme opět, aby seznam byl vypisován písmeny velikosti 9, což budeme chtít i v následující sestavě licencí. Využijeme proto nastavení ze sestavy o zaměstnancích: Otevřeme sestavu P62 Osoby Identifikace v návrhovém zobrazení. Klikneme do libovolného textového pole s popiskem s velikostí 9, např. do pole Osoba. V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Výchozí nastavení prvku, čímž způsobíme, že: Další textová pole přidávaná do sestavy (ze seznamu polí či ze skupiny ovládacích prvků) budou ve stejném formátu. Pokud bude sestava použita jako šablona, budou textová pole vkládaná do další sestavy založené na šabloně vycházet z výchozího formátování. Obdobně uložíme výchozí formátování libovolného popisku.

133 6 Sestavy 133 Šablona sestavy P63 Cesty Aktuální datum a čas Počet stránek a počet vět Uložíme sestavu a zavřeme její návrh. Povýšíme sestavu na šablonu: V kartě SOUBOR klikneme do tlačítka Možnosti. V dialogovém okně Možnosti aplikace Access v kartě Návrháři objektů v předposlední sekci NÁVRHOVÉ ZOBRAZENÍ FORMULÁŘE NEBO SESTAVY zadáme do pole Šablona sestavy hodnotu P62 Osoby Identifikace. Šablonu musíme vyplnit, nelze ji vybrat ze seznamu sestav. Vybraná sestava bude (pokud bude v databázi k dispozici 145 ) vzorem pro formátování nových sestav. Toto nastavení platí nejen pro otevřenou databázi, ale pro Access, tj. pro všechny databáze (do nichž bychom však museli importovat příslušnou vzorovou sestavu). Šablona obsahuje formátování typů polí (textová pole, popisky, pole se seznamem a další) i některé vlastnosti sestavy a jejich sekcí. Vytvoříme novou sestavu: V navigačním podokně klikneme ve skupině TABULKY do tabulky Cesty. V kartě VYTVOŘENÍ ve skupině SESTAVY klikneme do tlačítka Sestava. Vytvoří se sestava, jejímž zdrojem záznamů je tabulka Cesty (viz datová vlastnost sestavy Zdroj záznamů). Textová pole v sestavě mají velikost 9. Vytvořená sestava má několik sekcí: V Záhlaví sestavy je:» ikona sestavy a název sestavy Cesty 146,» v pravé části aktuální datum jako textové pole s výrazem =Date(),» aktuální čas jako textové pole s výrazem =Time(). Ovládací prvky v záhlaví sestavy jsou součástí společného rozložení. V Záhlaví stránky jsou popisky sloupců tabulkového rozložení (velikosti 9). Všimněme si čáry, která odděluje záhlaví stránky. Čára není samostatný ovládací prvek. Souvisí s tabulkovým rozložením ovládacích prvků a s nastavením formátových vlastností popisků:» Styl mřížky dole: plná čára» Šířka mřížky dole: 1 bod V Podrobnostech jsou pole tabulkového rozložení (velikosti 9). V Zápatí stránky je textové pole, které formou výrazu obsahuje číslo stránky a celkový počet stránek: ="Stránka " & [Page] & " z " & [Stránky] V Zápatí sestavy je rekapitulován počet vět, tj. počet cest (15) formou textového pole: =Count(*) Všimněme si čáry, která odděluje zápatí sestavy. Čára není samostatný ovládací prvek. Souvisí s tabulkovým rozložením ovládacích prvků ve sloupci Rok a s nastavením formátových vlastností:» Styl mřížky nahoře: plná čára» Šířka mřížky nahoře: 2 body Počet cest v záhlaví sestavy je součástí tabulkového rozložení, které tak obsahuje ovládací prvky ze tří sekcí: Záhlaví stránky, Podrobnosti, Zápatí sestavy. Sestava se stane podsestavou hlavní sestavy dat o zaměstnancích. Provedeme proto některé úpravy: V návrhovém zobrazení v záhlaví sestavy odebereme rozložení: označíme libovolný ovládací prvek, klikneme do křížového voliče rozložení a v kartě USPOŘÁDÁNÍ ve skupině TABULKA klikneme do tlačítka Odebrat rozložení, odstraníme logo sestavy, aktuální datum, aktuální čas. Název Cesty zmenšíme na velikost 9, formátujeme je kurzívou, zmenšíme jeho ovládací prvek a přesuneme do levého horního rohu Záhlaví sestavy. 145 Není-li sestava šablony k dispozici, je aplikována vestavěná šablona Accessu s názvem Normální, k níž se také můžeme vrátit, když již nechceme využívat svou šablonu. Šablona se aplikuje pouze pro nově vytvářené sestavy. Obdobně můžeme použít šablonu pro formuláře. 146 Název lze snadno vložit do sestavy, když v kartě NÁVRH ve skupině ZÁHLAVÍ NEBO ZÁPATÍ klikneme do tlačítka Název.

134 6 Sestavy 134 V záhlaví sestavy změníme pozadí, tj. nastavíme formátovou vlastnost Barva pozadí na hodnotu Pozadí 1 (automatická barva). V zápatí stránky odstraníme číslování stránek, které nebude v rámci hlavní sestavy nutné. Zápatí stránky minimalizujeme. Záhlaví stránky by se v podsestavě nevypisovalo, proto popisky umístíme do záhlaví sestavy: Popisky nelze přesunout, pokud jsou součástí rozložení. Označíme rozložení a odebereme jej. V kartě USPOŘÁDÁNÍ ve skupině TABULKA klikneme do tlačítka Odebrat rozložení. Všimněme si, že již není zobrazena čára pod popisky a nad počtem vět. Kliknutím do svislého pravítka označíme popisky Rok, Cesta, Zahájení, Dokončení, Místo a přesuneme je do záhlaví sestavy pod název Cesty. Potlačíme zobrazení záhlaví a zápatí stránky. V místní nabídce sekce ZÁHLAVÍ STRÁNKY vybereme volbu Záhlaví a zápatí stránky. Tažením ve svislém pravítku označíme popisky a textová pole tabulky a opět je uspořádáme do tabulkového rozložení. V kartě USPOŘÁDÁNÍ ve skupině TABULKA klikneme do tlačítka Tabulkové. V zobrazení rozložení zmenšíme šířku sloupců na minimum (Rok: 0,9 cm, Cesta: 0,9 cm, Zahájení: 1,6 cm, Dokončení: 1,6 cm, Místo: 3 cm). Pole Rok, Cesta, Zahájení, Dokončení i jejich popisky zarovnáme zprava. Označíme kliknutím do svislého pravítka všechna pole podrobností a upravíme pro ně: formátovou vlastnost Styl okraje na hodnotu plná čára, v kartě USPOŘÁDÁNÍ ve skupině POZICE klikneme do tlačítka Výplň ovládacího prvku a vybereme volbu ŽÁDNÁ. Tažením za křížový volič rozložení posuneme ovládací prvky záhlaví sestavy a podrobností doleva. Tažením přesuneme všechna pole podrobností v rámci podrobností nahoru. Minimalizujeme výšku záhlaví sestavy a podrobností. V zápatí sestavy upravíme pro jediný ovládací prvek výraz uvedený v datové vlastnosti Zdroj ovládacího prvku na tvar: ="Počet cest: " & Count(*) Ovládací prvek v zápatí sestavy rozšíříme (na 2 cm) a přisuneme nahoru. Minimalizujeme zápatí sestavy. Minimalizujeme šířku sestavy. Je nyní široká asi 8 cm. Sestava se stane podsestavou hlavní sestavy s daty o zaměstnanci. Musíme proto připravit propojující pole Osoba do zdroje dat tak, abychom mohli v podsestavě tisknout pouze cesty zaměstnance z hlavní sestavy: Zobrazíme seznam polí a z tabulky Výjezdy přesuneme do podrobností pole Osoba jako další sloupec tabulkového rozložení. Pole Osoba odstraníme. Minimalizujeme šířku sestavy. Modifikovali jsme tak datovou vlastnost sestavy Zdroj záznamů, která již obsahuje propojení s tabulkou Výjezdy. Sestava nyní zobrazuje 30 vět (30 výjezdů zaměstnanců). Sestavu uložíme pod názvem P63 Cesty. P64 Licence 6.4 Sestava o více sloupcích V další sestavě chceme vytisknout seznam licencí prodaných programů. Cílový stav sestavy (pouze pro Miloše Adamce) je v obr V náhledu se někdy mezi řádky zobrazují zdvojené vodorovné čáry. Při tisku na papír by se nevytisknuly.

135 6 Sestavy 135 OBR. 6-4: SESTAVA P64 LICENCE (POUZE LICENCE MILOŠE ADAMCE) Vytvoříme novou sestavu: V navigačním podokně klikneme ve skupině TABULKY do tabulky Licence. V kartě VYTVOŘENÍ ve skupině SESTAVY klikneme do tlačítka Sestava. Vytvoří se sestava, jejímž zdrojem záznamů je tabulka Licence (viz datová vlastnost sestavy Zdroj záznamů). Textová pole a popisky v sestavě mají velikost 9, nadále využíváme společnou šablonu dle sestavy P62 Osoby Identifikace. Změníme pořadí sloupců a doplníme do sestavy nové sloupce: Přesuneme sloupec Faktura tažením textového pole i popisku na začátek. Za sloupec Faktura doplníme pole Datum z tabulky Faktury. Za sloupec Datum doplníme pole Název_podniku z tabulky Podniky. Za sloupec Sériové_číslo doplníme pole Cena z tabulky Programy. Za sloupec Cena doplníme sloupec Osoba z tabulky Faktury a hned jej ze sestavy odstraníme. Pole Osoba se tak stalo součástí zdrojového dotazu. Upravíme názvy sloupců: 148 Změníme název sloupce Faktura na Fa. Zúžíme sloupec (0,8 cm). Sloupec Datum zarovnáme zprava a zúžíme (1,7 cm). Změníme název sloupce Název_podniku na Odběratel. Sloupec zúžíme (1,5 cm). Změníme název sloupce Program na Prg. Sloupec zúžíme (0,7 cm). Změníme název sloupce Sériové_číslo na Čís. Textové pole i popisek zarovnáme zprava. Zúžíme sloupec (0,7 cm). Textové pole i popisek Cena zarovnáme zprava a zúžíme (0,9 cm). Upravíme sestavu tak, aby byla co nejmenší: Ze záhlaví sestavy odebereme rozložení a odstraníme logo, aktuální datum a aktuální čas. Písmo v názvu sestavy zmenšíme na 9. Vypíšeme jej kurzívou. Zmenšíme velikost pole. V kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOSTI A POŘADÍ klikneme do tlačítka Velikost a mezery. V sekci VELIKOST vybereme volbu Přizpůsobit obsahu. Pole přesuneme do levého horního rohu záhlaví sestavy. Změníme barvu pozadí záhlaví sestavy. Ve formátové vlastnosti Barva pozadí zadáme automatickou barvu Pozadí 1. Minimalizujeme záhlaví sestavy. 148 Nastavení šířky sloupců a zrušení výplně ovládacích prvků budeme muset po odebrání a přidání tabulkového uspořádání provést znovu.

136 6 Sestavy 136 Výplň ovládacího prvku Řazení Ze zápatí stránky odstraníme číslování stránky a minimalizujeme zápatí stránky. Označíme všechna textová pole podrobností a změníme výplň jejich ovládacího prvku na žádnou. V kartě USPOŘÁDÁNÍ ve skupině POZICE klikneme do tlačítka Výplň ovládacího prvku a vybereme volbu Žádná. Pro textová pole podrobností změníme formátovou vlastnost Styl okraje na hodnotu Plná čára. Přesuneme popisky ze záhlaví stránky do záhlaví sestavy: Odebereme rozložení popisků a textových polí záhlaví stránky, podrobností a záhlaví sestavy. Popisky přesuneme ze záhlaví stránky do záhlaví sestavy pod název Licence. Označíme popisky a textová pole sloupců tabulky a uspořádáme je do tabulkového rozložení. Pokud se rozmístí popisek a odpovídající textového pole do různých sloupců, přesuneme textové pole do sloupce popisku. Odstraníme neobsazené sloupce označením buňky tabulky v záhlaví sestavy i buňky v podrobnostech a stisknutím klávesy Delete. Zadáme žádnou výplň ovládacích prvků textových polí. Textová pole podrobností posuneme v podrobnostech nahoru. Minimalizujeme výšku podrobností. Potlačíme zobrazování záhlaví a zápatí stránky. Zmenšíme šířku sloupců (Faktura: 0,8 cm, Datum: 1,7 cm, Odběratel: 1,5 cm, Prg: 0,7 cm, Čís.: 0,7 cm, Cena: 0,9 cm). Minimalizujeme šířku sestavy (asi 6,4 cm). Upravíme datovou vlastnost pole Zdroj ovládacího prvku jediného pole Zápatí sestavy na výraz: ="Počet licencí: " & Count(*) Textové pole rozšíříme (2,3 cm) a umístíme do levého horního rohu Zápatí sestavy. Sekci Zápatí sestavy minimalizujeme. Sestavu uložíme pod názvem P64 Licence. V sestavě chceme vypisovat licence ve vhodném pořadí: V datové vlastnosti sestavy Zdroj záznamů nahradíme pole Licence.* třemi poli Faktura, Program, Sériové_číslo, k nimž doplníme řazení vzestupně. Řazení ve zdrojovém dotazu se nepromítlo do sestavy. V sestavě musíme řazení definovat v návrhu sestavy. V kartě NÁVRH ve skupině SKUPINY A SOUHRNY klikneme do tlačítka Seskupit a seřadit. V podokně Skupina, řazení a souhrn klikneme do tlačítka Přidat řazení. Ze seznamu polí vybereme pole Faktura. Klikneme do tlačítka Přidat řazení a vybereme pole Program. Klikneme do tlačítka Přidat řazení a vybereme pole Sériové_číslo. V podokně Skupina, řazení a souhrn je hierarchie řazení naznačena graficky (viz obr. 6-5). OBR. 6-5: PODOKNO SKUPINA, ŘAZENÍ A SOUHRN Tisk vět ve sloupcích Věty jsou v sestavě řazeny již dle našeho požadavku. Minimalizujeme šířku sestavy. Sestava je poměrně úzká (asi 6,5 cm) a dlouhá. Budeme ji proto vypisovat ve dvou sloupcích: V kartě VZHLED STRÁNKY v skupině ROZLOŽENÍ STRÁNKY klikneme do tlačítka Sloupce. Zobrazí se karta Sloupce dialogového okna Vzhled stránky (viz obr. 6-6).

137 6 Sestavy 137 OBR. 6-6: DIALOGOVÉ OKNO VZHLED STRÁNKY Parametry rozdělení sestavy do sloupců: Počet sloupců: Sloupců může být i více než dva. Sloupce se však musejí na stránku vejít, tj. je třeba dodržet podmínku: šířka sestavy * počet sloupců + vzdálenost sloupců levý okraj + pravý okraj <= šířka papíru, tj. v našem případě 6,5 * ,6 + 0,6 = 16,2 <= 21 cm Vzdálenost řádků: Můžeme definovat rozestupy mezi řádky. (Jiným způsobem dosažení rozestupů je úprava podrobností sestavy.) Vzdálenost sloupců: Je vhodné sloupce od sebe oddělit mezerou, aby sestava byla přehledná. Zadáme 2 cm. Velikost sloupce: Je-li zatrženo pole Stejná jako pro podrobnosti, akceptuje se šířka a výška věty z podrobností návrhu sestavy, jinak můžeme šířku a výšku omezit zde. Vzhled sloupce: Při rozmístění Příčně, pak dolů se vypisují věty po řádcích 150, při rozmístění Dolů, pak příčně se vypisují věty po sloupcích. V případě vypisování po sloupcích dochází k vypisování do druhého sloupce až po dosažení konce stránky. Proto náš případ několika prodejů pro každého zaměstnance není pro rozmístění Dolů, pak příčně vhodný. Uspořádání sestavy do sloupců se projevuje pouze v náhledu sestavy. Popisky jsou bohužel vytištěny jen v prvním sloupci 151. Sestavu uložíme pod stejným názvem kombinací kláves Ctrl S. P65 Hlavní sestava 6.5 Hlavní sestava a podsestavy Vytvoříme hlavní sestavu, která bude pro jednotlivé zaměstnance zobrazovat: osobní data (k jedné větě hlavní sestavy jedna věta podsestavy P62 Osoby Identifikace), služební cesty zaměstnance (žádná, jedna či více vět v podsestavě P63 Cesty ke každému zaměstnanci v hlavní sestavě), licence fakturované zaměstnancem (žádná, jedna či více vět v podsestavě P64 Licence ke každému zaměstnanci v hlavní sestavě). Cílový stav sestavy (před doplněním pole Osoba s řazením do zdroje dat) je v obr V sestavě jsou zobrazeny věty Petra Nováka a Aleny Pospíšilové tak, aby demonstrovaly různé varianty dat jednotlivých zaměstnanců. 149 Při více než dvou sloupcích musíme počítat s hodnotou vzdálenost sloupců * (počet sloupců 1) 150 Řádek obsahuje podrobnosti věty, může to být více než jeden řádek. 151 Můžeme rozšířit sestavu a v záhlaví sestavy uvést popisky znovu. Rozšíříme tím i podrobnosti sestavy, protože šířka sestavy je společná pro všechny sekce. V kartě VZHLED STRÁNKY klikneme ve skupině ROZLOŽENÍ STRÁNKY do tlačítka Vzhled stránky. V dialogovém okně Vzhled stránky v kartě Sloupce zrušíme zaškrtnutí pole Stejná jako pro podrobnosti.

138 6 Sestavy 138 OBR. 6-7: SESTAVA P65 HLAVNÍ SESTAVA PRO PETRA NOVÁKA A ALENU POSPÍŠILOVOU Podsestava Vytvoříme novou sestavu: V navigačním podokně klikneme ve skupině TABULKY do tabulky Osoby. V kartě VYTVOŘENÍ ve skupině SESTAVY klikneme do tlačítka Sestava. Vytvoří se sestava, jejímž zdrojem záznamů je tabulka Osoby. Kliknutím do křížového voliče označíme tabulkové rozložení a klávesou Delete odstraníme všechny jeho ovládací prvky. Zdroj Osoby zůstane připojen (viz datová vlastnost sestavy Zdroj záznamů). Prázdné Záhlaví stránky a Zápatí sestavy je minimalizováno. Upravíme barvu pozadí záhlaví sestavy. Do formátové vlastnosti záhlaví sestavy Barva pozadí zadáme automatickou barvu Pozadí 1. V záhlaví sestavy odebereme rozložení a odstraníme logo sestavy a aktuální čas. Název sestavy přesuneme do levého horního rohu Záhlaví sestavy, upravíme jeho šířku na 19 cm a zarovnáme na střed. Text upravíme na znění: Informace o zaměstnancích firmy Encián Aktuální datum přesuneme pod název sestavy úplně vlevo, upravíme jeho šířku na 19 cm a zarovnáme na střed. Výraz v textovém poli upravíme na hodnotu: ="Stav ke dni: " & Date() Textové pole v Zápatí stránky přesuneme do levého horního rohu Zápatí stránky, upravíme jeho šířku na 19 cm. Ponecháme jeho hodnotu: ="Stránka " & [Page] & " z " & [Stránky] Šířku stránky zúžíme na 19 cm. Do hlavní sestavy umístíme první podsestavu: Sestavu P62 Osoby Identifikace táhneme z navigačního podokna na pozici podrobností asi 0,5;0 umístíme. Mírný odstup od horního kraje podrobností byl nutný, abychom snadno mohli označit popisek, který odstraníme. Ovládací prvek podsestavy umístíme do levého horního rohu podrobností hlavní sestavy. Šířku podsestavy ponecháme 9 cm tak, aby se zobrazil celý její obsah. Formátovou vlastnost podsestavy Možnost zmenšení upravíme na hodnotu ano. Zamezíme tak vypisování volného řádku pro zaměstnance bez oprávnění fakturovat.

139 6 Sestavy 139 Výchozí zobrazení P66 Telefonní seznam Aby podsesestava nebyla ohraničena, upravíme její formátovou vlastnost Styl okraje na hodnotu Průhledná čára. Abychom nemuseli u dalších podsestav odstraňovat popisek a ohraničení, povýšíme formát první podsestavy na výchozí: Označíme podsestavu kliknutím. V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Výchozí nastavení prvku. Do hlavní sestavy umístíme další dvě podsestavy: Tažením z navigačního podokna umístíme 1 cm napravo od první podsestavy pod horní kraj podrobností sestavu P63 Cesty. Tažením z navigačního podokna umístíme pod první podsestavu sestavu P64 Licence. Rozšíříme ji na 16 cm tak, aby v hlavní sestavě byly vytištěny oba sloupce podsestavy. Pro obě podsestavy zadáme do formátové vlastnosti Možnost zmenšení hodnotu ano, aby po podsestavách nezbylo volné místo, pokud by byly prázdné (např. v případě, že zaměstnanec nefakturoval žádné licence). Přemístíme čáru oddělující zaměstnance z podsestavy do hlavní sestavy: Kliknutím označíme první podsestavu. Dalším kliknutím označíme její libovolný ovládací prvek. Tažením za dolní okraj podrobností podsestavy podrobnosti dočasně zvýšíme. Kliknutím označíme čáru pod Oprávněním. Kombinací kláves Ctrl X ji vyjmeme do schránky. Minimalizujeme opět podrobnosti podsestavy. Zvýšíme tažením za dolní kraj podrobností hlavní sestavy. Kombinací kláves Ctrl V vložíme ze schránky čáru. Tažením ji přemístíme z horního kraje podrobností hlavní sestavy pod třetí podsestavu a rozšíříme ji na šířku hlavní sestavy, tj. 19 cm. Pokud je to nutné, omezíme opět šířku hlavní sestavy na 19 cm. Access propojil všechny tři podsestavy s daty v hlavní sestavě, tj. naplnil hodnotou Osoba jejich datové vlastnosti Řídící propojovací pole a Podřízená propojovací pole. Díky tomu se v podsestavách zobrazí pouze věty (zaměstnanec, cesty, licence) se shodným polem Osoba v hlavní sestavě. Sestavu musíme prohlédnout v náhledu, jedině v tomto zobrazení je korektně zobrazena (zobrazí se dva sloupce). Hlavní sestavu uložíme pod názvem P65 Hlavní sestava. Na konci stránek náhledu mohou vznikat velké mezery, neboť Access udržuje jednotlivé věty hlavní sestavy na samostatných stránkách. Upravíme formátovou vlastnost podrobností hlavní sestavy Udržovat pohromadě na hodnotu ne. Nyní již jednotlivé podsestavy stejného zaměstnance mohou být na různých stránkách. (Např. pro Evu Benešovou je vypsán začátek první vědy již na první stránce.) Jednotlivé věty podsestavy jsou umístěny na stejné stránce, což by bylo možné uvolnit ve formátové vlastnosti podrobností podsestavy Udržovat pohromadě. Aby uživatel zobrazil prvotně sestavu v náhledu, upravíme formátovou vlastnost hlavní sestavy Výchozí zobrazení na hodnotu Náhled tisku. Hlavní sestavu uložíme pod názvem P65 Hlavní sestava. Potvrdíme uložení podsestav, v nichž jsme v rámci hlavní sestavy provedli změny. 6.6 Sestava bez duplikátů V další sestavě vytiskneme aktuální místní telefonní seznam firmy uspořádaný dle oddělení a v rámci oddělení dle příjmení a jména (viz obr. 6-8, v němž jsou oddělení analýza a distribuce).

140 6 Sestavy 140 OBR. 6-8: SESTAVA P66 TELEFONNÍ SEZNAM ODDĚLENÍ ANALÝZA A DISTRIBUCE Průvodce sestavou Blokové rozložení sestavy Vytvoříme novou sestavu: Nechceme již navazovat na šablonu první sestavy: V kartě SOUBOR klikneme do tlačítka Možnosti. V kartě Návrháři objektů ve skupině NÁVRHOVÉ ZOBRAZENÍ FORMULÁŘE NEBO SESTAVY zadáme do pole Šablona sestavy text Normální. Zavřeme databázi a znovu ji otevřeme. Do sestavy chceme zahrnout jen vybraná pole tabulky Osoby, proto využijeme Průvodce sestavou. V navigačním podokně klikneme ve skupině TABULKY do tabulky Osoby. V kartě VYTVOŘENÍ ve skupině SESTAVY klikneme do tlačítka Průvodce sestavou. V prvním okně vybereme z tabulky Osoby pole Jméno, Příjmení, Osoba, Místnost a Telefon. Z tabulky Oddělení (výběrem v poli Tabulky či dotazy, v seznamu jsou dle abecedy nejprve tabulky, potom dotazy) vybereme pole Oddělení_v. V druhém okně zadáme, že chceme data prohlížet dle polí z tabulky Oddělení. V pravé části se naznačí příprava seskupení dle pole Oddělení_v. V třetím okně nepřidáme další úrovně seskupení. Ve čtvrtém okně zadáme řazení vět dle Příjmení a dle Jména. V pátém okně vybereme rozložení sestavy Blok (viz obr. 6-9) a ponecháme orientaci na výšku. OBR. 6-9: ROZLOŽENÍ SESTAVY V šestém okně nazveme sestavu Telefonní seznam a zadáme zobrazení náhledu sestavy. Po prohlédnutí výchozího náhledu přejdeme do zobrazení rozložení a upravíme sestavu: Označíme všechny ovládací prvky sekcí Záhlaví sestavy a Podrobnosti. Uspořádáme prvky do tabulkového rozložení. V kartě USPOŘÁDÁNÍ ve skupině TABULKA klikneme do tlačítka Tabulkové.

141 6 Sestavy 141 Skrytí duplikátů Vložení obrázku Změníme postupně typy polí pro Jméno a Místnost na textové pole. V zobrazení rozložení upravíme šířky sloupců (Oddělení_v: 2,4 cm, Příjmení: 2 cm, Jméno: 1,6 cm, Osoba: 2,9 cm, Místnost: 1,6 cm, Telefon: 1,4 cm). Zarovnáme pole Místnost a Telefon na střed. Upravíme popisek Oddělení_v na Oddělení. Pro pole Jméno a Místnost upravíme formátovou vlastnost Styl okraje na hodnotu Průhledná čára. Oddělení budeme vypisovat tučně. Klikneme do libovolného oddělení a stiskneme kombinaci kláves Ctrl B. Potlačíme šedé alternativní zobrazení podrobností. Ve formátové vlastnosti podrobností Alternativní barva pozadí zadáme hodnotu Bez barvy, popř. Pozadí 1 Průvodce sestavou provedl důležitá nastavení sestavy: Pro textové pole Oddělení_v je nastavena formátová vlastnost Skrýt duplikáty na hodnotu ano. Proto se vypisuje Oddělení_v jen na prvním řádku seskupení stejného oddělení. V kartě FORMÁT ve skupině SKUPINY A SOUHRNY klikneme do tlačítka Seskupit a seřadit. Zobrazí se dialogové okno Skupina, řazení a souhrn. Vidíme v něm, že sestava je: seskupena dle Oddělení, seřazena dle Příjmení a Jména. Do sestavy vložíme obrázek: Klikneme do tlačítka Logo ve skupině OVLÁDACÍ PRVKY v kartě FORMÁT. Dohledáme umístění souboru obrázku. 152 Obrázek se umístí do levého horního rohu Záhlaví sestavy. Obrázek umístíme úplně vlevo nahoru. Ve formátových vlastnostech obrázku: Zvětšíme šířku obrázku na 1,5 cm, výšku obrázku na 1,5 cm. Všimneme si, že ve vlastnosti Režim velikosti je hodnota zachovat proporce. Obrázek tedy nevyplní celou plochu ovládacího prvku, dbá na poměr výšky a šířky. Ve vlastnosti Barva pozadí je barva Pozadí 1 pro okraje, které vznikají zachováním proporcí. Ve vlastnosti Styl okraje je hodnota Průhledná čára. Posuneme název sestavy napravo od obrázku. Upravíme barvu pozadí záhlaví sestavy. Do formátové vlastnosti Barva pozadí zadáme automatickou baru Pozadí 1. V sestavě upravíme ještě vygenerované ovládací prvky: Aktuální datum přesuneme do Záhlaví sestavy nahoru tak, aby končilo stejně jako poslední pole Telefon (asi 12,6 cm na vodorovném pravítku). Upravíme jeho datovou vlastnost Zdroj ovládacího prvku na hodnotu: ="Stav ke dni: " & Now() Funkce Now() vypisuje na rozdíl od funkce Date() aktuální datum či čas. Pole zúžíme a zarovnáme zprava. Číslo stránky posuneme nahoru v Zápatí stránky, rozšíříme na délku 14,2 cm a zarovnáme na střed. Minimalizujeme výšku Zápatí stránky. Upravíme vzhled stránky: Minimalizujeme šířku sestavy na 12,6 cm. V kartě VZHLED STRÁNKY ve skupině ROZLOŽENÍ STRÁNKY klikneme do tlačítka Vzhled stránky Zobrazí se dialogové okno Vzhled stránky. V kartě Možnosti tisku upravíme pole Levý a Pravý na 34 mm. (Šířka stránky A4 je 21 cm, při šířce sestavy 12,6 cm zbývá na okraje 21 12,6 = 8,4 cm, chceme sestavu tisknout doprostřed stránky, tj. na levý i pravý okraj zbývá 8,4/2 = 4,2 cm.) Sestavu přejmenujeme na P66 Telefonní seznam. 152 Ukázkový obrázek je uložen v souboru Telefon.gif. Je převzat z galerie klipartů a je zmenšen.

142 6 Sestavy Sestava nad více dotazy V další sestavě chceme k zaměstnancům dopsat, zda se účastnili na přípravě faktur. Část výsledné sestavy je v obr OBR. 6-10: SESTAVA P67 FAKTURACE P67 Tržby Průvodce dotazem P67 Fakturace Seskupení dle prvního znaku Odsazované rozložení sestavy Sestava bude vycházet z tabulek Osoby, Oddělení a z účelově připraveného dotazu, v němž zjistíme za kolik Kč (celkem za sledované období) fakturovali jednotliví zaměstnanci. V sestavě budeme v případě, že tržby z faktur za jednotlivého zaměstnance byli nulové, vypisovat symbol smutku (zamračené tváře). Nejdříve připravíme účelový dotaz, využijeme k tomu průvodce dotazem: V navigačním podokně klikneme ve skupině TABULKY do tabulky Osoby. V kartě VYTVOŘENÍ ve skupině DOTAZY klikneme do tlačítka Průvodce dotazem. V prvním okně průvodce vybereme Průvodce jednoduchým dotazem. Ve druhém okně vybereme z tabulky Osoby pole Osoba a z tabulky Programy pole Cena. V třetím okně vybereme druh dotazu Souhrnný. Klikneme do tlačítka Možnosti souhrnu a pro pole Cena zaškrtneme Součet. Ve čtvrtém okně zadáme název dotazu P67 Tržby a vybereme možnost Změnit návrh dotazu. Díky relacím se doplnily do dotazu tabulky Faktury a Licence. Titulek druhého pole dotazu změníme z textu Sum of Cena na Tržby. Výsledkem dotazu je pouze 9 vět za zaměstnance, kteří dosáhli nějaké tržby. Návrh dotazu zavřeme s uložením změn. Vytvoříme novou sestavu: V navigačním podokně klikneme ve skupině TABULKY do tabulky Osoby. V kartě VYTVOŘENÍ ve skupině SESTAVY klikneme do tlačítka Průvodce sestavou. V prvním okně vybereme z tabulky Osoby pole Příjmení, Jméno, z tabulky Oddělení pole Oddělení_v, z tabulky Osoby pole Úvazek, Oprávnění (opakovaně čerpáme z tabulky Osoby, abychom připravili pořadí polí v sestavě), z dotazu P67 Tržby pole Tržby. V druhém okně přidáme seskupení podle pole Příjmení. Klikneme do tlačítka Možnosti seskupení a v dialogovém okně Způsob seskupení upravíme pole Způsob seskupení na hodnotu prvního písmene. V třetím okně zadáme řazení vět dle Jména. V čtvrtém okně vybereme rozložení sestavy Odsazované a ponecháme orientaci na výšku. V pátém okně nazveme sestavu P67 Fakturace a zadáme zobrazení náhledu sestavy.

143 6 Sestavy 143 Název písma V návrhu sestavy provedeme změny: Do formátové vlastnosti záhlaví sestavy Barva pozadí zadáme hodnotu Pozadí 1. Uspořádáme popisky ze sekcí Záhlaví stránky, Záhlaví Příjmení a Podrobnosti do tabulkového rozložení. Rozložení posuneme doleva Popisek Příjmení podle prvního písmena nahradíme pomlčkou. Popisek Oddělení_v upravíme na Oddělení. Změny typ na textové pole a potlačíme ohraničení pro pole Jméno a Úvazek. Vhodně upravíme šířku sloupců (První písmeno: 0,5 cm, Jméno: 1,2 cm, Příjmení: 1,8 cm, Oddělení: 2 cm, Úvazek: 1,2 cm, Oprávnění: 1,6 cm, Tržby: 1,3 cm). Ovládací prvek Úvazek zarovnáme na střed. V sestavě jsou vypisováni pouze zaměstnanci, kteří fakturovali. Upravíme proto datovou vlastnost sestavy Zdroj záznamů. Upravíme spojení datových sad P67 Tržby a Osoby na typ Zahrnout všechny záznamy z tabulky Osoby. Nyní se vypisuje již všech 20 zaměstnanců. Místo hodnoty tržeb vypíšeme symbol smutku (zamračené tváře) pro zaměstnance, kteří nefakturovali žádné prodeje: Upravíme v sekcích Záhlaví Příjmení a Podrobnosti vlastnost Alternativní barva pozadí na hodnotu Pozadí 1. Upravíme vlastnosti pole v posledním sloupci: do jiné vlastnosti Název zapíšeme hodnotu Tržby_o. do datové vlastnosti Zdroj ovládacího prvku zapíšeme hodnotu: =Trim(IIf(Tržby Is Null;"L")) Pro zaměstnance s prázdným polem Tržby se vypíše písmeno L. Změníme typ písma pro ovládací prvek Tržby_o, tj. upravíme formátovou vlastnost Název písma na hodnotu Wingdings. (L písmem Wingdings je symbol zamračené tváře.) Popisek i textové pole zarovnáme na střed. Pole Oprávnění je typu Zaškrtávací políčko. Nelze jej zarovnat na střed, museli bychom upravit jeho pozici, což v rámci tabulkového rozložení není možné. Odstraníme proto popisek i textové pole Oprávnění. Vložíme na jeho místo formálně pole Příjmení a upravíme: popisek na Oprávnění, datovou vlastnost textového pole na výraz: =IIf([Oprávnění];"ţ"). Znak ţ zapíšeme z klávesnice držením klávesy Alt a stisknutím kláves 0254 na numerické klávesnici. Kódy znaků můžeme najít např. při vkládání symbolů do Wordu. V kartě VLOŽENÍ ve skupině SYMBOLY klikneme do tlačítka Symbol a vybereme volbu Další symboly. Můžeme vyhledat vhodný symbol a pod tabulkou symbolů k němu Kód znaku (viz obr. 6-11). OBR. 6-11: VYHLEDÁNÍ KÓDU ZNAKU VE WORDU

144 6 Sestavy 144 formátovou vlastnost Název písma na hodnotu Wingdings, zarovnáme popisek i textové pole na střed. Zúžíme sloupec (na 1,7 cm). Provedeme finální úpravy sestavy: Upravíme název sestavy v záhlaví sestavy na Fakturace. V zápatí stránky odstraníme aktuální datum, číslo stránky umístíme do levého horního rohu zápatí stránky, roztáhneme na šířku 10,4 cm a zarovnáme na střed. Sestavu zúžíme na 10,4 cm. Upravíme levý kraj stránky na 53 mm (21 10,4 = 10,6 cm, polovina je 5,3 cm). Sestavu uložíme pod názvem P67 Fakturace. 6.8 Sestava s podíly V následující sestavě vypočteme tržby za licence odběratelům dle jejich základní činnosti (kód NACE1) v seskupení dle sekcí NACE. V sestavě také vypíšeme podíl odběratelů jednotlivých činností na tržbách za sekci (na součtu za sekci) a podíl na celkových tržbách za všechny sekce (na součtu za všechny). Části výsledné sestavy jsou v obr začátek stránky 1 OBR. 6-12: SESTAVA P68 PODÍLY konec stránky 2 konec sestavy

145 6 Sestavy 145 P68 Tržby Nejprve přichystáme zdrojový dotaz, v němž spočteme tržby od odběratelů dle jednotlivých kódů NACE (přesněji základní činnosti NACE1): V navigačním podokně klikneme ve skupině TABULKY do tabulky NACE. V kartě VYTVOŘENÍ ve skupině DOTAZY klikneme do tlačítka Průvodce dotazem. V prvním okně průvodce vybereme Průvodce jednoduchým dotazem. Ve druhém okně vybereme z tabulky Sekce pole Sekce a Sekce_v, z tabulky NACE pole NACE a NACE_v a z tabulky Programy pole Cena. Zobrazí se upozornění, že některé vybrané tabulky nejsou propojeny relacemi. Příčinou je propojení tabulek Sekce a NACE prostřednictvím dotazu. Klikneme do tlačítka Zrušit. Opět ve druhém okně odebereme pole Sekce a Sekce_v. Ve třetím okně vybereme pole Souhrnný dotaz a klikneme do tlačítka Možnosti souhrnu. Pro pole Cena zaškrtneme Součet. Ve čtvrtém okně zadáme název dotazu P68 Tržby a vybereme možnost Změnit návrh dotazu. Ve vytvořeném dotazu jsou dle relací propojeny tabulky NACE, Podniky, Faktury, Licence, Programy (viz obr. 6-13, kde je již dotaz upraven). OBR. 6-13: DOTAZ P68 TRŽBY P68 Podíly V kartě NÁVRH ve skupině NASTAVENÍ DOTAZU klikneme do tlačítka Zobrazit tabulku. Přidáme dotaz NACE_Oddíly a tabulky Oddíly_Sekce a Sekce. Odstraníme propojení tabulek NACE a NACE_Oddíly. Do podokna Mřížka doplníme na začátek pole s výrazem Sekce_s: [Sekce].[Sekce] & " " & [Sekce_v] 153 Pole NACE opatříme titulkem NACE_k: NACE. Pole Sum of Cena opatříme titulkem: Tržby: Cena. Výsledkem dotazu je 50 vět. 69 odběratelů firmy Encián má 50 různých kódů NACE základní činnosti NACE1. Dotaz uložíme pod názvem P68 Tržby. Vytvoříme novou sestavu: V navigačním podokně klikneme ve skupině DOTAZY do dotazu P68 Tržby. V kartě VYTVOŘENÍ ve skupině SESTAVY klikneme do tlačítka Průvodce sestavou. 153 Upřesnění tabulky Sekce pro pole Sekce je nutné, neboť pole Sekce se vyskytuje také v tabulce Oddíly_Sekce.

146 6 Sestavy 146 Obrysové rozložení sestavy V prvním okně vybereme z dotazu P68 Tržby všechna čtyři pole Sekce_s, NACE_k, NACE_v, Tržby. V druhém okně přidáme seskupení z pole Sekce_s. V třetím okně zadáme řazení vět dle NACE_k. 154 V čtvrtém okně vybereme rozložení sestavy Osnova a ponecháme orientaci na výšku. V pátém okně nazveme sestavu P68 Podíly a zadáme zobrazení náhledu sestavy. V návrhu sestavy provedeme změny: v sekci ZÁHLAVÍ SESTAVY: Název sestavy v Záhlaví sestavy změníme na Tržby za sekce a posuneme do levého horního rohu. Nastavíme velikost názvu sestavy. V kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOSTI A POŘADÍ klikneme do tlačítka Velikost a mezery a v sekci VELIKOST vybereme volbu Přizpůsobit obsahu. Nastavíme formátovou vlastnost záhlaví sestavy na automatickou barvu Pozadí 1. Výšku Záhlaví sestavy minimalizujeme. v sekci Záhlaví Sekce_s: Odstraníme popisek Sekce_s. textové pole Sekce_s přesuneme do levého horního rohu Záhlaví Sekce_s a rozšíříme na šířku 19 cm. v sekcích Záhlaví Sekce_s a Podrobnosti: Označíme tažením ve svislém pravítku všechny ovládací prvky a uspořádáme je do tabulkového rozložení. V kartě USPOŘÁDÁNÍ ve skupině TABULKA klikneme do tlačítka Tabulkové. Odstraníme výplň ovládacích prvků v tabulkovém rozložení. V kartě USPOŘÁDÁNÍ ve skupině POZICE klikneme do tlačítka Výplň ovládacího prvku a vybereme volbu Žádná. Tažením za křížový úchyt posuneme rozložení doleva. Popisky táhneme v záhlaví Sekce_s nahoru pod pole Sekce_s a sekci minimalizujeme. Textová pole táhneme v Podrobnostech nahoru a sekci minimalizujeme. Pro textová pole v Podrobnostech doplníme okraj. Do formátové vlastnosti Styl okraje vyplníme hodnotu Plná čára. Upravíme text popisků. Popisek NACE_k změníme na NACE. Popisek NACE_v změníme na Název základní činnosti. Připustíme zvětšení textového pole NACE_v na více řádků. Do formátové vlastnosti Možnost zvětšení zadáme hodnotu Ano. Upravíme šířku sloupců (NACE_k: 1,1 cm, NACE_v: 11,4 cm, Tržby: 1,6 cm). V sekcích Záhlaví Sekce_s, Podrobnosti, Zápatí Sekce_s nastavíme alternativní barvu pozadí na Pozadí 1. v zápatí stránky: Posuneme aktuální datum k levému kraji, číslo stránky tak, aby jeho pravý kraj byl na pozici 19 cm. Minimalizujeme šířku sestavy. Prohlédneme sestavu v náhledu, nyní je sestava přehledem tržeb dle kódu NACE základní činnosti. Tržby jsou seskupené dle sekcí NACE, každá sekce má své záhlaví popisků, před nímž je písmeno a název sekce NACE. Upravíme ještě formátové vlastnosti tržeb v sekcích Podrobnosti, Zápatí Sekce_s a Zápatí sestavy: Do formátové vlastnosti Formát vložíme hodnotu Standardní. Do formátové vlastnosti Počet desetinných míst vložíme hodnotu Mohli bychom zde zadat tisk součtů tržeb za sekce a výpočet podílů sekcí na tržbách za všechny skupiny NACE. Kliknuli bychom do tlačítka Možnosti souhrnu a v dalším okně bychom zaškrtnuli pro Tržby pole Součet, dále bychom zaškrtnuli pole Výpočet procent z celku pro součty. Vypočtená pole by však nebyla součástí rozložení, proto součty a podíly budeme řešit až v úpravě návrhu sestavy.

147 6 Sestavy 147 Seskupování a řazení Nyní doplníme do sestavy součet tržeb za jednotlivé sekce a za všechny sekce: V kartě NÁVRH ve skupině SKUPINY A SOUHRNY klikneme do tlačítka Seskupit a seřadit. Zobrazí se podokno Skupina, řazení a součet (viz obr. 6-14), v němž klikneme do tlačítka Další, abychom zobrazili další možnosti okna. Tlačítko Další je nahrazeno tlačítkem Méně. Kliknutím do rozbalovacího tlačítka můžeme rozbalit nabídku jednotlivých prvků (trojúhelníková tlačítka na pravém konci ovládacích tlačítek). OBR. 6-14: PODOKNO SKUPINA, ŘAZENÍ A SESKUPOVÁNÍ Součty za sekce a sestavu Význam voleb pro skupinu Sekce_s: Sekce_s: pole, dle nějž je provedeno seskupení či řazení, A nahoře: řazení dle abecedy vzestupně, podle celé hodnoty: seskupování dle celé hodnoty pole seskupení, je možné seskupovat také např. podle prvního znaku, bez součtů: k vybranému poli (sloupci) v rámci seskupení je možné přidat součet (probereme dále pro náš případ podrobně), s názvem: možnost přidat do podokna Skupina, řazení a souhrn pro záhlaví sekce seskupení jeho název (nezobrazuje se v sestavě, zobrazuje se v nevybraných sekcích), s oddílem záhlaví: je k dispozici sekce Záhlaví Sekce_s, bez části zápatí: není k dispozici sekce Zápatí Sekce_s, neudržovat skupinu pohromadě na stránce: možnost vynutit udržení všech vět skupiny na jedné stránce či udržet pohromadě alespoň záhlaví a první větu. Doplníme k tržbám součty pro skupinu Sekce_s: Rozbalíme nabídku bez součtů (kliknutím do trojúhelníku na konci). V poli Souhrn pole vybereme Tržby. V poli Typ ponecháme Součet. Zaškrtneme pole Zobrazit celkový součet a pole Zobrazit v zápatí skupiny. Uchováme skupinu na stejné stránce: Rozbalíme nabídku neudržovat skupinu a vybereme volbu udržovat celou skupinu na jedné stránce. Vytvořená pole v jiné vlastnosti Název přejmenujeme: Součet v Zápatí Sekce_s bude mít název Tržby_sekce. Součet v Zápatí sestavy bude mít název Tržby_vše. Minimalizujeme výšku Zápatí Sekce_s a popř. Zápatí sestavy. Doplníme popisek k součtu za sekci: V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Popisek. Tažením vymezíme popisek v levém horním rohu Zápatí Sekce_s a vložíme text Součet za sekci. Zkopírujeme popisek do Zápatí sestavy a upravíme jeho text na Součet za vše. Popisky součtů umístíme do druhého sloupce tabulkového rozložení (Název základní činnosti.) Upravíme čáry v sestavě a její vzhled: Potlačíme čáry nad součty v Zápatí Sekce_s i v Zápatí sestavy změnou formátové vlastnosti Styl mřížky nahoře na hodnotu Průhledná čára. Potlačíme ohraničení součtů změnou formátové vlastnosti Styl okraje na hodnotu Průhledná čára. Součtové řádky v sekcích Zápatí Sekce_s i v Zápatí sestavy posuneme nahoru.

148 6 Sestavy 148 Podíly v sestavě Průběžný součet Štítky P69 Štítky Chceme, aby celá skupina byla vždy na stejné stránce. V podokně Skupina, řazení a součet pro seskupení Sekce_s vybereme udržovat celou skupinu pohromadě na jedné stránce. Pod součtovým řádkem ponecháme mezery pro přehlednější oddělení sekcí od sebe. Doplníme sloupec s podílem jednotlivých činností na tržbách za všechny sekce: Klikneme do popisku Tržby. S klávesou Shift klikneme do textového pole Tržby a do součtu tržeb za skupinu. Zkopírujeme označené ovládací prvky do schránky kombinací Ctrl C a vložíme je ze schránky kombinací Ctrl V. 155 Tažením doprava vložené prvky posuneme za první sloupec tržeb. Minimalizujeme Záhlaví Sekce_s a Podrobnosti. Upravíme popisek Tržby na hodnotu Podíl na všem, za slovem Podíl stiskneme kombinaci kláves Shift Enter, abychom vytvořili v popisku nový řádek, nemusíme tak rozšiřovat sloupec. Upravíme vlastnosti textového pole posledního sloupce v Podrobnostech: datovou vlastnost Zdroj ovládacího prvku na hodnotu =Tržby/Tržby_vše 156, formátovou vlastnost Formát na hodnotu Procenta. Upravíme vlastnosti textového pole posledního sloupce v Zápatí Sekce_s: datovou vlastnost Zdroj ovládacího prvku na hodnotu =Sum([Tržby])/[Tržby_vše], formátovou vlastnost Formát na hodnotu Procenta. Doplníme předposlední sloupec s podílem jednotlivých činností: Označíme popisek, textové pole i součet posledního sloupce. Zkopírujeme jej na pozici předposledního sloupce, minimalizujeme Záhlaví Sekce_s a Podrobnosti. Upravíme popisek na Podíl na sekci. Upravíme zdroj textového pole na hodnotu = [Tržby]/[Tržby_sekce]. Upravíme zdroj součtového pole na hodnotu =Sum([Tržby])/[Tržby_sekce]. Pro lepší čitelnost popisků nad tabulkou vložíme na začátek popisků NACE, Název základní činnosti a Tržby volný řádek kombinací kláves Shift Enter. Sestavu uložíme pod názvem P68 Podíly. Při tvorbě sestav lze využít řadu dalších vlastností ovládacích prvků. Mezi ně patří datová vlastnost Průběžný součet. Pokud bychom ve sloupci Tržby zadali hodnotu: přes skupinu, vypisoval by se kumulativní součet tržeb v rámci skupiny, tj. součet by se nuloval v souvislosti s přechodem na další skupinu, přes všechno, vypisoval by se kumulativní součet tržeb za všechny věty. 6.9 Štítky V další sestavě připravíme štítky (samolepící adresní etikety) na obálky, v nichž budeme zasílat aktuální letáky odběratelům firmy Encián. Předpokládejme, že adresy budeme tisknout na laserové tiskárně na štítky o rozměru 7 x 3,6 cm, které jsou ve 3 sloupcích a 8 řadách umístěny na listech o rozměru A4 s horním nakládacím okrajem 0,9 cm (viz obr. 6-15). 157 Vytvoříme novou sestavu: V navigačním podokně klikneme ve skupině TABULKY do tabulky Podniky. V kartě VYTVOŘENÍ ve skupině SESTAVY klikneme do tlačítka Štítky. V prvním okně Průvodce štítky se nabídne řada typů štítků (viz obr. 6-16). V poli Druh štítků ponecháme vybrány Volné listy 158, v poli Filtrovat podle výrobce můžeme vybrat výrobce štítků, jeho štítky se potom nabízí v horním seznamu. 155 Sloupec jsme vkládali kopírováním, abychom zachovali společné rozložení popisku, textového pole v podrobnostech a součtu v zápatí skupiny. 156 Ve výrazu tak používáme dříve připravený název ovládacího prvku. Dosud jsme se odkazovali pouze na pole ze zdroje dat. I zde nám pomáhá našeptávač. 157 Rozměry štítku lze změřit nebo je můžeme spočítat z velikosti stránky A4. Pro šířku našeho štítku platí: 21/3 = 7 cm, pro výšku (29,7 0,9)/8= 28,8/8 = 3,6 cm. 158 Volba Nekonečný pás je určena na tisk štítků na souvislém pásu s perforací po krajích do jehličkových tiskáren.

149 6 Sestavy 149 OBR. 6-15: VOLNÝ LIST A4 ADRESNÍCH ŠTÍTKŮ OBR. 6-16: PRVNÍ OKNO PRŮVODCE ŠTÍTKY Nevyužijeme žádný nabízený formát štítků, připravíme vlastní. Klikneme do tlačítka Přizpůsobit. Zobrazí se dialogové okno Nová velikost štítku. Zde může být uveden seznam dříve vytvořených vlastních štítků. Klikneme do tlačítka Nový. Zobrazí se dialogové okno Úprava štítku, v němž zadáme hodnoty dle obr Význam parametrů: Horní nakládací okraj 0,90 cm zadán dle parametrů štítků. Výška štítku 3,60 cm zadána dle výšky štítku. Levý okraj 0,80 cm je kraj papíru, na nějž nelze tisknout laserovou tiskárnou 159. Okraj mezi štítky zadáme jako dvojnásobek levého kraje. I na prostředním štítku dodržíme levý i pravý okraj 0,80 cm. Šířka štítku 5,4 je zbytek po odečtení okrajů (7 2*0,8 = 7 1,6 = 5,4 cm). Pravý okraj 0,79 cm je opět nepotisknutelný okraj. Zadáme jej o něco menší, tak aby celková šířka byla menší než 21 cm: 0,8 + 3*5,4 + 2 * 1,6 + 0,79 = 0,8 + 16,2 + 3,2 + 0,79 = 20, Šířka okraje je různá dle typu tiskáren. Nebývá větší než 0,8 cm.

150 6 Sestavy 150 OBR. 6-17: DIALOGOVÉ OKNO ÚPRAVA ŠTÍTKU Kliknutím do tlačítka OK ukončíme definici parametrů štítku. Kliknutím do tlačítka Zavřít zavřeme dialogové okno Nový štítek. 160 Průvodce pokračuje: V druhém okně průvodce upravíme formát písma ve štítku. Změníme Velikost písma na 10. V třetím okně vybíráme z polí zdrojové tabulky či dotazu do vzorového štítku (viz obr. 6-18). Na začátku vynecháme volný řádek, aby text byl uprostřed štítku. OBR. 6-18: TŘETÍ OKNO PRŮVODCE ŠTÍTKY Ve čtvrtém okně zadáme řazení štítků dle IČ. V pátém okně zadáme název sestavy P69 Štítky, ponecháme vybrané zobrazení náhledu vytištěných štítků a klikneme do tlačítka Dokončit. Případné hlášení o nezobrazení některých dat odsouhlasíme kliknutím do tlačítka OK. Zobrazí se náhled sestavy štítků (viz obr. 6-19). OBR. 6-19: SESTAVA P69 ŠTÍTKY PRVNÍ ŘADA TŘÍ ŠTÍTKŮ 160 Definice vlastního štítku se neukládá do databáze, ale do uživatelských nastavení Accessu.

151 7 Makra Makra Makro Typy akcí Argumenty Podmínka akce Komentář a:seskupení Skupiny maker Spouštění maker Ukládání maker 7.1 Druhy a struktura maker Makro je prostředek, který automaticky vykoná předem definovanou operaci či celou řadu operací. Jednotlivé operace, které Access provádí v makru, se nazývajíc akce. Při tvorbě makra vybíráme v návrháři maker akce z katalogu 67 akcí. Fungování akcí upřesňujeme prostřednictvím argumentů akcí. Akce jsou rozděleny do 8 skupin podle typů: Databázové objekty (11 akcí), např. Otevřít formulář Filtr/Dotaz/Hledání (12 akcí), např. Najít záznam Import/Export dat (5 akcí), např. HromadnáPoštaWord Operace zadávání dat (3 akce), např. UložitZáznam Příkazy maker (14 akcí), např. ZrušitUdálost Příkazy systému (4 akce), např. ZavřítDatabázi Příkazy uživatelského rozhraní (9 akcí), např. OknoSeZprávou Správa okna (5 akcí), např. ZavřítOkno Dále jsou k dispozici nástroje pro běh programu (4 speciální akce): podmínka, komentář, seskupení, submakro. Akce lze parametrizovat prostřednictvím argumentů. Jednotlivé příkazy mají různé argumenty. Hodnoty argumentů lze často vybírat z rozevíracích seznamů. Makro se skládá z jednotlivých akcí. Jednotlivé akce mohou být prováděny jen při splnění podmínky zadané výrazem. Podmínku lze snadno opakovat pro více akcí. Komentáře usnadňují čtení maker. Komentář je dokumentační akce s textem vysvětlujícím chod makra. Akce lze seskupovat. Skupinu je možné nazvat a sbalit tak, aby nerušila čtení dalších akcí. Makro je objektem Accessu jako tabulky, dotazy, formuláře a sestavy. V jednom objektu (samostatně uváděném v navigačním podokně) může být obsaženo jedno makro nebo více maker. Objekt uváděný v navigačním podokně je potom skupinou maker, dílčí makra ve skupině mají svůj název. Při spouštění makra potom musíme uvést název objektu skupiny i název dílčího makra. Z hlediska spouštění makra lze makra rozdělit na: makra spouštěná přímo z navigačního podokna, vložená makra spouštěná z jiných objektů (především formulářů a sestav) při zadané události (např. při kliknutí do tlačítka ve formuláři nebo při přechodu na další větu ve formuláři nebo při přechodu na tisk další věty v sestavě). Makro lze spustit: běžně bez krokování: Makro provádí akce v něm obsažené bez zastavování. s krokováním: Po každé akci se makro pozastaví, zobrazí se dialogové okno Krokovat makro, abychom mohli analyzovat výsledek jednotlivých akcí. Dále můžeme pokračovat krokováním nebo pokračováním bez krokování. Krokování můžeme zahájit také až z vybraného místa makra, když do makra zařadíme akci Krok. Makra mohou být uložena: jako objekty zobrazované v navigačním podokně, jako vložené makro spouštěné při události v jiném objektu, makro je potom uložené přímo v tomto objektu a není možné používat jej v jiném objektu Různé způsoby uložení jsou analogické jako uložení dotazů. Např. zdrojem formuláře může být dotaz samostatně uložený a zobrazený v navigačním podokně nebo dotaz bez názvu uložený přímo ve formuláři.

152 7 Makra 152 P72 Dotaz P72 Licence Akce Otevřít formulář P72 Makro 7.2 Makro spustitelné samostatně Chceme vytvořit makro, které zobrazí ve formuláři licence fakturované odděleními vybranými v tabulce Oddělení_F. V případě, že pro vybraná oddělení žádné licence neexistují, chceme pouze zobrazit dialogové okno s hlášením. Nejdříve nachystáme zdrojový dotaz, který vybere licence fakturované vybraným oddělením, a z něho vycházející formulář: Do tabulky Oddělení_F vložíme jedinou větu s hodnotou DIS. Nejprve připravíme dotaz: Zdrojový dotaz vychází z tabulek Oddělení_F, Osoby, Faktury, Licence, z nichž vybere:» z tabulky Osoby: Jméno, Příjmení,» z tabulky Faktury: Faktura, Datum, IČ,» z tabulky Licence: Program, Sériové_číslo. Dotaz uložíme pod názvem P72 Dotaz. Na základě dotazu vytvoříme formulář: V navigačním podokně označíme kliknutím objekt P72 Dotaz. V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Další formuláře a vybereme volbu Více položek. V automaticky vytvořeném formuláři upravíme v zobrazení rozložení šířku sloupců, tak aby jejich šířka odpovídala obsahu (Jméno: 1,9 cm, Příjmení: 2,5 cm, Faktura: 1,4 cm, Datum: 2 cm, IČ: 2 cm, Program: 1,5 cm, Sériové číslo: 2,3 cm). Formulář uložíme pod názvem P72 Licence. Připravíme jednoduché makro, které pouze otevře vytvořený formulář: V kartě VYTVOŘENÍ ve skupině MAKRA A KÓD klikneme do tlačítka Makro. Zobrazí se návrhář makra. V levé části budou jednotlivé akce makra s možností rozbalit jejich parametry. V pravém podokně je Katalog akcí. Akce jsou rozděleny do dvou kategorií: Běh programu: nejčastější akce. Akce: rozbalením typu akce zobrazíme nabídku akcí daného typu. Kliknutím do akce se ve spodní části Katalogu akcí zobrazí stručné vysvětlení funkce akce. Akci lze do makra zadat několika způsoby: výběrem z katalogu akcí dvojitým kliknutím na akci, výběrem ze seznamu akcí, který rozbalíme kliknutím do tlačítka na konci pole akce, zapsáním jednoznačného počátku názvu akce, v případě některých akcí přímo vycházejících z jiných databázových objektů tažením objektu z navigačního podokna do pole akce (s automatickým vyplněním některých argumentů). V kartě NÁVRH jsou ve skupině Zobrazit nebo skrýt dvě tlačítka regulující zobrazené objekty: Zobrazit všechny akce: Zobrazí/skryje pokročilejší akce ikonou trojúhelníku. Katalog akci: Zobrazí/skryje podokno Katalog akcí. V našem případě táhneme z navigačního podokna formulář P72 Licence do prvního řádku tabulky akcí. Nastaví se akce Otevřít formulář s argumenty (kliknutím do rozbalovacího tlačítka lze argumenty skrýt): Název formuláře: P72 Licence Zobrazit: formulář Režim okna: normální V katalogu akcí dvojitě klikneme do akce Komentář. Za akci Otevřít formulář se doplnil komentář. Kliknutím do tlačítka Posunout nahoru (zelená šipka nahoru) přesuneme komentář na začátek makra. Vyplníme jednoduchý komentář Otevření formuláře licencí. Klikneme do druhé akce Otevřít formulář. Komentář je vypsán zeleně. Před spuštěním makro uložíme kliknutím do tlačítka Uložit v panelu nástrojů Rychlý přístup pod názvem P72 Makro. V kartě NÁVRH ve skupině NÁSTROJE klikneme do tlačítka Spustit a spustíme tak makro. (Z navigačního podokna můžeme makro spustit dvojitým kliknutím na jeho název.)

153 7 Makra 153 Akce Skupina Akce Najít Záznam Akce Přejít Na Ovládací Prvek Akce Najít Další Záznam Akce Zvukový Signál Otevře se formulář P72 Dotaz. Po otevření je kurzor v prvním sloupci Jméno. Zavřeme formulář. Budeme demonstrovat další akce: Několik dalších akcí se bude vztahovat k hledání. Seskupíme je do skupiny Hledání. V katalogu akcí dvojitě klikneme v kategorii BĚH PROGRAMU do akce Seskupit. Do názvu skupiny zapíšeme Hledání. Do skupiny doplníme akci Najít záznam (typu Filtr/Dotaz/Hledání). Akce provádí hledání v obsahu otevřené tabulky či výsledku dotazu obdobně jako, kdybychom hledali stisknutím kláves Ctrl F. Do argumentu Najít zapíšeme hodnotu Eva. Spustíme znovu makro. Access nás vyzve k uložení makra. Po uložení se otevře formulář na první větě s křestním jménem Eva (48. věta). Chceme však hledat v poli Program. Akce NajítZáznam prohledává aktuální pole: Do skupiny Hledání doplníme akci PřejítNaOvládacíPrvek (typ Databázové objekty) s jediným argumentem Název ovládacího prvku, vložíme do něj hodnotu Program. Hodnotu nelze vybrat z rozbalovacího seznamu. Dále znovu vložíme akci NajítZáznam. Zadáme argument Najít s hodnotou FIN. Po spuštění makra se otevře formulář a kurzor se umístí do věty licence programu FIN (4. věta). Vzhledem k argumentu Prohledávat o hodnotě všechno se hledá znovu od začátku tabulky. Chceme vyhledat druhý výskyt licence FIN: Doplníme akci NajítDalšíZáznam (typ Filtr/Dotaz/Hledání), která nemá žádný argument. Po spuštění makra se otevře formulář a kurzor se umístí do věty druhé licence programu FIN (8. věta). Konec průběhu makra oznámíme zvukovým signálem: Doplníme do makra na konec akci ZvukovýSignál (typ Příkazy systému), která nemá žádný argument. Před každou akcí s argumenty je rozbalovací tlačítko, které umožňuje zobrazit či potlačit zobrazení argumentů (viz obr. 7-1). Sbalené argumenty jsou uvedeny v závorce za akcí). Obdobně můžeme sbalit či rozbalit akce sloučené do skupiny. Sbalení či rozbalení usnadňují tlačítka v kartě NÁVRH ve skupině SBALIT NEBO ROZBALIT: Rozbalit akce/sbalit akce: rozbalí či sbalí argumenty akcí. Rozbalit vše/sbalit vše: rozbalí či sbalí argumenty akcí i skupiny akcí. OBR. 7-1: ROZBALENÁ SKUPINA AKCÍ

154 7 Makra 154 Podmínka akce Akce Okno Se Zprávou Před dalšími úpravami makra odstraníme skupinu Hledání včetně jejich akcí. Na konci řádku skupiny klikneme do tlačítka Odstranit. Na konec makra doplníme akci Zvukový signál (typ Příkazy systému). Formulář chceme zobrazit pouze v případě, že výsledkem podkladového dotazu je jedna či více vět: V katalogu akcí v kategorii BĚH PROGRAMU dvojitě klikneme do akce If. Tlačítkem Přesunout nahoru akci přesuneme na začátek makra za komentář. Akce Otevřít formulář je až za podmíněným výrazem. V jejím řádku klikneme do tlačítka Přesunout nahoru, akce je tak již provedena jen po splnění podmínky. V řádku akce If zapíšeme podmínku: DCount("[Program]";"P72 Dotaz")>0 Funkce DCount zjišťuje v datové sadě (dotazu) P72 Dotaz počet vět s vyplněnými poli Program. Akci provedeme pouze, když počet je větší než 0. Fungování makra vyzkoušíme variantně zadáním hodnoty ANA (nezobrazí se formulář, pouze zazní zvukový signál) a DIS (zobrazí se formulář) do tabulky Oddělení_F. Pro případ, že výsledkem podkladového dotazu není žádná věta, chceme zobrazit oznámení v dialogovém okně: Klikneme na akci If. Před řádkem End If klikneme do odkazu Přidat blok Else. Přidáme akci OknoSeZprávou (typ Příkazy uživatelského rozhraní) a upřesníme argumenty: Zpráva: Vybraná oddělení nevystavila žádnou fakturu. Zvukový signál: ano Typ: informační zpráva Titulek: Upozornění Pro variantu hodnoty ANA v tabulce Oddělení_F se zobrazí dialogové okno dle nastavených argumentů. Typ informační zpráva se projevuje zobrazením ikony vedle zprávy (viz obr. 7-2). OBR. 7-2: DIALOGOVÉ OKNO UPOZORNĚNÍ P72 Oddělení V případě, že výsledkem dotazu není žádná věta, chceme po uzavření dialogového okna Upozornění, otevřít formulář pro editaci tabulky Oddělení_F: V navigačním podokně označíme tabulku Oddělení_F. V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Další formuláře a vybereme volbu Více položek. Automaticky vytvořený formulář uložíme pod názvem P72 Oddělení. Za akci OknoSeZprávou vložíme tažením objektu formuláře z navigačního podokna akci OtevřítFormulář a upřesníme název formuláře P72 Oddělení. Výsledné znění makra je uvedeno v obr OBR. 7-3: MAKRO P72 MAKRO

155 7 Makra 155 Akce Zavřít Okno P72 Sestava Chceme usnadnit přepínání mezi formuláři. Do formulářů doplníme tlačítka přechodu na druhý formulář: Do formuláře P72 Oddělení doplníme tlačítko: V návrhovém zobrazení rozšíříme formulář na 10 cm. V záhlaví formuláře odebereme rozložení. Velikost názvu Oddělení_F přizpůsobíme obsahu. V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Tlačítko. Vymezíme tlačítko v Záhlaví formuláře napravo od popisku Oddělení_F v šířce (na vodorovném pravítku) 6 10 cm. Ukončíme průvodce kliknutím do tlačítka Storno. Do tlačítka napíšeme text Formulář licencí. Upravíme tak formátovou vlastnost Titulek. V událostní vlastnosti Při kliknutí klikneme do rozbalovacího tlačítka a vybereme makro P72 Makro. Formulář uložíme se změnami. Také do formuláře P72 Licence doplníme tlačítko: Popisek P72 Dotaz změníme na Licence a přizpůsobíme jeho velikost obsahu. V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Tlačítko. Vymezíme tlačítko v Záhlaví formuláře napravo od popisku P72 Dotaz v šířce 6 10 cm. Ukončíme průvodce kliknutím do tlačítka Storno. Do tlačítka napíšeme text Výběr oddělení. V událostní vlastnosti Při kliknutí vytvořeného tlačítka klikneme do druhého tlačítka Tvůrce a vybereme Tvůrce maker. Vytvořili jsme tak vložené makro, které je uloženo v objektu formuláře. Vložené makro bude obsahovat dvě akce:» OtevřítFormulář (typ Databázové objekty) s argumentem: Název formuláře: P72 Oddělení» ZavřítOkno (typ Správa okna) s argumenty: Typ objektu: formulář Název objektu: P72 Licence Uložit: výzva V kartě NÁVRH ve skupině ZAVŘÍT klikneme do tlačítka Zavřít. Potvrdíme uložení makra a aktualizování vlastnosti. Formulář uložíme se změnami. V tabulce Oddělení_F nachystáme jediné oddělení ANA a vyzkoušíme fungování formulářů: Dvojitým kliknutím na název makra spustíme z navigačního podokna makro P72 Makro. Zobrazí se upozornění Vybraná oddělení nevystavila žádnou fakturu. Po kliknutí do tlačítko OK se otevře formulář Oddělení_F. Doplníme v něm druhé oddělení DIS. Stiskneme kombinaci kláves Shift Enter, aby se druhá věta uložila. Klikneme do tlačítka Formulář licencí. Zobrazí se formulář P72 Licence. Klikneme do tlačítka Výběr oddělení. Zavře se formulář P72 Licence a otevře se formulář P72 Oddělení. Doplníme do naší soustavy ještě sestavu vypisující přehled prodaných licencí: V navigačním podokně označíme dotaz P72 Dotaz. V kartě VYTVOŘENÍ ve skupině SESTAVY klikneme do tlačítka Sestava. V zobrazení rozložení vytvořené sestavy zúžíme šířku sloupců (Jméno: 1,8 cm, Příjmení: 2 cm, Faktura: 1,5 cm, Datum: 2 cm, IČ: 2 cm, Program: 1,5 cm, Sériové číslo: 2,3 cm). Upravíme popisek v záhlaví sestavy na Licence. Upravíme popisek posledního sloupce na Sériové číslo. V případě, že sestava neobsahuje žádnou větu, zobrazíme místo sestavy upozornění. V návrhovém zobrazení změníme událostní vlastnost sestavy Při nepřítomnosti dat. Vložíme do ní vložené makro se dvěma akcemi: OknoSeZprávou (typ Příkazy uživatelského rozhraní) s argumenty:» Zpráva: V sestavě licencí nejsou žádná data.» Typ: kritický stav

156 7 Makra 156 Akce Zrušit Událost Akce Otevřít Sestavu Krokování» Titulek: Upozornění ZrušitUdálost (typ Příkazy maker) bez argumentů. Sestavu uložíme pod názvem P72 Sestava. Do formuláře P72 Oddělení doplníme pod tlačítko Formulář licencí nové tlačítko Sestava licencí, které bude obsahovat vložené makro s jedinou akcí: OtevřítSestavu (typ Databázové objekty) s argumenty:» Název sestavy: P72 Sestava» Zobrazit: sestava Formulář uložíme. Vyzkoušíme sestavu pro jediné oddělení ANA. Zobrazí se dialogové okno Upozornění. Po kliknutí do tlačítka OK se nezobrazí sestava. V případě, že makro nefunguje dle našich představ, je vhodné zobrazit výsledky jednotlivých akcí makra kroků makra. Krokování můžeme spustit: před spuštěním makra, v průběhu makra jako samostatnou akci. Provedeme krokování makra P72 Makro: Otevřeme makro v návrhu. V kartě NÁVRH klikneme ve skupině NÁSTROJE do tlačítka Krok. Nastavení zapnutí krokování se pamatuje pro další spouštění všech maker. Makro spustíme kliknutím do tlačítka Spustit. Zobrazí se dialogové okno Krokovat makro, v němž se zobrazí parametry provedené akce. V poli Podmínka je vyhodnocena hodnota výrazu v podmínce (viz obr. 7-4). OBR. 7-4: DIALOGOVÉ OKNO KROKOVAT MAKRO Akce Krok Tlačítkem Krok pokračujeme krokováním dalších akcí. Tlačítkem Pokračovat pokračujeme v provádění akcí makra bez krokování. Tlačítkem Zastavit všechna makra můžeme makro předčasně ukončit. Spuštění krokování z makra budeme demonstrovat na vloženém makru ve formuláři P72 Licence. Na začátek makra spouštěného tlačítkem Výběr oddělení doplníme akci Krok (typ Příkazy maker). Při spuštění makra kliknutím do tlačítka se spustí krokování. Akci z makra odstraníme. Dialogové okno Krokovat makro se zobrazuje také, když v průběhu provádění makra zastavíme makro kombinací kláves Ctrl Pause.

157 7 Makra 157 P73a Makro s podmínkou Where Podmínka Where P73b Makro s podmínkou Where P73b Karta Osoby 7.3 Makro filtrující sestavu Úkolem druhého makra bude zobrazit v sestavě S65 Hlavní sestava pouze vybraného zaměstnance: Otevřeme návrh nového makra a do prvního řádku makra přesuneme z navigačního podokna sestavu P65 Hlavní sestava. V návrhu makra se vytvořila první akce OtevřítSestavu (typ Databázové objekty). Upravíme argumenty akce: Název sestavy: Ponecháme Accessem doplněnou hodnotu P65 Hlavní sestava. Zobrazit: Zadáme hodnotu náhled, aby se sestava zobrazila v zobrazení náhledu. Název filtru: Zde bychom mohli zapsat název dříve připraveného dotazu, kterým se připravují data pro sestavu. Řádek ponecháme prázdný. 162 Podmínka Where: Můžeme omezit věty vypisované v sestavě, v našem případě zadáme: Osoba="Novak.Petr" Makro uložíme pod názvem P73a Makro s podmínkou Where. Po spuštění makra se zobrazí sestava P65 Hlavní sestava pouze s větou Petra Nováka. Chceme makro přiblížit uživateli: zobecněním zaměstnance vybíraného do sestavy, jednodušším spuštěním makra. Předpokládejme, že uživatel bude prohlížet zaměstnance ve formuláři P58e Karta Osoby. Chceme v sestavě zobrazit zaměstnance právě zobrazeného ve formuláři: Vzhledem k očekávaným úpravám formuláře vytvoříme jeho kopii P73b Karta Osoby. Nové makro bude velmi podobné předchozímu, vytvoříme proto kopii makra P73a Makro s podmínkou Where pod názvem P73b Makro s podmínkou Where. V makru P73b Makro s podmínkou Where upravíme pouze argument Podmínka Where jediné akce: [Osoba]=[Formuláře]![P73b Karta - Osoby]![Osoba] (Můžeme využít našeptávače.) Obecný odkaz na název ovládacího prvku formuláře má syntaxi: [Formuláře]![název formuláře]![název ovládacího prvku] Podmínkou zobrazujeme pouze věty sestavy, jejichž pole Osoba má hodnotu shodnou s hodnotou ovládacího prvku Osoba ve formuláři P73b Karta Osoby, který musí být otevřený: Před testováním musíme proto otevřít formulář P73b Karta Osoby. Zobrazíme v něm např. větu Evy Benešové (3. věta) a spustíme makro. Zobrazí se sestava s daty o Evě Benešové. Aby uživatel nemusel otevírat formulář a potom hledat v okně databáze makro, spustíme makro ve formuláři. Impulsem ke spuštění makra nebude jeho spuštění v navigačním podokně, ale událost ve formuláři. Událostí bude dvojité kliknutí do těla formuláře: Ve vlastnostech těla formuláře P73b Karta Osoby proto upravíme vlastnost Při pokliknutí. Na konci řádku klikneme do rozbalovacího tlačítka. Vybereme makro P73b Makro s podmínkou Where. Když nyní otevřeme formulář S73b Karta Osoby, zobrazíme libovolnou větu a dvojitě klikneme na tělo formuláře, tj. do bílého pozadí formuláře, nikoliv karet ani řádku záložek karet, zobrazí se sestava se zaměstnancem právě zobrazeným ve formuláři. Po prohlédnutí či vytištění sestavy okno sestavy zavřeme. Ve formuláři můžeme nastavit jinou větu a opět dvojitým kliknutím zobrazit sestavu. Spouštění je natolik nenápadné, že by si uživatel nemusel možnosti zobrazit sestavu všimnout. Vložíme proto do formuláře tlačítko. V návrhu formuláře klikneme v kartě NÁVRH ve skupině OVLÁDACÍ PRVKY do tlačítka Tlačítko. Tlačítko vymezíme napravo od pole Osoba v šířce 7 10 cm. Titulek tlačítka změníme na Sestava. Text tlačítka je vzhledem k dřívějšímu vytvoření sestavy průvodcem světle modrou barvou. V kartě FORMÁT ve skupině PÍSMO klikneme do tlačítka Barva pozadí a vybereme Automaticky. Do událostní vlastnosti tlačítka Při kliknutí vybereme P73b Makro s podmínkou Where. 162 Mohli bychom připravit dotaz vycházející z tabulky Osoby, v němž vybereme pole Oddělení s kritériem ANA.

158 7 Makra Makro ve formuláři Makro ve formuláři Makro s vlastností Viditelné Makro může upravovat vlastnosti ovládacích prvků ve formulářích či sestavách. Před dalšími úpravami zkopírujeme formulář P53 Podniky Identifikace jako nový P74a Podniky Identifikace. Připravíme makro, které v nově vytvořeném formuláři zobrazí pole pro zobrazení druhého (popř. třetího,, šestého) NACE jen v případě, že je již vyplněn první (popř. druhý,, pátý) NACE (viz obr. 7-5). OBR. 7-5: MAKRO P74A MAKRO VE FORMULÁŘI P74a Makro ve formuláři Akce Nastavit Vlastnost Nejprve vytvoříme makro: V kartě VYTVOŘENÍ ve skupině MAKRA A KÓD klikneme do tlačítka Makro. Zapíšeme první operaci v makru, která v případě, že je nevyplněné pole NACE4 nezobrazí pole NACE5 ve formuláři (např. pro 2. větu). Z katalogu akcí vybereme akci If. Do podmínky zapíšeme výraz NACE 4 Is Null. V případě splnění podmínky provedeme akci Nastavit vlastnost (typ Databázové objekty), která umožňuje změnit hodnotu vlastnosti vybraného ovládacího prvku. Do argumentu Název ovládacího prvku zapíšeme název prvku, jehož vlastnost budeme měnit, tj. NACE5 Do argumentu Vlastnost vybereme měněnou vlastnost. Nabízí se 11 vlastností:» Povoleno: nastavení vlastnosti Zpřístupnit (možné hodnoty 0 = ne, -1 = ano),» Viditelné: nastavení vlastnosti Zobrazit (možné hodnoty 0, -1),» Uzamčeno: nastavení vlastnosti Uzamknout (možné hodnoty 0, - 1),» Vlevo: nastavení vlastnosti Vlevo, tj. vzdálenost ovládacího prvku od levého kraje (do hodnoty se zadává číslo),» Nahoře: nastavení vlastnosti Nahoře, tj. vzdálenost ovládacího prvku od horního kraje (do hodnoty se zadává číslo),» Šířka: nastavení vlastnosti Šířka, tj. šířka ovládacího prvku (do hodnoty se zadává číslo),» Výška: nastavení vlastnosti Výška, tj. výška ovládacího prvku (do hodnoty se zadává číslo),» Barva popředí: nastavení vlastnosti Barva popředí (do hodnoty se zadává číslo barvy v desítkové soustavě),

159 7 Makra 159 P74a Podniky Identifikace Událostní vlastnosti Vlastnost Při události Current Vlastnost Při ztrátě fokusu» Barva pozadí: nastavení vlastnosti Barva pozadí (do hodnoty se zadává číslo barvy v desítkové soustavě),» Titulek: nastavení vlastnosti Titulek možné pouze pro popisky (do hodnoty se zadává libovolný text).» Hodnota: nastavení hodnoty pole, tj. možnost vložit konkrétní hodnotu do tabulky. V našem případě vybereme vlastnost Viditelné, neboť chceme ovlivnit zobrazování vybraného pole. Do argumentu Hodnota zapíšeme 0, která zastupuje hodnotu Ne (False). V prvním řádku makra jsme řešili větu, v níž NACE4 je prázdné. Přechodem na větu s vyplněným NACE4 by však zůstal nezobrazen ovládací prvek NACE5. Musíme proto doplnit opačný případ: Klikneme na akci makra NastavitVlastnost a zkopírujeme ji kombinací kláves Ctrl C do schránky. Klikneme do odkazu Přidat blok Else. Do větve Else vložíme kombinací kláves Ctrl V obsah schránky. Upravíme argument Hodnota na -1. Makro uložíme pod názvem P74a Makro ve formuláři a zavřeme jeho návrh. Makro chceme spustit: při otevírání formuláře, při přechodu na jinou větu. Spuštění makra v průběhu práce s formulářem zajišťují událostní vlastnosti. S vlastnostmi Při pokliknutí a Při kliknutí už jsme se setkali v kap Událostní vlastnosti se vztahují k jednotlivým objektům (např. můžeme makro spustit při změně hodnoty zadávané v některém poli) nebo k celému formuláři. Zobrazíme vlastnosti formuláře. Klikneme do záložky Událostní. Základní událostní vlastností formuláře je vlastnost Při události Current. Zde zadaná událost se provede, když otevřeme formulář nebo přejdeme na novou větu. Událostí může být makro nebo modul 163. V našem případě chceme připojit jako událost makro. Klikneme do rozbalovacího tlačítka na konci řádku vlastnosti Při události Current a ze seznamu vybereme makro P74a Makro ve formuláři. Ve formulářovém zobrazení zkontrolujeme fungování makra. Pro NACE se nabízí možnost doplnit NACE5 jen, pokud je vyplněno NACE4. Když vyplníme NACE4, další volné pole se zobrazí až při přechodu na další větu a po přechodu zpět na původní větu. V druhé větě přidáme NACE4 o hodnotě V rámci stejné věty se nezobrazí NACE5. V návrhu formuláře vyplníme pro pole NACE2, NACE3,, NACE6 vlastnost Při ztrátě fokusu výběrem makra P74a Makro ve formuláři. Vždy, když opustíme pole NACE4 a další přesunem kurzoru do jiného pole (klávesou Enter, Tab či myší), spustí se makro. Nyní již při přidání NACE4 se i v rámci stejné věty zobrazí pole pro další NACE5. Obdobně se potlačí zobrazení prázdného NACE5 při smazání obsahu předchozího NACE4. Do makra doplníme analogické akce pro nezobrazení či zobrazení NACE2, NACE3, NACE4, NACE6: V makru vložíme do schránky akci If. Do schránky se vloží včetně větve Else. Obsah schránky vložíme do makra 4x. Upravíme podmínky a názvy ovládacích prvků dle obr Uložíme makro a vrátíme se do formuláře. Vyzkoušíme funkčnost řešení: Pro NACE se nabízí možnost doplnit vždy jen jednu NACE tak, abychom nevynechali např. prázdnou NACE2 a nezadali NACE3. Access nyní zobrazuje pouze jedno volné pole NACE. 163 Výklad modulů je zařazen do kap. 8.

160 7 Makra 160 P74b Osoby Identifikace Makro s vlastnostmi Titulek a Barva popředí Do formuláře pro editaci dat o zaměstnanci doplníme popisek, který bude textově vyjadřovat výši úvazku zaměstnance: Formulář P52 Osoby Identifikace zkopírujeme pod názvem P74b Osoby Identifikace. Do formuláře doplníme kopií popisku Úvazek nový popisek, do nějž vložíme text Rozsah. Popisek umístíme napravo od svázaného ovládacího prvku Úvazek. Do jiné vlastnosti Název nového popisku zadáme hodnotu Rozsah_úvazku. Pro vlastnost formuláře Při události Current vytvoříme vložené makro kliknutím do tlačítka Tvůrce a výběrem Tvůrce maker. Do makra doplníme akce dle obr OBR. 7-6: VLOŽENÉ MAKRO VE FORMULÁŘI Pro editaci makra využijeme kopírování prostřednictvím schránky, do níž uložíme: Akci NastavitVlastnost pro Titulek a později pro Barvu popředí. Akci If. Popisek Rozsah_úvazku je pro všechny úvazky vyplněn hodnotou jiný černě. Pro poloviční a plné úvazky je potom změněn text (poloviční či plný) a barva (pro poloviční úvazek červená, pro plný úvazek modrá barva). 7.5 Makro v sestavě Makro v sestavě P75a Makro v těle sestavy Makro v podrobnostech sestavy Makro můžeme spouštět i v sestavě. Můžeme tak při tisku modifikovat vlastnosti některých objektů (nejčastěji barvu popředí) vybrané sekce (nejčastěji těla sestavy). Vrátíme se k sestavě P66 Telefonní seznam, kterou zkopírujeme do sestavy P75a Makro v těle sestavy. Připravíme makro, které vypíše příjmení mužů modře, příjmení žen červeně: Otevřeme sestavu P75a Makro v těle sestavy v návrhovém zobrazení a přidáme nové pole Pohlaví, které využijeme v podmínce, avšak nechceme je zobrazovat v sestavě: Ze seznamu polí všech tabulek přesuneme z tabulky Osoby pole Pohlaví do tabulkového rozložení v těle na konec. Zúžíme šířku pole Pohlaví na 1 cm a v jeho formátové vlastnosti Zobrazit zadáme hodnotu ne. Minimalizujeme šířku sestavy. Také pro popisek Pohlaví v záhlaví stránky zadáme do formátové vlastnosti Zobrazit hodnotu ne. V kartě VZHLED STRÁNKY klikneme ve skupině ROZLOŽENÍ STRÁNKY do tlačítka Vzhled stránky a upravíme hodnotu pravého okraje na 10 mm. Do událostní vlastnosti Při formátování těla sestavy vložíme pomocí tvůrce maker vložené makro dle obr Druhý řádek makra zkopírujeme z prvního řádku a upravíme podmínku a barvu. Makro se projevuje pouze v náhledu, nikoliv v zobrazení sestavy či zobrazení rozložení. Příjmení mužů se v náhledu vypisují modře, příjmení žen se vypisují červeně.

161 7 Makra 161 OBR. 7-7: MAKRO VLOŽENÉ V SESTAVĚ P75A MAKRO V TĚLE SESTAVY V návrhu sestavy ještě změníme formátovou vlastnost sestavy Výchozí zobrazení na hodnotu Náhled tisku, aby se makro projevovalo i při dvojitém kliknutí na název sestavy v navigačním podokně. Barevné odlišení můžeme řešit také podmíněným formátováním, které využijeme pro Jméno: Kliknutím označíme textové pole Jméno. V kartě FORMÁT ve skupině FORMÁTOVÁNÍ OVLÁDACÍHO PRVKU klikneme do tlačítka Podmíněné formátování. V dialogovém okně Správce pravidel formátování klikneme do tlačítka Nové pravidlo. Do prvního pole Formátovat pouze buňky, kde vybereme hodnotu výraz je a vložíme výraz: [Pohlaví]="M" V spodní části okna zvolíme modrou barvu písma. Obdobně nastavíme pro ženy (Z) červenou barvu písma. P75b Makro v záhlaví skupiny Makro v záhlaví skupiny Makro spouštěné při formátování můžeme aplikovat i v jiné sekci sestavy, např. v záhlaví skupiny. Vrátíme se k sestavě P68 Podíly, kterou zkopírujeme do sestavy P75b Makro v záhlaví skupiny. Připravíme makro, které vypíše názvy sekcí NACE červeně v případě, že odběratelé ze sekce tvoří více než 10 % celkových tržeb firmy: Otevřeme sestavu P75b Makro v záhlaví skupiny v návrhovém zobrazení. V sekci Zápatí Sekce_s upravíme jinou vlastnost Název součtu v posledním sloupci na hodnotu Součet_sekce. Do událostní vlastnosti Při formátování sekce Záhlaví Sekce_s vložíme pomocí tvůrce maker vložené makro dle obr Druhý řádek makra zkopírujeme z prvního řádku a upravíme podmínku a barvu. Druhý řádek je nutný, aby se po prvním splnění podmínky nevypisovaly červeně názvy všech sekcí. OBR. 7-8: MAKRO VLOŽENÉ V SESTAVĚ P75B MAKRO V ZÁHLAVÍ SKUPINY V sekci Záhlaví_Sekce se odkazujeme v podmínce makra spouštěného při formátování na hodnotu ovládacího prvku z jiné sekce Zápatí Sekce_s. Názvy významných sekcí s tržbami zastoupenými více než 10 % vypisujeme červeně. V návrhu sestavy ještě změníme formátovou vlastnost sestavy Výchozí zobrazení na hodnotu Náhled tisku, aby se makro projevovalo i při dvojitém kliknutí na název sestavy v navigačním podokně.

162 7 Makra 162 Skupina maker P76 Menu 7.6 Skupina maker I velmi stručné makro může uživateli usnadnit práci. Za účelem přehlednosti seznamu maker je někdy vhodné makra vložit do jiných objektů nebo seskupit několik vzájemně souvisejících maker do jednoho makra ve formě skupiny maker. Skupinu maker vytvoříme pro otevírání formulářů a sestav z kap. 5 a 6: V kartě VYTVOŘENÍ ve skupině MAKRA A KÓD klikneme do tlačítka Makro. Z katalogu akcí vybereme akci Submakro a nazveme je Osoby_karta. Do submakra vložíme akci OtevřítFormulář s formulářem P73b Karta Osoby. Obdobně připravíme další submakra dle obr Práci si usnadňujeme tažením objektů z navigačního podokna do makra. V našem případě jsou všechna dílčí makra jednořádková. Makro uložíme pod názvem P76 Menu. OBR. 7-9: MAKRO FORMULÁŘ P76 MENU P76 Menu Makra budeme spouštět z jednoduchého formuláře, pro každé dílčí makro je v něm samostatné tlačítko (viz obr. 7-10): OBR. 7-10: FORMULÁŘ P76 MENU V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Návrh formuláře. V návrhovém zobrazení vložíme kliknutím do tlačítka Tlačítko ve skupině OVLÁDACÍ PRVKY v kartě NÁVRH první tlačítko dle obr Dvojitým kliknutím na tlačítko upravíme formátovou vlastnost Titulek na hodnotu Osoby karta. Označíme tlačítko. Zkopírujeme je kombinací kláves Ctrl C do schránky a vložíme do formuláře kombinací Ctrl V. Vhodně upravíme polohu tlačítka. Opakovaným stisknutím kombinace kláves Ctrl V vložíme tlačítko ještě dvakrát tlačítko. Umístí se na vhodné místo. Obdobně přichystáme druhý sloupec tlačítek a změníme titulky tlačítek. V událostní vlastnosti Při kliknutí přiřadíme jednotlivým tlačítkům makro. V seznamu maker jsou dílčí makra ve tvaru název_skupiny.název_dílčího_makra. Zmenšíme výšku těla a šířku formuláře. Formulář uložíme pod názvem P76 Menu. Pokud formulář P76 Menu otevřeme makrem s názvem Autoexec, formulář se automaticky otevře po otevření databáze. Můžeme také zadat název formuláře P76 Menu do pole Zobrazit formulář v okně Možnosti aplikace Access v kartě Aktuální databáze.

163 8 Moduly Moduly Visual Basic for Applications Moduly Procedury Deklarace Příklady použití VBA 8.1 Druhy modulů Pro řešení složitějších aplikací nabízí Access programovací jazyk Visual Basic for Applications (VBA). VBA je strukturovaný programovací jazyk pro tvorbu aplikací v prostředí všech programů kancelářského balíku Microsoft Office. VBA je zjednodušenou verzí samostatného programovacího jazyka Visual Basic. Text programu (kód) se ukládá v modulech. Moduly mohou být součástí formulářů či sestav (lokální moduly), mohou být uloženy také samostatně (globální moduly), aby byly využitelné ve více objektech (formulářích, sestavách, makrech, jiných modulech apod.). Zápis kódů v modulech je členěn do procedur. Existují dva druhy procedur: funkce (Function): Navrací výstupní hodnoty vypočítané na základě vstupních hodnot (argumentů). podprogramy (Sub): Provádí opakované činnosti na základě vstupních argumentů. Na rozdíl od funkcí nemohou být použity ve výrazech, protože nevrací výstupní hodnotu. V kódu je volání podprogramu zastoupeno samostatným příkazem. Kromě procedur obsahuje modul v úvodu deklarace. Deklarace obsahují nastavení platná pro modul a případně deklarace jednotlivých proměnných používaných v modulu. V proměnné je pod jejím názvem uložena hodnota, která se může měnit. Typ proměnné může být v modulu specifikován dvěma způsoby: deklarací proměnné V případě, že použijeme nedeklarovanou proměnnou, Access ohlásí chybu. Vyhneme se tak překlepům v názvech proměnných. Nutnost deklarovat proměnné zajistíme v úvodu modulu příkazem Option Explicit. prvním použitím proměnné Nemusíme deklarovat proměnné. V úvodu modulu neuvedeme příkaz Option Explicit. VBA se používá pro: Tvorbu uživatelských funkcí, které lze využívat ve všech objektech Accessu, tj. také v dotazech, formulářích a sestavách. V našem případě připravíme funkce: pro výpis celého jména z titulů, křestního jména a příjmení (viz kap. 8.2), pro konverzi textu s diakritikou na text bez háčků a čárek (viz kap. 8.3), pro kontrolu správnosti rodného čísla (viz kap. 8.4), pro kontrolu správnosti čísla účtu (viz kap. 8.5). Lepší ošetření možných chybových stavů a přesnější definování chybových zpráv. Programování složitějších postupů, které již nelze zapsat pomocí maker. V makrech není možné nebo velmi těžkopádné zejména provádění opakovaných činností: pro generování zkráceného účtu z příjmení a jména při editaci osob (viz kap. 8.6). Práci s jednotlivými větami. VBA umožňuje procházet jednotlivé věty a zpracovávat je či provádět operace s daty z různých vět. V našem případě vytvoříme podprogram: pro výpočet odstupu jednotlivých služebních cest stejného zaměstnance (viz kap. 8.7). Vytváření uživatelsky přívětivých aplikací, kde složitější postupy mohou být naprogramovány a realizovány kliknutím do tlačítka či jinou událostí, např. otevřením formuláře či sestavy. V našem případě vytvoříme globální podprogram: pro formátování čísla účtu dle výsledku kontroly jeho správnosti ve formuláři i v sestavě (viz kap. 8.8). 8.2 Funkce výpisu celého jména Připravme svou první proceduru. Access nabízí širokou nabídku vestavěných funkcí, kterou můžeme doplnit vlastními funkcemi. Připravíme funkci, jejímiž vstupními argumenty jsou titul před jménem, křestní jméno, příjmení a titul za jménem. Funkce bude vracet celé jméno včetně titulů: V kartě VYTVOŘENÍ ve skupině MAKRA A KÓD klikneme do tlačítka Modul.

164 8 Moduly 164 V novém okně se otevře samostatná aplikace Microsoft Visual Basic s ovládáním v angličtině. Aplikace VBA nevyužívá uživatelské rozhraní s pásem karet. Editor Visual Basicu se skládá z několika částí zobrazovaných v samostatných oknech 164 (viz obr. 8-1): OBR. 8-1: EDITOR VISUAL BASICU Prohlížeč projektu (Project): Ve stromové struktuře umožňuje vybrat lokální modul (např. z formuláře) či globální modul, který bude zobrazen v okně kódu. Zpočátku je zde vybrán nový (dosud nenazvaný) modul, který jsme založili. Okno vlastností (Properties): Jednotlivé objekty Visual Basicu mají své vlastnosti. Můžeme zde např. změnit název modulu. Okno kódu (Code): Zde budeme vytvářet funkce a podprogramy. Okamžité okno (Immediate): V okně můžeme zadat nebo vložit řádek kódu a odesláním klávesou Enter jej spustit. Okno místních položek (Locals): Zobrazí místní proměnné procedury a jejich vlastnosti, např. hodnoty polí zpracovávané věty či hodnoty uživatelsky vytvořených proměnných. Okno kukátek (Watches): Umožňuje průběžně zkoumat hodnoty vybraných proměnných. V úvodu okna kódu je příkaz Visual Basicu Option Compare, který upřesňuje způsob porovnávání řetězců. 165 V případě, že bychom chtěli vyžadovat deklarování proměnných před jejich použitím, dopsali bychom příkaz Option Explicit. 166 Doplníme další text kódu: Zadáme z menu VBA příkaz INSERT, PROCEDURE nebo klikneme do tlačítka Insert Procedure (vybereme z nabídky tří tlačítek, která se nabízí při kliknutí do šipky napravo od druhého tlačítka panelu nástrojů). 164 Zobrazování oken lze zadat příkazy: VIEW, PROJECT EXPLORER (prohlížeč projektu) Ctrl R, VIEW, PROPERTIES WINDOW (okno vlastností) F4, VIEW, CODE (okno kódu) F7, VIEW, IMMEDIATE WINDOW (okamžité okno) Ctrl G, VIEW, LOCALS WINDOW (okno místních položek), VIEW, WATCH WINDOW (okno kukátek). 165 Příkaz upřesňuje, kdy je jeden řetězec větší nebo roven jinému řetězci: Option Compare Text: při porovnání nejsou rozlišována velká a malá písmena, Option Compare Binary: při porovnání jsou rozlišována velká a malá písmena, Option Compare Database: metoda porovnávání je nastavena aktuální databází. 166 Příkazem z menu editoru VBA TOOLS, OPTIONS můžeme v kartě Editor zaškrtnutím pole Require Variable Declaration zajistit, aby VBA při vytvoření nového modul vložil také příkaz Option Explicit.

165 8 Moduly 165 V dialogovém okně Add Procedure (viz obr. 8-2) zadáme název funkce CeléJméno 167, v poli Type vybereme Function, zbývající pole ponecháme beze změny. OBR. 8-2: DIALOGOVÉ OKNO ADD PROCEDURE Editace funkce Přiřazovací příkaz Uložení modulu P81 Vlastní funkce Do okna modulu se přidaly dva příkazy: Public Function: Zahajuje definici funkce. Do závorek můžeme zadat argumenty funkce. End Function: Ukončení funkce. Do závorek prvního příkazu doplníme argumenty Titul_před, Jméno, Příjmení a Titul_za oddělené čárkami. Ve funkci musíme přiřadit proměnné s názvem funkce hodnotu. Do volného řádku mezi zahajovacím a ukončovacím příkazem zapíšeme jediný příkaz, kterým sloučíme textové řetězce: CeléJméno = Trim(Titul_před & " " & Jméno & " " & Příjmení & Titul_za) Přiřazení hodnoty jsme provedli příkazem, který proměnné přiřazuje hodnotu danou výrazem. Funkce Trim zajišťuje, aby se mezera mezi titulem a jménem nevypisovala, když není titul vyplněn. Při psaní funkce Trim si všimneme, že se pod kurzorem objeví nápověda syntaxe funkce Trim(String). Před a za operátorem & musíme zapsat mezeru. Příkazy procedury začínáme mezerou, abychom naznačili strukturu procedury. (Všechny příkazy mezi Public Function a End Function jsou odraženy mezerou od kraje.) Za deklarační příkaz doplníme komentář 'Pro řetězce se použije porovnávání nastavené v databázi. Komentáře se od příkazu oddělují apostrofem. Komentáře mohou tvořit samostatný řádek nebo mohou být uvedeny za příkazem na stejném řádku. Komentář dokumentuje proceduru. V kódu procedury můžeme zařadit pro přehlednost volné řádky. Visual Basic doplňuje do příkazů vhodně mezery, popř. odstraňuje zbytečné. Modře zvýrazňuje klíčová slova, zeleně zobrazuje komentáře. 168 Pro přehlednost Visual Basic zobrazuje před začátkem procedury vodorovnou čáru 169. Uložíme vytvořený modul (či všechny moduly) příkazem FILE, SAVE ENCIAN nebo klávesami Ctrl S nebo kliknutím do tlačítka Save. Zobrazí se dialogové okno pro zadání názvu modulu s připraveným názvem Module1. Název přepíšeme na P81 Vlastní funkce. 170 Při pozdějších úpravách se již nebude Access na název modulu ptát a bude přepisovat původní modul. Kombinací kláves levý Alt F11 se vrátíme do Accessu. Stejnou kombinací se později můžeme vrátit do okna Visual Basicu. Přepínat se mezi oknem Accessu a editorem Visual Basicu můžeme také pomocí tlačítek na liště Windows. 167 V ukázkové databázi Encian již je funkce přichystána, proto ji nazveme CeléJméno Zadáme-li z menu příkaz TOOL, OPTIONS, můžeme v kartě Editor Format upravit řadu parametrů zobrazování kódu procedur v modulech. 169 Příkazem z menu TOOLS, OPTIONS můžeme v kartě Editor zrušením zaškrtnutí pole Procedure Separator potlačit zobrazování čar před začátky procedur. 170 Modul P81 Vlastní funkce je v ukázkové databázi Encian připraven. Připravujte proto svůj modul 81 Vlastní funkce. Funkce se nesmí ve dvou modulech jmenovat stejně. Upravujte proto i názvy funkcí, např. CeléJméno2. Název funkce i procedury se nesmí shodovat s názvem modulu.

166 8 Moduly 166 P82 CeléJméno Moduly můžeme uložit kdykoliv při jejich tvorbě příkazem z menu FILE, SAVE nebo kombinací kláves Ctrl S nebo kliknutím do tlačítka Save. 171 Moduly na rozdíl od jiných objektů nemůžeme uložit pod jiným názvem. Můžeme je však přejmenovat stejným způsobem jako ostatní objekty. Ověříme fungování připravené funkce: Připravíme jednoduchý dotaz vycházející z tabulky Osoby. Vypíšeme příjmení, jméno a výraz: 172 Celé jméno: CeléJméno(Titul1; Jméno; Příjmení; Titul2) Ve Visual Basicu jsme argumenty funkce oddělovali čárkou, v aplikaci funkce v dotazu, formuláři či sestavě se argumenty oddělují středníkem stejně jako u předdefinovaných funkcí. Spuštěním dotazu ověříme fungování funkce. Dotaz uložíme pod názvem P82 CeléJméno. Obdobně lze funkci použít ve formulářích a sestavách. 8.3 Funkce konverze textu do textu bez háčků a čárek Dále připravíme funkci, která zbaví řetězec háčků a čárek a první písmeno povýší na velké 173 : V navigačním podokně dvojitě klikneme na modul P81 Vlastní funkce. 174 Kliknutím do tlačítka Insert Procedure vložíme další funkci tentokrát s názvem BezDiakritiky 175. Názvy funkcí nesmí obsahovat mezery. Funkce má jediný argument Vstup. Výsledný tvar modulu je uveden v obr OBR. 8-3: MODUL P81 VLASTNÍ FUNKCE Funkce CeléJméno Funkce BezDiakritiky Option Compare Database 'Pro řetězce se použije porovnávání nastavené v databázi 'Výpis celého jména Public Function CeléJméno(Titul_před, Jméno, Příjmení, Titul_za) CeléJméno = Trim(Trim([Titul_před] & " " & [Jméno]) & " " & [Příjmení]) & [Titul_za] End Function 'Konverze textu do textu bez háčků a čárek Public Function BezDiakritiky(SDiakritikou) Písmena1 = "áčďéěíĺľňóřšťúůýžäëöü" '21 písmen Písmena2 = "acdeeillnorstuuyzaeou" BezDiakritiky = SDiakritikou For J = 1 To Len(BezDiakritiky) For K = 1 To Len(Písmena1) If Mid(BezDiakritiky, J, 1) = Mid(Písmena1, K, 1) Then P = Mid(Písmena2, K, 1) If J = 1 Then P = UCase(P) BezDiakritiky = Left(BezDiakritiky, J - 1) & P & Right(BezDiakritiky, Len(BezDiakritiky) - J) End If Next K Next J End Function 171 Aby se nově editovaná verze procedur promítla do práce Accessu, nemusíme moduly ukládat. Uložení je však nutné před použitím tvůrců a před ukončení práce s databází, neboť moduly se ukládají do souboru databáze. 172 Funkci ve výrazu můžeme připravit Tvůrcem výrazů. V levém dolní části okna dvojitě klikneme na řádek Funkce a v rámci funkcí klikneme na řádek Encian. V prostřední části okna se zobrazí seznam modulů obsahujících funkce. Klikneme na název modulu P81 Vlastní funkce. V pravé části okna se zobrazí seznam funkcí modulu, tj. zatím pouze funkce CeléJméno. Dvojitým kliknutím na funkci vložíme do výrazu včetně seznamu argumentů. 173 K nahrazení znaků s diakritikou za znaky bez diakritiky lze použít funkci Replace. Popsaný postup na rozdíl od využití funkce umožňuje výklad důležitých příkazů programovacího jazyka. 174 Modul můžeme v rámci zobrazení kategorie Struktura publikace tažením přesunout ze skupiny Nepřiřazené objekty do skupiny 8 Moduly. 175 V ukázkové databázi Encian již je funkce přichystána, proto ji nazveme BezDiakritiky2.

167 8 Moduly 167 Nejprve si vyložme způsob odstranění háčků a čárek: Vstupní argument funkce je nazván SDiakritikou. V pomocné proměnné Písmena1 připravíme formou řetězce všechna písmena s háčky, čárkami a dalšími diakritickými znaménky (kroužek, přehláska). 176 Písmeno ĺ se zapisuje jako l s čárkou, ľ se zapisuje jako písmeno l s háčkem, která se vyskytují v českém a slovenském textu. 177 Abychom nemuseli přepínat jazyk klávesnice, je vhodné užívat kombinace pravé klávesy Alt, popř. kombinace Ctrl a levé klávesy Alt, a dalších kláves pro psaní některých znaků: 1/~, q/\, f/[, g/], :/$, x/#, c/&, v/@, b/{, n/}, </<, >/>,?/* (viz obr. 8-4). OBR. 8-4: VKLÁDÁNÍ SPECIÁLNÍCH ZNAKŮ zdroj obrázku: For Next V pomocné proměnné Písmena2 budou stejná písmena ve stejném pořadí bez znamének. Do proměnné BezDiakritiky zkopírujeme hodnotu proměnné SDiakritikou. Po jednotlivých znacích procházíme proměnnou BezDiakritiky. Každý jednotlivý znak hledáme v proměnné Písmena1. Když se shoduje znak z proměnné BezDiakritiky se znakem v proměnné Písmena1, nahradíme znak z proměnné BezDiakritiky znakem z proměnné Písmena2 ze stejné pozice, na níž jsme jej našli v proměnné Písmena1. Před začátek procedury doplníme komentář s popisem funkce. Obdobně doplníme komentář pro funkci CeléJméno. V proceduře jsou použity některé funkce Accessu: Len(proměnná): vrací délku textového řetězce. Mid(proměnná;začátek;délka): vrací část řetězce od zadané pozice o zadaném počtu znaků. UCase(proměnná): vrací proměnnou po transformaci jejich písmen na velká. Left(proměnná;délka): vrací levou část řetězce o zadaném počtu znaků. Right(proměnná;délka): vrací pravou část řetězce o zadaném počtu znaků. V proceduře jsou použity dva příkazy pro řízení běhu programu. Příkaz For je příkazem cyklu 178, umožňuje opakovat skupinu příkazů. Cyklus For je cyklus s čítačem. Začíná klíčovým slovem For a provádí pro stanovený počet opakování skupinu příkazů ukončených klíčovým slovem Next. Počet provedených opakování je zaznamenáván v čítači. Obecný zápis příkazu (syntaxe) 179 : For čítač = začátek To konec [Step krok] [příkazy] [Exit For] [příkazy] Next [čítač] 176 Od diakritických znamének je třeba odlišovat interpunkční znaménka, která signalizují vztahy mezi větami v souvětí nebo mezi částmi věty a modální postoj mluvčího. 177 Abychom nemuseli přepínat jazyk klávesnice, je vhodné užívat kombinace pravé klávesy Alt, popř. kombinace Ctrl a levé klávesy Alt, a dalších kláves pro psaní některých znaků: 1/~, q/\, f/[, g/], :/$, x/#, c/&, v/@, b/{, n/}, </<, >/>,?/*. 178 Příkaz cyklu obsahuje několik dílčích příkazů řádků. 179 V syntaxi budeme klíčová slova zvýrazňovat tučným písmem, proměnné části kurzívou. Nepovinné části budou uvedeny v hranatých závorkách.

168 8 Moduly 168 If Then Else P83 BezDiakritiky Duv Za klíčovým slovem Step můžeme uvést krok zvyšování čítače. Neuvedeme-li krok, bude roven jedné. Příkaz Exit For umožňuje předčasně ukončit cyklus, i když nebyla dosažena koncová hodnota čítače. Použití proměnné čítač v příkazu Next není povinné, pouze může zpřehlednit program, zejména v případě vnořených cyklů. Podmíněný příkaz If umožňuje provést některý příkaz (popř. skupiny příkazů) jen při splnění (popř. nesplnění) podmínky. Syntaxe: jednořádková verze 180 : If podmínka Then [příkaz] [Else příkaz] víceřádková verze: If podmínka Then [příkazy] [ElseIf podmínka Then [elseifpříkazy]] [Else [elsepříkazy]] End If Část ElseIf se používá zřídka, umožňuje zadat alternativní příkazy. Ověříme fungování připravené funkce: Připravíme jednoduchý dotaz vycházející z tabulky Osoby. Vypíšeme pole Příjmení, Jméno, Osoba a výraz: Osoba2: BezDiakritiky([Příjmení]) & "." & BezDiakritiky([Jméno]) Spuštěním dotazu ověříme fungování funkce. Dotaz uložíme pod názvem P83 BezDiakritiky. Funkcí jsme schopni automaticky vytvořit pole Osoba v tabulce Osoby. Funkci použijeme ve formuláři s lokální procedurou výpočtu ve větě (viz kap. 8.6). 8.4 Funkce kontroly rodného čísla V databázi Důvěrné (DUV), kterou jsme vytvořili v kap. 3.2, doplníme do tabulky Děti další pole Rč s rodným číslem (pole typu Číslo s velikostí pole dvojitá přesnost 181 ) a zapíšeme hodnoty: Erika: , Lukáš: Rodné číslo je správné, když je dělitelné Do modulu Vlastní funkce připravíme funkci KontrolaRč (viz obr. 8-5): OBR. 8-5: FUNKCE KONTROLARČ V DATABÁZI DUV Funkce KontrolaRč P84 KontrolaRč Option Compare Database 'Kontrola rodného čísla na dělitelnost 11 Public Function KontrolaRč(Rč) KontrolaRč = IIf(Rč = Int(Rč / 11) * 11, "ano", "ne") End Function Funkce má jediný vstupní argument Rč. Funkce Int vypočte celou část z jedné jedenáctiny Rč. Pokud je rodné číslo dělitelné jedenácti, potom je rovno celé části jeho jedenáctiny vynásobené jedenácti. Ověříme fungování připravené funkce: Připravíme jednoduchý dotaz vycházející z tabulky Děti. Vypíšeme pole Jméno, Rč a výraz Kontrola: KontrolaRč([Rč]) 180 Na jeden řádek můžeme napsat více příkazů oddělených dvojtečkou. 181 Pole Rč by v databázi mělo být typu krátký text, aby bylo možné vkládat i rodná čísla začínající 0. Typ číslo použijeme pro zjednodušení v uvedeném příkladu. 182 Platí pro rodná čísla přidělovaná po Dřívější rodná čísla nemají doplněnu poslední kontrolní číslici.

169 8 Moduly 169 Spuštěním dotazu ověříme fungování funkce. Výsledkem je dynamická sada, můžeme proto vyzkoušet zadání špatného rodného čísla např. zvýšením hodnoty o 1. Dotaz uložíme pod názvem P84 KontrolaRč. 8.5 Funkce kontroly čísla účtu V databázi Encian chceme provést kontrolu čísel účtů odběratelů. Pravidla pro kontrolu čísla bankovního účtu: První a druhá část čísla účtu jsou zajištěny algoritmem modulo 11. Váhy jednotlivých číslic účtu jsou (v případě kratšího čísla zprava): pro první část čísla účtu (předčíslí účtu): 10, 5, 8, 4, 2, 1, pro druhou část čísla účtu (číslo účtu): 6, 3, 7, 9, 10, 5, 8, 4, 2, 1. Kontrola platnosti první a druhé části čísla účtu se provede tak, že jednotlivé číslice se vynásobí příslušnou váhou, výsledky násobení se sečtou a vydělí 11. Zbytek po dělení musí být roven 0. Příklad kontroly: /0100 první část: 2*2+7*1=11, 11*1=11 druhá část: 4*6+6*3+0*7+3*9+6*10+6*5+0*8+2*4+1*2+7*1= =176, 11*16 = 176 Všichni odběratelé mají účet bez předčíslí. Vytvoříme tedy funkci pro kontrolu druhé části čísla účtu (viz obr. 8-6): OBR. 8-6: FUNKCE KONTROLAÚČTU V DATABÁZI ENCIAN Funkce KontrolaÚčtu P85 KontrolaÚčtu Public Function KontrolaÚčtu(Účet) 'Výpočet váženého součtu číslic účtu a dělitelnosti jedenácti Součet = 0 Součet = Součet + Val(Mid(Účet, 10, 1)) * 1 Součet = Součet + Val(Mid(Účet, 9, 1)) * 2 Součet = Součet + Val(Mid(Účet, 8, 1)) * 4 Součet = Součet + Val(Mid(Účet, 7, 1)) * 8 Součet = Součet + Val(Mid(Účet, 6, 1)) * 5 Součet = Součet + Val(Mid(Účet, 5, 1)) * 10 Součet = Součet + Val(Mid(Účet, 4, 1)) * 9 Součet = Součet + Val(Mid(Účet, 3, 1)) * 7 Součet = Součet + Val(Mid(Účet, 2, 1)) * 3 Součet = Součet + Val(Mid(Účet, 1, 1)) * 6 KontrolaÚčtu = IIf(Součet = Int(Součet / 11) * 11, "ano", "ne") End Function Funkce má jediný vstupní argument Učet. Funkce Mid vybírá část textu. Funkce Val převede text na číslo. Číslo účtu bude vždy deseticiferné bez předčíslí. Ověříme fungování připravené funkce: Připravíme jednoduchý dotaz vycházející z tabulky Podniky. Vypíšeme pole Název_podniku, Bankovní_účet a výraz Kontrola: KontrolaÚčtu([Bankovní_účet]) Spuštěním dotazu ověříme fungování funkce. Výsledkem je dynamická sada, můžeme proto vyzkoušet zadání špatného čísla účtu např. zvýšením hodnoty o 1. Dotaz uložíme pod názvem P85 KontrolaÚčtu.

170 8 Moduly 170 Banka V databázi Banka bude kontrola komplikovanější. Pole Účet je někdy prázdné, někdy v něm není uvedeno číslo účtu. Čísla účtu obsahují vždy pomlčku, v případě nepoužití předčíslí je místo něj před pomlčkou uvedena nula. V databázi Banka připravíme v modulu R85 Funkce několik funkcí (viz obr. 8-7). OBR. 8-7: FUNKCE V DATABÁZI BANKA Funkce KontrolaPole Funkce Kontrola Předčíslí Funkce Kontrola HlavnihoCisla Funkce KontrolaÚčtu Public Function KontrolaPole(Pole) 'Kontrola, zda se jedná o číslo účtu (zda je vyplněno a zda obsahuje pomlčku) KontrolaPole = "je účet" If InStr(Pole, "-") & "x" = "x" Or InStr(Pole, "-") = 0 Then KontrolaPole = "není účet" End If End Function Public Function KontrolaPředčíslí(Pole) 'Kontrola předčísla čísla účtu, tj. části před pomlčkou If KontrolaPole(Pole) = "je účet" Then Předčíslí = Left(Pole, InStr(Pole, "-") - 1) KontrolaPředčíslí = KontrolaÚčtu(Předčíslí) End If End Function Public Function KontrolaHlavníhoČísla(Pole) 'Kontrola hlavního čísla účtu, tj. části po pomlčce If KontrolaPole(Pole) = "je účet" Then HlavniCislo = Mid(Pole, InStr(Pole, "-") + 1, Len(Pole) - InStr(Pole, "-") - 5) KontrolaHlavníhoČísla = KontrolaÚčtu(HlavniCislo) End If End Function Public Function KontrolaÚčtu(Účet) 'Výpočet váženého součtu číslic účtu a dělitelnosti jedenácti Součet = 0 If Len(Účet) >= 10 Then Součet = Součet + Val(Mid(Účet, Len(Účet) - 9, 1)) * 6 If Len(Účet) >= 9 Then Součet = Součet + Val(Mid(Účet, Len(Účet) - 8, 1)) * 3 If Len(Účet) >= 8 Then Součet = Součet + Val(Mid(Účet, Len(Účet) - 7, 1)) * 7 If Len(Účet) >= 7 Then Součet = Součet + Val(Mid(Účet, Len(Účet) - 6, 1)) * 9 If Len(Účet) >= 6 Then Součet = Součet + Val(Mid(Účet, Len(Účet) - 5, 1)) * 10 If Len(Účet) >= 5 Then Součet = Součet + Val(Mid(Účet, Len(Účet) - 4, 1)) * 5 If Len(Účet) >= 4 Then Součet = Součet + Val(Mid(Účet, Len(Účet) - 3, 1)) * 8 If Len(Účet) >= 3 Then Součet = Součet + Val(Mid(Účet, Len(Účet) - 2, 1)) * 4 If Len(Účet) >= 2 Then Součet = Součet + Val(Mid(Účet, Len(Účet) - 1, 1)) * 2 If Len(Účet) >= 1 Then Součet = Součet + Val(Mid(Účet, Len(Účet), 1)) * 1 KontrolaÚčtu = IIf(Součet = Int(Součet / 11) * 11, "ano", "ne") End Function V první funkci KontrolaPole kontrolujeme, zda vstupní hodnota je číslem účtu: V případě, že pole je prázdné (výsledkem funkce InStr je prázdný řetězec 183 ) nebo neobsahuje pomlčku (výsledkem funkce InStr je nula), uložíme do výsledku funkce text není účet. Jinak ve výsledku funkce ponecháme prvotně vloženou hodnotu je účet. V případě, že se jedná o číslo účtu, druhá funkce KontrolaPředčíslí provede kontrolu části čísla před pomlčkou, tj. předčíslí pomocí racionalizované funkce KontrolaÚčtu. Výsledkem je: prázdná hodnota (nejednalo se o číslo účtu) nebo ano (správné předčíslí) nebo 183 Testování na rovnost řetězci Null nelze použít, proto formálně k výsledku funkce InStr přičteme textově x a porovnáme s řetězcem x.

171 8 Moduly 171 R85 KontrolaPole P86 Aktualizace Osoba ne (špatné předčíslí). V případě, že se jedná o číslo účtu, třetí funkce KontrolaHlavníhoČísla provede kontrolu části čísla po pomlčce, tj. hlavního čísla pomocí racionalizované funkce KontrolaÚčtu. Výsledkem je prázdná hodnota, ano nebo ne. Racionalizovaná funkce KontrolaÚčtu umí kontrolovat i čísla s menší délkou než 10 znaků. Podle délky čísla kontrolovaného účtu, jsou kontrolovány číslice s příslušnými vahami, např. při předčíslí 27 proběhne přičítání jen v posledních dvou podmíněných příkazech, tj. 2*2 + 7*1 = = 11. Ověříme fungování připravených funkcí: Připravíme jednoduchý dotaz vycházející z tabulky Pohyby. Vypíšeme pole Účet a výrazy: Kontrola pole: KontrolaPole([Účet]) Kontrola předčíslí: KontrolaPředčíslí([Účet]) Kontrola hlavního čísla: KontrolaHlavníhoČísla([Účet]) Spuštěním dotazu ověříme fungování funkce. Výsledkem je dynamická sada, můžeme proto vyzkoušet zadání špatného předčíslí či hlavního čísla účtu např. snížením hodnoty o 1. Dotaz uložíme pod názvem R85 KontrolaPole. 8.6 Lokální podprogram výpočtu ve větě Funkci BezDiakritiky budeme aplikovat na tabulku Osoby. Pole Osoba je zde dáno příjmením bez háčků a čárek odděleným tečkou od křestního jména bez háčků a čárek. Abychom odstranili případné překlepy v poli Osoba, vytvoříme obsah pole Osoba znovu aktualizačním dotazem (viz obr. 8-8). Dotaz bude čerpat z tabulky Osoby, pomocí výrazu s využitím dříve připravené funkce sestavíme obsah pole Osoba. 184 OBR. 8-8: DOTAZ P86 AKTUALIZACE OSOBA P86 Osoby Identifikace Chceme uživateli usnadnit vkládání nových zaměstnanců, při němž musí vložit pole Osoba, neboť je primárním klíčem. Do formuláře P52 Osoby Identifikace chceme vložit tlačítko, které v aktuální větě sestaví pole Osoba z polí Příjmení a Jméno. Nejprve vytvoříme kopii formuláře P52 Osoby Identifikace pod názvem P86 Osoby Identifikace. Otevřeme návrh formuláře a připravíme nové tlačítko: Zkontrolujeme, zda není aktivováno použití průvodce ovládacích prvků. V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY nesmí být zatlačeno tlačítko Použít průvodce ovládacích prvků. Ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Tlačítko. Tlačítko umístíme do formuláře dle obr OBR. 8-9: TLAČÍTKO TVORBA VE FORMULÁŘI P86 OSOBY IDENTIFIKACE Vlastnosti Název a Titulek tlačítka změníme na Tvorba. Tlačítko s textem by muselo být vyšší a širší, aby byl text dobře vidět. Raději zobrazíme na tlačítku obrázek. Klikneme do tlačítka se třemi tečkami na konci řádku formátové vlastnosti Obrázek. Zobrazí se dialogové okno Tvůrce obrázku (viz obr. 8-10). 184 Aktualizaci pole, které je součástí referenční integrity, si můžeme dovolit jen díky aktivní vlastnosti Aktualizace souvisejících polí v kaskádě relací Osoby Faktury a Osoby Výjezdy.

172 8 Moduly 172 OBR. 8-10: DIALOGOVÉ OKNO TVŮRCE OBRÁZKU Tlačítko s obrázkem Výpočet ve větě V okně vybereme z řady dostupných obrázků Tvůrce. V levé části vidíme náhled vybraného obrázku. Tlačítkem Procházet bychom mohli vybrat i námi připravený obrázek typu rastr (bmp) či ikony (ico). Kliknutím do tlačítka OK se obrázek přiřadí tlačítku. Chceme, aby se při kliknutí na tlačítko provedl programový kód sestavující z polí Příjmení a Jméno pole Osoba: V řádku událostní vlastnosti Při kliknutí tlačítka Tvorba klikneme do tlačítka Tvůrce se třemi tečkami. V dialogovém okně Zvolit tvůrce zvolíme Tvůrce kódu. Otevře se editor Visual Basicu. V projektu (okno vlevo nahoře) přibyl modul ve skupině Microsoft Access Class Objects s názvem podle názvu formuláře. V modulu se založila nová procedura (přesněji podprogram) s názvem Tvorba_Click(). Název procedury obsahuje název objektu (Tvorba) a událost objektu, při níž se procedura provádí (při kliknutí Click). 185 Mezi příkazy začátku a konce procedury dopíšeme jediný příkaz, kterým do pole Osoba vložíme spojení textových polí Příjmení a Jméno bez diakritiky oddělených tečkou (obr. 8-11). OBR. 8-11: PROCEDURA TVORBA_CLICK Podprogram Tvorba_Click Option Compare Database 'Pro řetězce se použije porovnávání nastavené v databázi Private Sub Tvorba_Click() Osoba = BezDiakritiky(Příjmení) & "." & BezDiakritiky(Jméno) End Sub Všimněme si, že procedura nemá žádný vstupní argument. Kombinací Alt F11 se vrátíme do Accessu a vyzkoušíme funkci tlačítka. Ve formulářovém zobrazení změníme křestní jméno prvního zaměstnance z Miloš na František a klikneme do tlačítka Tvorba. se upravil. Chceme, aby se pole Osoba upravilo vždy, když upravíme pole Jméno nebo Příjmení a přejdeme na jiné pole (klávesou Enter, tabulátorem nebo kliknutím myši). Do událostní vlastnosti Při výstupu (Exit) polí Jméno i Příjmení vložíme kód shodný s předchozí procedurou (viz obr. 8-12). OBR. 8-12: PROCEDURY JMÉNO_EXIT A PŘÍJMENÍ_EXIT Podprogram Jméno_Exit Podprogram Příjmení_Exit Private Sub Jméno_Exit(Cancel As Integer) Osoba = BezDiakritiky(Příjmení) & "." & BezDiakritiky(Jméno) End Sub Private Sub Příjmení_Exit(Cancel As Integer) Osoba = BezDiakritiky(Příjmení) & "." & BezDiakritiky(Jméno) End Sub 185 Když změníme název tlačítka, nezmění se bohužel automaticky název procedury.

173 8 Moduly 173 Aby stejný kód nebyl obsažen ve třech procedurách (např. pro pohodlnější pozdější úpravu kódu), připravíme společný podprogram: Zůstaneme stále v modulu Form_P86 Osoby Identifikace. Klikneme do tlačítka Insert Procedure a vytvoříme podprogram (Sub) s názvem TvorbaOsoba s jediným příkazem dle předchozích procedur. V předchozích procedurách potom upravíme jediný příkaz, který nahradíme voláním společné procedury (viz obr. 8-13). OBR. 8-13: ZAVEDENÍ SPOLEČNÉ PROCEDURY Option Compare Database Private Sub Jméno_Exit(Cancel As Integer) TvorbaOsoba End Sub Private Sub Příjmení_Exit(Cancel As Integer) TvorbaOsoba End Sub Private Sub Tvorba_Click (Cancel As Integer) TvorbaOsoba End Sub Public Sub TvorbaOsoba() Osoba = BezDiakritiky(Příjmení) & "." & BezDiakritiky(Jméno) End Sub Kombinací Alt F11 se vrátíme do Accessu a vyzkoušíme podprogramy. Ve formulářovém zobrazení změníme křestní jméno prvního zaměstnance z František na Miloš a klávesou tabulátoru přejdeme na příjmení. Hodnota pole Osoba se upravila. Accessem vkládané událostní procedury jsou seřazeny dle abecedy. V okně kódu jsou zobrazeny všechny procedury. Kliknutím do tlačítka Procedure View v levém dolním rohu okna kódu můžeme zobrazit jen proceduru, v níž byl kurzor. Mezi procedurami se potom můžeme pohybovat klávesami Ctrl PageDown a Ctrl PageUp nebo výběrem objektu (názvu pole) v horní levé nabídce. Tlačítkem Full Module View zobrazíme opět celý modul se všemi procedurami. Na příkladu jednoduchého podprogramu TvorbaOsoba budeme demonstrovat nástroje pro ladění průběhu procedur: Nejprve rozdělíme jediný příkaz podprogramu na dva dle obr OBR. 8-14: LADÍCÍ OKNA VBA Změnu proměnné P chceme sledovat v kukátku: V kódu procedury označíme název proměnné P. Zadáme příkaz DEBUG, ADD WATCH.

174 8 Moduly 174 V spodní části dialogového okna Add Watch vybereme Break When Value Changes (zastavit běh aplikace, když se hodnota proměnné změní viz obr. 8-15). OBR. 8-15: DIALOGOVÉ OKNO ADD WATCH Obdobně přidáme do kukátek proměnnou Osoba, pro níž ponecháme ve spodní části dialogového okna Add Watch vybránu možnost Watch Expression. Po změně jména či příjmení se spustí podprogram TvorbaOsoba. Podprogram se zastaví po provedení prvního řádku, tj. naplnění proměnné P 186 (viz obr. 8-14): Další řádek je vyznačen žlutým pozadím a žlutou šipkou na začátku řádku. V okně Watches je seznam proměnných a jejich hodnot, např. v obr je stav, kdy měníme hodnotu pole Osoba v první větě z Adamec.Milos na Adamec.Frantisek. Všechny lokální proměnné jsou vypsány v okně Locals včetně vlastností objektů formuláře (objekt Me lze kliknutím do tlačítka na začátku jeho řádku rozbalit). V okně Immediate bychom mohli napsat přímý příkaz VBA, který by se realizoval, např. bychom mohli do proměnné P uložit hodnotu Adamec.Ales a ručně tak nastavit hodnotu ukládanou do pole Osoba. Další pokračování běhu aplikace VBA spustíme příkazem RUN, CONTINUE nebo kliknutím do tlačítka Continue nebo stisknutím klávesy F5. Po skončení běhu aplikace zobrazíme okno Aplikace Access kombinací kláves Alt F11. Okamžité ukončení běhu aplikace VBA můžeme kdykoliv provést příkazem RUN, RESET nebo kliknutím do tlačítka Reset (Nulování). V okně Watches klikneme pravým tlačítkem myši na proměnnou P a volbou DELETE WATCH ji odstraníme z okna. P87 Dotaz Kontrola cest Kontrola_cest 8.7 Lokální podprogram výpočtu mezi větami Chceme nyní provést kontrolu vykazování služebních cest. Prověříme, zda se u jednotlivých zaměstnanců nepřekrývaly vykázané služební cesty, tj. když seřadíme služební cesty podle pracovníků a podle zahájení, služební cesta nesmí začínat dříve, než skončila předchozí cesta stejného pracovníka. Vytvářecím dotazem nejprve připravíme pomocnou tabulku, v níž budou služební cesty seřazeny podle zaměstnanců a podle doby zahájení a v níž bude doplněno nové pole Odstup zatím vyplněné nulami. Vytvářecí dotaz (viz obr. 8-16) bude vycházet z tabulky Cesty, z níž převezme všechna pole, a z tabulky Výjezdy, z níž převezme pole Osoba. Navíc doplní pole Odstup. Dotaz vytvoří tabulku Kontrola_cest. Dotaz nazveme P87 Dotaz Kontrola cest. 186 Zastavení nastane jen po změně proměnné, nikoliv naplnění pole věty, proto jsme hodnotu vkládali nejprve do proměnné E.

175 8 Moduly 175 OBR. 8-16: DOTAZ P87 DOTAZ KONTROLA CEST Cesty Výjezdy (30 vět) P87 Formulář Kontrola cest Data z tabulky Kontrola_cest zobrazíme ve formuláři. Věta tabulky není složitá, vejde se na jeden řádek: Spustíme dotaz P87 Kontrola cest, který vytvoří tabulku Kontrola_cest. V navigačním podokně označíme tabulku Kontrola_cest. V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Další formuláře a vybereme volbu Více položek. Snížíme výšku řádku věty (0,55 cm) a zúžíme dle obsahu šířku jednotlivých sloupců (Osoba: 3 cm, Rok: 1,2 cm, Cesta: 1,2 cm, Zahájení: 2,2 cm, Dokončení: 2,2 cm, Místo: 3,4, Odstup: 1,4 cm). Ve sloupci Odstup nastavíme podmíněným formátováním zobrazování záporných hodnot červeně: V kartě FORMÁT ve skupině FORMÁTOVÁNÍ OVLÁDACÍHO PRVKU klikneme do tlačítka Podmíněné formátování. V dialogovém okně Správce pravidel podmíněného formátování klikneme do tlačítka Nové pravidlo. Nastavíme pravidlo hodnota pole je menší než 0, ve formátu zadáme červenou barvu písma. Pro všechna pole v podrobnostech odstraníme výplň: Kliknutím ve svislém pravítku označíme všechna pole podrobností. V kartě USPOŘÁDÁNÍ ve skupině VÝPLŇ OVLÁDACÍHO PRVKU klikneme do tlačítka Výplň ovládacího prvku a vybereme volbu Žádná. Minimalizujeme výšku podrobností. Název formuláře Kontrola_cest přizpůsobíme obsahu. Označíme název. V kartě USPOŘÁDÁNÍ ve skupině NASTAVENÍ VELIKOSTI A POŘADÍ klikneme do tlačítka Velikost a mezery a vybereme volbu Přizpůsobit obsahu. Zúžíme formulář na 16 cm. Formulář uložíme pod názvem P87 Formulář Kontrola cest. Do zápatí formuláře umístíme příkazová tlačítka s názvy i titulky Nulování, Kontrola1, Kontrola2, Kontrola3, Kontrola4, Kontrola5a, Kontrola 5b viz obr OBR. 8-17: FORMULÁŘ P87 FORMULÁŘ KONTROLA CEST Připravíme jednoduchý formulář P87 Formulář Menu (viz obr. 8-18) s odkazy na tabulku Kontrola cest, vytvářecí dotaz P87 Dotaz Kontrola cest a formulář P87 Formulář Kontrola cest: V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Návrh formuláře.

176 8 Moduly 176 OBR. 8-18: FORMULÁŘ P87 FORMULÁŘ MENU V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Hypertextový odkaz nebo stiskneme kombinaci kláves Ctrl K. V dialogovém okně Vložit hypertextový odkaz v kartě Objekt v této databázi vybereme jednotlivý objekt. Ve formuláři potlačíme zobrazení navigace. Nastavíme na hodnotu ne formátové vlastnosti formuláře: Volič záznamů, Navigační tlačítka. Odkazy posuneme na pozici 0,2;0,2. Zobrazíme formulář P87 Formulář Kontrola cest. Vlastnosti Při kliknutí tlačítka Kontrola1 přiřadíme programový kód. V proceduře budeme postupně procházet věty tabulky Kontrola_cest a do pole Odstup budeme počítat rozdíl hodnoty pole Zahájení a hodnoty pole Dokončení zapamatované z předchozí věty (v proměnné KonecPředchozí, viz obr. 8-19). OBR. 8-19: PROCEDURA KONTROLA1_CLICK Podprogram Kontrola1 _Click Objekty, metody, vlastnosti Objektová funkce CurrentDb Option Compare Database Private Sub Kontrola1_Click() Set Kontrola = CurrentDb.OpenRecordset("Kontrola_cest") KonecPředchozí = 0 Do Until Kontrola.EOF Kontrola.Edit Kontrola!Odstup = Kontrola!Zahájení - KonecPředchozí KonecPředchozí = Kontrola!Dokončení Kontrola.Update Kontrola.MoveNext Loop MsgBox "Hotovo!" End Sub Access obsahuje řadu objektů. Objektem je např. formulář, který obsahuje objekty ovládacích prvků. 187 Některé objekty mají svou vizuální reprezentaci (např. formulář), jiné jsou přístupné jen v kódu Visual Basicu. Objekty mají vlastnosti, které popisují objekt, např. formulář má vlastnost Výchozí zobrazení, v níž můžeme zadat Nekonečné formuláře. Metody jsou akce, které můžeme zadat objektu k provedení. Poznali jsme již funkce, jejichž výsledkem byla hodnota (celé jméno či vstup bez háčků a čárek). Kromě těchto obvyklých funkcí existují objektové funkce, jejichž výsledkem je objekt. Objekt můžeme také přiřadit proměnné, musíme tak však učinit příkazem Set. Přiřazením objektu proměnné můžeme zpřehlednit programový kód. V dalším kódu se budeme odkazovat na objekt názvem proměnné. Objektová funkce CurrentDb vrací objektovou proměnnou typu Database, která představuje aktuálně otevřenou databázi v okně programu Microsoft Access. Když zapíšeme název funkce do kódu a tečku, Access nám nabízí vlastnosti (např. Name) a metody (např. OpenRecordset), které přísluší k objektu. Vlastnosti a metody jsou odlišeny ikonkami Mnoho objektů má kolekce, které definují nastavení několika objektů v daném objektu, např. objekt formuláře má kolekci Controls, která nastavuje všechny objekty definované ve formuláři. 188 Access pomáhá i s laděním programů. Po odeslání špatně zapsaného příkazu je takový příkaz zobrazen červeně.

177 8 Moduly 177 Do Loop Vybereme (vyhledáním v seznamu a dvojitým kliknutím myší či stisknutím klávesy Tab) metodu OpenRecordset, která vytvoří nový objekt Recordset sadu záznamů z tabulky Kontrola_cest do proměnné Kontrola. 189 Nyní se můžeme na objekt datové sady odkazovat názvem Kontrola. S objektem provádíme akce metody (Edit, Update, MoveNext) a využíváme jeho vlastnosti (EOF). Před zpracováním jednotlivých vět datové sady (tabulky) Kontrola_cest uložíme do pomocné proměnné KonecPředchozí hodnotu 0, kterou využijeme při zpracování první věty datové sady. Proměnná bude vždy obsahovat konec předchozí služební cesty, abychom jej mohli porovnávat se začátkem následující cesty. Zpočátku bude proměnná vynulována, teprve po zpracování první věty jí přiřadíme dokončení první cesty. Ve funkci BezDiakritiky jsme se seznámili s cyklem For Next s počítadlem. Zde použijeme příkaz cyklu Do Loop. Provádí příkazy, které jsou zapsány mezi řádky Do a Loop, dokud není splněna podmínka zapsaná v řádku Do nebo v řádku Loop. Syntaxe: 190 verze s podmínkou na začátku: Do [{While Until}podmínka] [příkazy] [Exit Do] [příkazy] Loop verze s podmínkou na konci: Do [příkazy] [Exit Do] [příkazy] Loop [{While Until}podmínka] Operace provedené pro větu z datové sady: Metoda Edit zkopíruje aktuální záznam z aktualizovatelného objektu Recordset do vyrovnávací paměti pro další úpravu. Tuto metodu je nutné provést vždy před programovou aktualizací jednotlivé věty datové sady. Do pole Odstup spočteme rozdíl zahájení cesty a dokončení předchozí cesty (v proměnné KonecPředchozí). Při zpracování první věty bude výsledkem sériové číslo data zahájení cesty (pořadí od roku 1900), neboť v proměnné KonecPředchozí byla uložena nula. Pro zpracování další věty si do proměnné KonecPředchozí uložíme dokončení zpracovávané služební cesty. Metoda Update uloží obsah vyrovnávací paměti do aktualizovatelného objektu Recordset a ukončí tak aktualizaci věty datové sady. Metoda MoveNext posune ukazovátko zpracování na další větu datové sady. Řádek Loop vrátí program na předchozí řádek Do. Vlastnost datové sady EOF (end of file) má hodnotu False (nepravda), dokud jsme nevyčerpali všechny věty datové sady. Až je ukazovátko datové sady za poslední větou, vrací funkce EOF hodnotu True (pravda) a program pokračuje příkazy za řádkem Loop. 191 Po zpracování všech vět zobrazíme hlášení Hotovo! v okně s titulkem Microsoft Access. 192 Po zapsání programového kódu se vrátíme do Accessu, kde po vytvoření tabulky Kontrola_cest zobrazíme formulář a kliknutím do tlačítka Kontrola1 otestujeme náš programový kód. Po skončení připravené procedury se objeví hlášení Hotovo!, pole Odstup však je pro všechna pole formuláře nulové. Jakmile klikneme do jednotlivých hodnot pole Odstup či stiskneme kombinaci kláves Ctrl F9, aktualizují se. Program funguje, pouze se neaktualizovalo zobrazení ve formuláři. Další chyby můžeme odhalit příkazem DEBUG, COMPILE ENCIAN. Zbývající formální chyby jsou odhaleny až při provozu modulu. Access při chybě automaticky zobrazí modul a zvýrazní řádek, v němž došlo k chybě. 189 Tento objekt připojí do kolekce Recordsets. 190 Závorky {} značí, že vybíráme některou z položek uvedených v seznamu a oddělených od sebe znakem. 191 Podobně existuje vlastnost BOF (bottom of file), která má hodnotu False, pokud není ukazovátko před první větou. 192 Příkaz MsgBox je analogií akce OknoSeZprávou v makrech.

178 8 Moduly 178 Ve formuláři připravíme napravo od prvního tlačítka nové tlačítko s názvem a titulkem Kontrola2, kterému přiřadíme zdokonalenou proceduru. K němu připojíme při kliknutí programový kód dle obr Programový kód je v mnohém podobný předchozímu kódu, proto jej v editoru VBA zkopírujeme pomocí schránky z procedury Kontrola1_Click() do procedury Kontrola2_Click(). OBR. 8-20: PROCEDURA KONTROLA2_CLICK 193 Podprogram Kontrola2 _Click With Překreslení formuláře Private Sub Kontrola2_Click() Set Kontrola = CurrentDb.OpenRecordset("Kontrola_cest") KonecPředchozí = 0 With Kontrola Do Until.EOF.Edit!Odstup =!Zahájení - KonecPředchozí KonecPředchozí =!Dokončení.Update.MoveNext Loop End With Repaint MsgBox "Hotovo!" End Sub V proceduře jsme použili příkaz With, kterým můžeme zjednodušit odkazy na složité objekty. Syntaxe: With odkaz na objekt [příkazy procedury] End With Díky příkazu With nemusíme opakovaně specifikovat objekt Kontrola, pouze tečkou (při oddělování vlastností a metod) a vykřičníkem (při oddělování dílčích objektů) signalizujeme návaznost na objekt. Názvy proměnných (KonecPředchozí) zůstávají nedotknuty. Na závěr procedury jsme doplnili spuštění metody Repaint objektu formuláře. Objekt formuláře bychom mohli zapsat Forms![P87 Formulář Kontrola cest] 194, pro aktuálně otevřený objekt můžeme použít zjednodušeného tvaru Me nebo použít neupřesněný název metody. Metoda Repaint překreslí formulář a zobrazí v něm tak aktuální hodnoty tabulky Kontrola_cest. Zavřeme formulář P87 Formulář Kontrola cest. Z formuláře P87 Formulář Menu anulujeme odstupy spuštěním dotazu P87 Dotaz Kontrola cest. Potom znovu otevřeme formulář P87 Formulář Kontrola cest a klikneme do tlačítka Kontrola2. V první větě zatím uvádíme nesmyslné sériové číslo data zahájení první služební cesty. V prvních větách každého zaměstnance je nesmyslné (většinou záporné) číslo dané rozdílem zahájení první cesty zaměstnance a dokončení poslední cesty předchozího zaměstnance. Tyto nepřesnosti nyní opravíme. Do nevyhodnotitelných polí Odstup v první větě každého zaměstnance vložíme prázdnou hodnotu (obr. 8-21). Poznámky k proceduře spouštěné tlačítkem Kontrola3: Před cyklem zpracování vět datové sady připravíme zpracování první věty. Do proměnné OsobaPředchozí zapíšeme hodnotu žádný tak, aby byla první věta vyhodnocena jako věta zaměstnance různého od předchozí věty, tj. aby pro ni nebyla vypsána hodnota pole Odstup. V cyklu jednotlivých vět potom diferencujeme mezi dvěma případy: Jestliže dále zpracováváme stejného zaměstnance (stejný obsah pole Osoba), vypočteme pro něj pole Odstup. Jestliže jsme přešli na dalšího zaměstnance, vložíme do pole Odstup prázdnou hodnotu a zapamatujeme si obsah pole Osoba v proměnné OsobaPředchozí. 193 Příkazy shodné s předchozí procedurou jsou vypisovány kurzívou. 194 Hranaté závorky jsou nutné v případě, že se název objektu skládá z více slov.

179 8 Moduly 179 OBR. 8-21: PROCEDURA KONTROLA3_CLICK Podprogram Kontrola3 _Click Private Sub Kontrola3_Click() Set Kontrola = CurrentDb.OpenRecordset("Kontrola_cest") With Kontrola OsobaPředchozí = "žádný" Do Until.EOF.Edit If!Osoba = OsobaPředchozí Then!Odstup =!Zahájení - KonecPředchozí Else!Odstup = Null OsobaPředchozí =!Osoba End If KonecPředchozí =!Dokončení.Update.MoveNext Loop End With Repaint MsgBox "Hotovo!" End Sub OBR. 8-22: PROCEDURA KONTROLA4_CLICK Podprogram Kontrola4 _Click Private Sub Kontrola4_Click() Set Kontrola = CurrentDb.OpenRecordset("Kontrola_cest") With Kontrola K = 1 OsobaPředchozí = "žádný" KonecPředchozí = "žádný" Do Until.EOF.Edit T = K & ". věta" & Chr(13) T = T & "Osoba předchozí: " & OsobaPředchozí & Chr(13) T = T & "Konec předchozí: " & KonecPředchozí & Chr(13) T = T & "Osoba aktuální: " &!Osoba & Chr(13) T = T & "Začátek aktuální: " &!Zahájení & Chr(13) If!Osoba = OsobaPředchozí Then!Odstup =!Zahájení - KonecPředchozí Else!Odstup = Null OsobaPředchozí =!Osoba End If KonecPředchozí =!Dokončení T = T & "Odstup začátku od konce: " &!Odstup MsgBox (T).Update.MoveNext K = K + 1 Loop End With Repaint MsgBox "Hotovo!" End Sub

180 8 Moduly 180 Proceduru spouštěnou kliknutím do tlačítka Kontrola4 doplníme o vypisování mezivýsledků formou dialogového okna se zprávou (viz horní část obr. 8-24). Poznámky k proceduře: V počítadle K počítáme pořadí věty, abychom ho mohli zobrazit v dialogovém okně mezivýsledků. Text zobrazený v dialogovém okně připravujeme do proměnné T. Funkce Chr(13) odřádkuje. Po každé větě se zobrazuje dialogové okno mezivýsledků. Program pokračuje v provádění příkazů po kliknutí do tlačítka OK. Proceduru můžeme předčasně ukončit stisknutím kombinace kláves Ctrl Break a kliknutím do tlačítka End v dialogovém okně Microsoft Visual Basic. V poslední verzi procedury provedeme následující změny: Jedno tlačítko Kontrola5a bude sloužit k provedení procedury bez vypisování mezivýsledků. Druhé tlačítko Kontrola5b provede proceduru s vypisováním mezivýsledků. Také vypisování mezivýsledků bude možné předčasně ukončit kliknutím do tlačítka, nikoliv jen kombinací kláves Ctrl Break. OBR. 8-23: PROCEDURY KONTROLA5, KONTROLA5A_CLICK A KONTROLA5B_CLICK Podprogramy Kontrola5 Kontrola5a _Click Kontrola5b _Click Private Sub Kontrola5(Přepínač) Set Kontrola = CurrentDb.OpenRecordset("Kontrola_cest") With Kontrola K = 1 OsobaPředchozí = "žádný" KonecPředchozí = "žádný" Do Until.EOF.Edit T = "Osoba předchozí: " & OsobaPředchozí & Chr(13) T = T & "Konec předchozí: " & KonecPředchozí & Chr(13) T = T & "Osoba aktuální: " &!Osoba & Chr(13) T = T & "Začátek aktuální: " &!Zahájení & Chr(13) If!Osoba = OsobaPředchozí Then!Odstup =!Zahájení - KonecPředchozí Else!Odstup = Null OsobaPředchozí =!Osoba End If KonecPředchozí =!Dokončení T = T & "Odstup začátku od konce: " &!Odstup & Chr(13) & Chr(13) T = T & "Chcete pokračovat ve vypisování mezivýsledků?" If Přepínač = "ano" Then V = MsgBox(T, vbyesno, K & ". věta") If V = vbno Then Přepínač = "ne" End If.Update.MoveNext K = K + 1 Loop End With Repaint MsgBox "Hotovo!" End Sub

181 8 Moduly 181 Private Sub Kontrola5a_Click() Kontrola5 ("ano") End Sub Private Sub Kontrola5b_Click() Kontrola5 ("ne") End Sub Dialogové okno se zprávou Nejprve připravíme proceduru Kontrola5, která není událostní. Proceduru potom budou využívat dvě událostní procedury pro dvě tlačítka Kontrola5a a Kontrola5b. Událostní procedury by mohly být řešeny samostatně, byly by však velmi podobné, proto je budeme diferencovat vstupním parametrem Přepínač. Z formuláře se kombinací kláves Alt F11 přesuneme do editoru VBA, kde příkazem INSERT, PROCEDURE či kliknutím do tlačítka Insert Procedure založíme novou proceduru Kontrola5. Procedura může být soukromá (Private) na rozdíl od dříve připravovaných funkcí, které byly veřejné (Public). 195 Do procedury Kontrola5 zkopírujeme kód z procedury Kontrola4_Click a upravíme jej dle obr Poznámky k proceduře: Procedura bude spouštěna z procedury tlačítka Kontrola5a (se vstupní proměnnou Přepínač o hodnotě ano, tj. uživatel chce zobrazit mezivýsledky) nebo z procedury tlačítka Kontrola5b (se vstupní proměnnou Přepínač o hodnotě ne, tj. uživatel nechce zobrazit mezivýsledky). Dialogové okno zobrazí mezivýsledky po jednotlivých větách jen, když Přepínač nabývá hodnoty ano. Příkaz OBR. 8-24: MEZIVÝSLEDKY MsgBox je nahrazen funkcí MsgBox. Funkce MsgBox také zobrazuje dialogové okno se zprávou, avšak okno může obsahovat více tlačítek. Výsledkem funkce je číslo různé podle tlačítka, které použil uživatel v dialogovém okně. Počet, uspořádání a názvy tlačítek určuje druhý argument funkce. Jako argument můžeme zadat číslo nebo použít systémovou (předem definovanou) hodnotu Visual Basicu, např. vbyesno. Nabývá-li druhý argument hodnotu vbyesno (tj. 4) 196, zobrazuje se dialogové okno s tlačítky Ano a Ne (viz obr. 8-24). Po kliknutí do tlačítka Ano funkce MsgBox vrací hodnotu 6 (tj. vbyes), po kliknutí do tlačítka Ne funkce vrací hodnotu 7 (tj. vbno) 197. Jestliže uživatel klikne v dialogovém okně se zprávou do tlačítka Ne, uložíme do proměnné Přepínač hodnotu ne, čímž předčasně ukončíme vypisování mezivýsledků. (Zde je aplikována jednořádková verze příkazu If Then.) Třetí argument funkce MsgBox je zobrazen v titulku dialogového okna se zprávou. Do titulku zobrazujeme pořadí věty. Po kliknutí do tlačítka Kontrola5a se spustí procedura Kontrola5 s argumentem ano. Po kliknutí do tlačítka Kontrola5b se spustí procedura Kontrola5 s argumentem ne. Závěrem uložíme formulář P87 Formulář Kontrola cest, čímž uložíme také lokální procedury. 195 U veřejných procedur se předpokládá jejich využití i v jiných modulech. 196 Při hodnotě 0 (vbokonly) by se zobrazilo pouze tlačítko OK. Při hodnotě 1 (vbokcancel) by se zobrazila tlačítka OK a Storno. Při hodnotě 2 (vbabortretryignore) by se zobrazila tlačítka Přerušit, Opakovat, Přeskočit. Při hodnotě 3 (vbyesnocancel) by se zobrazila tlačítka Ano, Ne, Storno. Při hodnotě 5 (vbretrycancel) by se zobrazovala tlačítka Opakovat, Storno. Při přičtení hodnoty 16 (např. 16+4=20) by se zobrazil v dialogovém okně výstražný křížek. Při přičtení hodnoty 32 by se zobrazil v dialogovém okně otazník, což by pro náš případ (32+4=36) bylo vhodné. Při přičtení hodnoty 48 by se zobrazil v dialogovém okně výstražný vykřičník. Při přičtení hodnoty 64 by se zobrazil v dialogovém okně informační znak i. Při přičtení hodnoty 256 by bylo výchozím aktivním tlačítkem druhé tlačítko (Ne). Sečítané hodnoty lze zapisovat jako výraz, např Případná ostatní tlačítka vrací hodnoty: vbok (1, tlačítko OK), vbcancel (2, tlačítko Storno), vbabort (3, tlačítko Přeskočit), vbretry (4, tlačítko Opakovat), vbignore (5, tlačítko Přeskočit).

182 8 Moduly 182 P88 Formulář P88 Modul 8.8 Globální podprogram formátování čísla účtu Dosud byly podprogramy vytvářeny v rámci jednoho objektu. V obou případech formuláře měly lokální platnost v rámci formuláře. Nyní vytvoříme globální podprogram pro více objektů. Podprogram vypíše číslo bankovního účtu tmavě zelenou barvou, je-li správné, červenou barvou, je-li špatné. Podprogram využijeme ve formuláři i v sestavě. Nejprve připravíme barevné odlišení ve formuláři: Zkopírujeme formulář P53 Podniky Identifikace jako formulář P88 Formulář. V kartě VYTVOŘENÍ ve skupině MAKRA A KÓD klikneme do spodní části tlačítka Modul. Vytvořený modul v okně Properties v poli Name přejmenujeme na P88 Modul. Do modulu vložíme veřejnou proceduru Barvy s kódem dle obr OBR. 8-25: PROCEDURA KONTROLA1_CLICK Podprogram Barvy Select Case P88 Sestava Option Compare Database Public Sub Barvy(Objekt) Select Case KontrolaÚčtu(Objekt("Bankovní_účet")) Case "ano": Objekt("Bankovní_účet").ForeColor = 'zelená Case "ne": Objekt("Bankovní_účet").ForeColor = vbred End Select End Sub Poznámky k proceduře: Do argumentu Objekt budeme dosazovat odkaz na objekt (formulář nebo sestava). Na prvek formuláře se můžeme odkazovat: Forms![P88 Formulář]("Bankovní_účet") Forms![P88 Formulář](10), kde 10 je převzato z jiné vlastnosti Pořadové číslo prvku. Objekt("Bankovní_účet"), kde Objekt je předán jiným podprogramem. Prvku Bankovní_účet přiřazujeme barvu diferencovaně dle výsledku kontroly čísla účtu. K větvení použijeme příkaz Select Case se syntaxí: Select Case testovaná hodnota [Case seznam hodnot-n [příkazy-n]] [Case Else příkazy]] End Select Barvu můžeme zadat konstantou Visual Basicu (např. vbgreen, vbblue) nebo číslem. Na jeden řádek můžeme psát více příkazů oddělených dvojtečkou. Další postup: Vytvoříme nad tabulkou Podniky průvodcem sestavou (bez seskupení a bez řazení v tabulkovém rozležení sestavy) sestavu P88 Sestava, v níž uvedeme pouze sloupce IČ, Název_podniku, Bankovní_účet, Bankovní_kód. Upravíme název sestavy na Podniky. Upravíme popisky na texty IČ, Název, Účet, Kód. Uspořádáme prvky záhlaví stránky a podrobností do tabulkového rozložení. Upravíme šířku sloupců (IČ: 1,8 cm, Název: 1,3 cm, Účet: 2,2 cm, Kód: 1 cm). Globální podprogram spouštíme jediným příkazem Barvy(Me) v procedurách z událostí: z formuláře P88 Formulář pro událostní vlastnost formuláře Při události Current, z formuláře P88 Formulář pro událostní vlastnost Při ztrátě fokusu pole Bankovní_účet, ze sestavy P88 Sestava pro událostní vlastnost těla Při formátování. V sestavě P88 Sestava upravíme formátovou vlastnost sestavy Výchozí zobrazení sestavy na hodnotu Náhled tisku (jen v náhledu se aplikují událostní procedury).

183 9 Externí data Externí data Směry komunikace Word Access 9.1 Možnosti exportu a importu Existují četné možnosti komunikace Accessu s jinými aplikacemi. Komunikace má dva směry: Data z jiné aplikace jsou využívána v Accessu (aplikace Access). Access umí pracovat s formáty některých aplikací (např. s formáty Excelu xlsx, xls nebo s formátem pst Outlooku), některé aplikace musí data uložit ve vhodném formátu, aby je Access mohl načíst (např. uložit je ve formátu txt či mdb). Data z Accessu jsou využívána v jiné aplikaci (Access aplikace). Některé aplikace umí pracovat přímo s formátem Accessu accdb (např. Word nebo Publisher v hromadné korespondenci), pro jiné aplikace musí Access uložit data ve vhodném formátu (např. ve formátu rtf pro Word či ve formátu xlsx pro Excel). V následující tabulce je seznam aplikací, pro něž bude dále demonstrována vzájemná komunikace: kapitola typ aplikace aplikace aplikace Access Access aplikace 9.2 textový procesor Word formát txt formát accdb, rtf textové soubory formát txt, csv formát txt 9.3 tabulkový program Excel formát xlsx, xls formát xlsx, xls Lotus formát wk1, wk3 formát wk1, wk3 9.4 prezentační program PowerPoint modul 9.5 databázový program Access formát accdb dbase formát dbf formát dbf Paradox formát db formát db 9.6 tvorba diagramů Visio formát accdb 9.7 projekty Project formát mdb kontakty Outlook formát pst formát mdb shromažďování dat Outlook formát html poznámky OneNote schránka publikace Publisher formát accdb 9.8 hypertextové odkazy 9.9 web SharePoint seznam seznam 9.2 Word Word na rozdíl od Excelu či Accessu nemá data strukturována. Příprava dat pro Access prostřednictvím aplikace Word vyžaduje proto vymezení, kde se data v dokumentu Wordu nalézají. Předání dat z Wordu do Accessu umožňují formuláře. Formuláře se využívají v případech: Uživatel připravující data nemá na počítači nainstalován Access. Uživatel připravující data neumí pracovat s Accessem. Chceme shromažďovat data od jednotlivých uživatelů souběžně a nemáme možnost jejich připojení k jedné databázi Accessu či k řešení v SharePointu. Předpokládejme, že někteří noví zaměstnanci, kteří poskytují základní data o sobě, neumí pracovat s Accessem, ovládají však Word. Připravíme tzv. formulář, do něhož nový zaměstnanec zapíše o sobě základní údaje (dané strukturou věty v tabulce Osoby 198 ). Nejprve parametrizujeme Word 2016 pro přípravu formuláře: Spustíme Word Word 2007 a novější verze nepodporují ukládání dat z formulářů, obsahují však tlačítko pro práci s nástroji starších verzí v běžně nezobrazené kartě VÝVOJÁŘ. Klikneme pravým tlačítkem myši na pás karet a vybereme volbu Přizpůsobit pás karet. 198 S výjimkou polí Foto a Přílohy, které by nebylo možné vložit do formuláře Wordu.

184 9 Externí data 184 Enc docx V dialogovém okně Možnosti aplikace Word v kartě Přizpůsobit pás karet zaškrtneme v pravé sekci PŘIZPŮSOBIT PÁS KARET kartu Vývojář. Do nového prázdného dokumentu připravíme formulář: V kartě ROZLOŽENÍ STRÁNKY ve skupině VZHLED STRÁNKY klikneme do tlačítka Okraje a vybereme ÚZKÉ, abychom mohli v dokumentu využít širší tabulky. Zapíšeme nejprve nadpis Formulář základních údajů o zaměstnanci a v kartě DOMŮ ve skupině STYLY kliknutím do tlačítka Nadpis 1 změníme jeho styl na Nadpis 1. Po odeslání na konci řádku nadpisu přejde Word do stylu Normální. Vložíme tabulku o 5 sloupcích a 2 řádcích: V kartě VLOŽENÍ klikneme ve skupině TABULKA do tlačítka Tabulka. Tažením myší vymezíme tabulku o rozměrech 5 x 2. Do prvního řádku tabulky zapíšeme popisky dle obr Druhý řádek zatím nevyplníme. Za tabulkou vynecháme volný řádek. Obdobně vložíme druhou tabulku o 7 sloupcích a 2 řádcích a příslušné popisky. OBR. 9-1: FORMULÁŘ VE WORDU S ÚDAJI O ZAMĚSTNANCI Do druhých řádků tabulek doplníme pole formuláře: Umístíme kurzor do buňky první tabulky pod popisek . V kartě VÝVOJÁŘ ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Nástroje starší verze. Dále budeme používat tlačítka ze sekce STARŠÍ FORMULÁŘE. Klikneme do tlačítka Textové pole. (Tlačítko je vzhledem i názvem totožné s tlačítkem v Accessu.) Umístili jsme tak do formuláře pole, z něhož budeme exportovat později vložená data. Délka pole 5 znaků není limitující pro vkládání dat. V kartě VÝVOJÁŘ ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Vlastnosti nebo dvojitě klikneme na vložené pole. Zobrazí se dialogové okno Možnosti textového pole formuláře (viz obr. 9-2). OBR. 9-2: DIALOGOVÉ OKNO MOŽNOSTI TEXTOVÉHO POLE FORMULÁŘE

185 9 Externí data 185 Vlastnosti textového pole Nápověda ve formuláři Význam jednotlivých polí v dialogovém okně: Typ (Obyčejný text, Číslo, Datum, Aktuální datum, Aktuální čas, Výpočet): Typem pole můžeme omezit vstup např. na číslice nebo datum. Při výběru Aktuální datum se do pole formuláře zapíše aktuální datum, čímž se snadno do věty zapíše datum její tvorby. Případné výpočty provedeme až v Accessu, proto typ výpočet nevyužijeme. Při vložení hodnot neodpovídajících zvolenému typu se uživateli zobrazí chybové hlášení. Maximální délka (neomezená, 1, 2, ): Můžeme omezit počet znaků, které uživatel formuláře bude moci maximálně do pole zapsat. Např. v našem případě víme, že zkrácený účet je dlouhý maximálně 20 znaků. Výchozí text: Text, který je prvotně ve formuláři nabízen. (Pole nemusí být vyplněno.) Formát textu. Formát nemusí být zadán. Liší se pro jednotlivé typy polí, např. pro textové pole se nabízí Velká, Malá, První velké, Všechna první velká. Zkrácený účet se skládá z příjmení a jména bez háčků a čárek. Příjmení i jméno jsme psali s velkým počátečním písmenem. Vybereme proto pro pole Osoba volbu Všechna první velká. Word bude při vyplňování zvětšovat písmena na začátku vět. Za začátek věty považuje slovo po tečce, což našemu případu vyhovuje. Spustit makro: Při vyplňování formuláře při přesunu kurzoru na pole a při ukončení vyplňování pole odesláním můžeme požadovat provedení makra Wordu. Záložka: Pole formuláře můžeme pojmenovat, abychom se na něj mohli později odkazovat. Např. v případě dlouhého formuláře můžeme do formuláře zapsat na konci seznam hlavních zadávaných polí. K položkám seznamu můžeme přiřadit hypertextového odkazy (označením a kliknutím v kartě VLOŽENÍ ve skupině ODKAZY do tlačítka Hypertextový odkaz) na záložky. Uživatel se pak kliknutím do záložky snadno přemístí na vkládání příslušného pole. Přepočítat při výstupu: Zaškrtnutím přepočteme všechny případné výrazy ve formuláři po vložení či úpravě hodnoty v daném poli. Vyplnění povoleno: Zrušením zatržení můžeme zamezit uživateli vyplňovat pole. Tato vlastnost je nedostupná pro vypočtená pole a aktuální datum či čas. Kliknutím do tlačítka Nápovědný text zobrazíme dialogové okno Nápovědný text pole formuláře (viz obr. 9-3). Word nabízí dva druhy nápovědy: text, který se bude zobrazovat ve stavovém (posledním) řádku při vyplňování pole (pro zkrácený účet zadáme Do pole Osoba zapisujeme zkrácený účet, např. Novak.Petr), text, který se zobrazí při vyplňování pole po stisknutí klávesy F1 (pro Osobu dle obr. 9-3). Pro další pole nebudeme v ilustrativním formuláři nápovědu vyplňovat. OBR. 9-3: DIALOGOVÉ OKNO NÁPOVĚDNÝ TEXT POLE FORMULÁŘE Text nápovědy lze přebírat z autotextu. Lze pak k různým polím zadat společné nápovědy. Formulář je nutné připravit jako šablonu, která obsahuje příslušné autotexty Autotexty jsou jedním z tzv. stavebních bloků. Autotext lze po jeho výběru vložit do šablony v kartě VLOŽENÍ, ve skupině TEXT kliknutím do tlačítka Rychlé části a výběrem ULOŽIT VÝBĚR DO GALERIE RYCHLÝCH ČÁSTÍ.

186 9 Externí data 186 Rozevírací pole Obdobně vložíme pole: Titul před jménem (Maximální délka: 10), Křestní jméno (Maximální délka: 10, Formát textu: První velké), Příjmení (Maximální délka: 15, Formát textu: První velké), Titul za jménem (Maximální délka: 7), Pro pohlaví lze zadat jen dvě možnosti (M muž, Z žena). Tentokrát klikneme v sekci STARŠÍ FORMULÁŘE do tlačítka Pole se seznamem a ve skupině OVLÁDACÍ PRVKY do tlačítka Vlastnosti. Zobrazíme okno Možnosti rozevíracího pole formuláře (viz obr. 9-4). OBR. 9-4: DIALOGOVÉ OKNO MOŽNOSTI ROZEVÍRACÍHO POLE FORMULÁŘE Zaškrtávací políčko V levé horní části zapisujeme položky seznamu a přidáváme je do seznamu tlačítkem Přidat. Při omylu je můžeme odstranit tlačítkem Odebrat nebo změnit jejich pořadí šipkami přesunu. Ostatní pole v dialogovém okně mají stejný význam jako pro textové pole formuláře. Doplníme hodnoty dle obr Vložíme další pole: Místnost (Typ: číslo, Maximální délka: 2), Oddělení (Pole se seznamem, Rozevírací seznam: ANA, DIS, KON, MAR, PRG, RED), Charakteristika, Úvazek (Typ: číslo, Formát čísla: 0,00), Web. stránka. Oprávnění fakturovat nabývá hodnotu ano či ne. Pro jeho zadávání použijeme zaškrtávací políčko. Klikneme do tlačítka Zaškrtávací políčko formuláře a zobrazíme dialogové okno Možnosti zaškrtávacího políčka formuláře (viz obr. 9-5) např. dvojitým kliknutím na zaškrtávací pole. OBR. 9-5: DIALOGOVÉ OKNO MOŽNOSTI ZAŠKRTÁVACÍHO POLÍČKA

187 9 Externí data 187 Zámek dokumentu Enc docx Enc-09-02a.docx V dialogovém okně můžeme: upravit velikost políčka, nastavit výchozí stav. Aby uživatel nemohl formulář změnit, aktivujeme ochranu formuláře s výjimkou polí pro vkládání: V kartě VÝVOJÁŘ ve skupině ZÁMEK klikneme do tlačítka Omezit úpravy. V podokně Omezit úpravy zaškrtneme v sekci 2. OMEZENÍ ÚPRAV pole Povolit v dokumentu pouze tento typ úprav a vybereme VYPLŇOVACÍ FORMULÁŘE. V sekci 3. OMEZENÍ ÚPRAV klikneme do tlačítka Použít zámek. V dialogovém okně Použít zámek nevyplňujeme heslo a klikneme do tlačítka OK. Připravený formulář uložíme pod názvem Enc docx. Chceme-li později ve formuláři provést úpravy, můžeme dokument odemknout: V kartě VÝVOJÁŘ ve skupině ZÁMEK zadáme OMEZIT FORMÁTOVÁNÍ A ÚPRAVY. V okně Omezit formátování a úpravy klikneme do tlačítka Odemknout. Práci s formulářem můžeme při dobré znalosti Wordu usnadnit tím, že formulář uložíme jako šablonu. Ponecháme formulář zamknutý a uložený jako běžný dokument. Uložíme jej ještě jednou pod názvem Enc-09-02a.docx. Předveďme si nyní vyplnění formuláře uživatelem (viz obr. 9-6): OBR. 9-6: VYPLNĚNÝ FORMULÁŘ S ÚDAJI O PRVNÍM ZAMĚSTNANCI Díky ochraně formuláře můžeme ve formuláři vyplňovat pouze hodnoty polí formuláře. Vyplníme údaje o zaměstnanci Miloši Adamcovi. Po vyplnění pole se přesuneme na další pole klávesou Tab (popř. nazpět kombinací Shift Tab). Pokud omylem vložíme řádek klávesou Enter, opravíme chybu stisknutím klávesy BackSpace. Osobu vyplňujeme malými písmeny. Díky vlastnostem pole Word po přechodu na další pole automaticky transformuje počáteční písmena na velká. Obdobně vyplňujeme malými písmeny pole Křestní jméno a Příjmení. Není problém zapsat do polí formuláře obsah širší, než byla vystínovaná část pole. V případě Charakteristiky by se delší text zobrazoval na více řádcích, zvýšení políčka tabulky by bylo automatické. (Konce řádků nesmíme ukončovat klávesou Enter. 200 ) Hodnotu v poli Oddělení musíme vybrat z pole se seznamem, není možné ji zapsat. Do pole Úvazek vložíme hodnotu ve tvaru 1, Word ji transformuje podle formátu na tvar 1,00. Do pole Web zapíšeme adresu včetně úvodních mřížek tak, aby v Accessu byla chápána jako druhý argument hypertextového odkazu. (První argument je nepovinný, pouze se zobrazuje, není odkazem. V případě vyplnění až druhého argumenty se zobrazuje odkaz.) Pole Oprávnění můžeme z klávesnice zaškrtnout stisknutím mezerníku. Stiskneme-li klávesu Tab na posledním poli formuláře, kurzor se vrátí do prvního pole formuláře. 200 V budoucím exportu ukončení řádku klávesou Enter značí přechod na další větu, my však zapisujeme jedinou.

188 9 Externí data 188 Tisk formuláře Ukládání dat z formuláře Vyplněný formulář může uživatel vytisknout jako běžný dokument Wordu. Bude se tisknout mřížka a popisky formuláře i obsah. Pokud tiskneme do předtištěného formuláře, omezíme tisk pouze na pole formuláře: V kartě Soubor klikneme do tlačítka Možnosti. V kartě Upřesnit v sekci PŘI TISKU TOHOTO DOKUMENTU zaškrtneme pole Tisknout pouze data z formuláře. 201 Obdobně jako při tisku lze uložit formulář jako dokument nebo pouze jeho data jako textový soubor: V kartě SOUBOR klikneme do tlačítka Uložit jako. V okně Uložit jako klikneme pod formátem souboru do odkazu Další možnosti. V dialogovém okně Uložit jako klikneme ve spodní části do tlačítka Nástroje a vybereme volbu Možnosti ukládání. V dialogovém okně Možnosti aplikace Word v kartě Upřesnit v sekci PŘI SDÍLENÍ TOHOTO DOKUMENTU ZACHOVAT VĚRNOST zaškrtneme pole Ukládat data formulářů jako textový soubor s oddělovači. V poli Uložit jako upřesníme formát ukládání prostý text. Potvrdíme název souboru Enc-09-02a.txt. V dialogovém okně Převod souboru potvrdíme parametry převodu tlačítkem OK. Vznikne soubor Enc-09-02a.txt (viz obr. 9-7). OBR. 9-7: SOUBOR ENC-09-02A.TXT Enc-09-02a.txt "Adamec.Milos";"";"Miloš";"Adamec";"";"M";"12";"DIS";"vzpěrač";"1,00"; "# V textovém souboru jsou hodnoty polí s výjimkou zaškrtávacích políček uvedeny v uvozovkách, aby nedošlo k záměně vymezení polí při užití středníku v textu polí. Navzájem jsou odděleny středníky. Při vyplňování formuláře nesmí uživatel používat uvozovky a nesmí používat klávesu Enter. Vyplníme formulář ještě pro zaměstnance Pavla Beneše (viz obr. 9-8). 202 Data formuláře uložíme jako soubor Enc-09-02b.txt. OBR. 9-8: VYPLNĚNÝ FORMULÁŘ S ÚDAJI O DRUHÉM ZAMĚSTNANCI Průvodce importem textu Ukončíme práci s Wordem, spustíme Access a otevřeme databázi Encian, do níž chceme importovat data z formulářů: V kartě EXTERNÍ DATA ve skupině IMPORTOVAT A PROPOJIT klikneme do tlačítka Textový soubor. V dialogovém okně Načíst externí data vyhledáme do pole Název souboru textový soubor Enc-09-02a.txt a ponecháme vybranou volbu Importovat data do nové tabulky v aktuální databázi. Access spustí Průvodce importem textu, který se skládá z několika dialogových oken: V prvním okně potvrdíme, že údajům odpovídá nejlépe formát s oddělovači. 201 V náhledu se však bude zobrazovat vždy formulář včetně mřížky a popisků. 202 Znovu otevřeme dokument Enc docx nebo pokračujeme z formuláře prvního zaměstnance, který odemkneme a smažeme jeho obsah kliknutím do tlačítka Obnovit pole formuláře v sekci STARŠÍ FORMULÁŘE.

189 9 Externí data 189 Ve druhém okně potvrdíme, že oddělovačem polí je středník, první řádek textového souboru neobsahuje názvy polí a text je ohraničen uvozovkami. (Textový soubor obecně může obsahovat více než jednu větu. Každá věta je pak na samostatném řádku. Na prvním řádku mohou být uvedeny názvy polí. Soubor dat z formuláře Wordu však obsahuje vždy jen jednu větu bez názvů polí.) Ve třetím okně (viz obr. 9-9) upřesníme názvy a typ dat polí importované věty dle struktury tabulky Osoby uvedené v obr. 3-3 (v kap na str. 43). Žádné pole neindexujeme. Volby v horní části okna zadáváme pro pole, které jsme kliknutím do nadpisu sloupce označili v dolní části. Nezapomeneme kromě názvů polí upravit typy polí (Charakteristika: dlouhý text, Úvazek: jednoduchá přesnost, Web_stránka: hypertextový odkaz, Oprávnění: ano/ne). OBR. 9-9: PRŮVODCE IMPORTEM TEXTU ČTVRTÉ DIALOGOVÉ OKNO Specifikace importu P92a Adamec Ve čtvrtém okně můžeme vybrat pole primárního klíče nebo zadat, aby Access přidal primární klíč sám. Vybereme možnost Zvolit vlastní primární klíč pro pole Osoba. (Zajistíme tak v nové tabulce, abychom omylem dvakrát neimportovali stejnou větu.) V pátém okně nejprve klikneme do tlačítka Upřesnit. (Tlačítko bylo přístupné i v předcházejících oknech Průvodce.) Zobrazí se dialogové okno s rekapitulací specifikace importu (viz obr. 9-10). Stejnou specifikaci chceme použít i později, proto klikneme do tlačítka Uložit jako a uložíme specifikaci pod názvem P92 Specifikace importu z formuláře Wordu. Specifikace jsou zvláštním druhem objektů Accessu. Nejsou sice uvedeny v databázovém okně, ukládají se však s databází. Tlačítkem Podrobnosti můžeme zobrazit seznam specifikací, popř. vybranou specifikaci odstranit či otevřít. Kliknutím do tlačítka OK ukončíme práci se specifikací importu. V pátém okně importu upravíme název vznikající tabulky na P92a Adamec a klikneme do tlačítka Dokončit. Access nabídne uložení kroků importu, které nevyužijeme. Klikneme do tlačítka Zavřít. V databázi vznikla nová tabulka s námi zadaným názvem P92a Adamec.

190 9 Externí data 190 OBR. 9-10: SPECIFIKACE IMPORTU P92b Beneš Přidání obsahu tabulky do jiné tabulky P92 Osoby Obdobně importujeme druhou větu: V kartě EXTERNÍ DATA ve skupině IMPORT klikneme do tlačítka Import textového souboru. V dialogovém okně Načíst externí data vyhledáme do pole Název souboru textový soubor Enc-09-02b.txt a ponecháme vybranou volbu Importovat data do nové tabulky v aktuální databázi. V prvním okně průvodce klikneme do tlačítka Upřesnit. V dialogovém okně Specifikace importu klikneme do tlačítka Podrobnosti a vybereme P92 Specifikace importu z formuláře Wordu. Kliknutím do tlačítka OK uzavřeme okno Specifikace importu. Kliknutím do tlačítka Další postupně projdeme průvodce, jako vlastní primární klíč vybereme opět pole Osoba. V posledním okně změníme název tabulky na P92b Beneš. Vytvoříme tabulku P92 Osoby, do níž zkopírujeme obsahu dvou vytvořených tabulek: V navigačním podokně označíme tabulku P92a Adamec. Zkopírujeme ji do schránky kombinací kláves Ctrl C. Tabulku ze schránky vložíme kombinací kláves Ctrl V. V dialogovém okně Vložit tabulku jako (viz obr. 9-11) vybereme volbu Strukturu a data a tabulku nazveme P92 Osoby. OBR. 9-11: DIALOGOVÉ OKNO VLOŽIT TABULKU JAKO Pro přidání obsahu druhé tabulky P92b Beneš bychom mohli připravit přidávací dotaz, jehož zdrojem by byla všechna pole tabulky P92b Beneš a cílovou tabulkou by byla tabulka P92 Osoby. Naučíme se jednodušší postup. V navigačním podokně označíme tabulku P92b Beneš. Zkopírujeme ji do schránky kombinací kláves Ctrl C.

191 9 Externí data 191 Access Word Export datové sady Export sestavy Export části datové sady Data z Accessu jako zdroj dat hromadné korespondence Wordu Tabulku ze schránky zkopírujeme kombinací kláves Ctrl V. V dialogovém okně Vložit tabulku jako vybereme volbu Připojit data k existující tabulce a do pole Název tabulky zapíšeme opět P92 Osoby. 203 Prohlédneme si obsah tabulky P92 Osoby. Tabulka obsahuje dvě věty. Věty nové tabulky se pokusíme přidat do tabulky Osoby: V navigačním podokně klikneme do tabulky P92 Osoby a stiskneme kombinaci kláves Ctrl C. Potom stiskneme kombinaci kláves Ctrl V. V dialogovém okně Vložit tabulku jako zadáme název tabulky Osoby a vybereme poslední nabízenou možnost, abychom neodstranili stávající obsah tabulky Osoby. Po kliknutí do tlačítka OK Access vypíše chybové hlášení. Nové věty nelze přidat pro porušení pravidel klíčů. Osoba je totiž klíčovým polem tabulky Osoby a y Adamec.Milos a Benes.Pavel se již v tabulce Osoby vyskytují. Nové věty by se podařilo přidat jen při opravě klíčů v poli Osoba v tabulce P92 Osoby např. na Adamec.Milos2 a Benes.Pavel2. Podstatně jednodušší je komunikace z Accessu do Wordu. Existuje několik způsobů komunikace: Export datové sady (tabulky či výsledku dotazu): V navigačním podokně označíme kliknutím tabulku či dotaz, např. tabulku Oddělení. V kartě EXTERNÍ DATA klikneme ve skupině EXPORTOVAT do tlačítka Další a vybereme volbu Word. Nabídne se název souboru dle názvu tabulky či dotazu s příponou rtf. Můžeme upravit složku, do níž bude soubor uložen. Za účelem rychlého předvedení výsledku zaškrtneme pole Po dokončení operace exportu otevřít cílový soubor. Po kliknutí do tlačítka OK se vytvoří soubor s příponou rtf (rich text format), který se načte do Wordu. Tabulka či výsledek dotazu (v případě nevýběrových dotazů tvar, který se zobrazuje v zobrazení datového listu) je v dokumentu Wordu uložen v tabulce nadepsané názvy polí. Po všech exportech i importech se nabízí uložení kroků exportu či importu tak, abychom mohli tlačítkem Uložené exporty ve skupině EXPORTOVAT nebo tlačítkem Uložené importy ve skupině IMPORTOVAT A PROPOJIT snadno provést export či import znovu bez zadávání parametrů. V případě, že takto exportujeme formulář, exportují se pole obsažená ve formuláři formou tabulky včetně polí daných výrazem (viz např. export formuláře P52 Osoby Identifikace). Export sestavy: Když exportujeme sestavu, jsou do Wordu exportována data v uspořádání velmi podobném sestavě. Jednotlivé sloupce sestavy jsou nasimulovány vložením tabulátorů. Export sestavy můžeme vyzkoušet např. na sestavě P66 Telefonní seznam. Bohužel dojde k částečné ztrátě formátování. Export části datové sady: V zobrazení datového listu můžeme označit vybrané řádky (označením ve voličích záznamů) nebo vybrané sloupce (označením v řádku názvů polí). Při zadání exportu můžeme v dialogovém okně Export pod názvem souboru zaškrtnout pole Exportovat pouze vybrané záznamy. Exportují se potom pouze vybrané řádky či sloupce. Export datové sady jako zdroje dat hromadné korespondence ve Wordu: Chceme napsat dopis odběratelům firmy Encián. V navigačním podokně klikneme do tabulky Podniky. V kartě EXTERNÍ DATA ve skupině EXPORTOVAT klikneme do tlačítka Sloučit ve Wordu. V jediném okně průvodce hromadnou korespondencí ponecháme zaškrtnuté pole Vytvořit nový dokument a propojit s ním data. Dále nás vede v okně Hromadná korespondence Word: 203 Mohli jsme také první větu importovat přímo do nové tabulky P92 Osoby a na začátku importu druhé věty vybrat v průvodci volbu Připojit kopii záznamů k tabulce P92 Osoby. V tom případě bychom však nevyzkoušeli aplikaci uložené specifikace importu.

192 9 Externí data 192 Access textový soubor» V prvním kroku ponecháme vybrané pole Dopisy. Klikneme do spodní volby Další.» Ve druhém kroku ponecháme vybrané pole Použít aktuální dokument.» Ve třetím kroku ponecháme vybrané pole Použít existující seznam a ve spodní části ponecháme vybraný seznam Podniky v databázi Encian.accdb.» Ve čtvrtém okně nevyužijeme žádný nabízený prvek dopisu. V kartě KORESPONDENCE ve skupině ZAPSAT A VLOŽIT POLE klikneme do tlačítka Vložit slučovací pole. Vybereme postupně pole adresy (Název_podniku, Ulice, PSČ, Obec) vložíme je do adresy na úvod dopisu. Tlačítkem Náhledy výsledků ze skupiny NÁHLED VÝSLEDKŮ můžeme zobrazit dopis se sloučenými daty. Tlačítky v horní části skupiny NÁHLED VÝSLEDKŮ (První záznam, Předchozí záznam, Další záznam, Poslední záznam) se můžeme pohybovat mezi jednotlivými slučovanými větami nebo můžeme vložit přímo pořadí věty.» V pátém kroku se zobrazí sloučené věty a můžeme některé věty ze slučování vyloučit.» V šestém kroku můžeme dopisy vytisknout či sloučit do dokumentu tak, abychom mohli jednotlivé dopisy upravit. Hromadnou korespondenci lze definovat také z Wordu: Ve Wordu otevřeme nový dokument. V kartě KORESPONDENCE ve skupině SPUSTIT HROMADNOU KORESPONDENCI klikneme do tlačítka Vybrat příjemce a vybereme volbu POUŽÍT EXISTUJÍCÍ SEZNAM. Vyhledáme umístění databáze Encian.accdb a vybereme tabulku Podniky. (Nejdříve jsou v seznamu uvedeny dotazy, potom tabulky.) V kartě KORESPONDENCE ve skupině ZAPSAT A VLOŽIT POLE klikneme do tlačítka Vložit slučovací pole. Vybereme postupně pole adresy (Název_podniku, Ulice, PSČ, Obec) a vložíme je do adresy na úvod dopisu. Také můžeme spustit průvodce hromadnou korespondencí. V kartě KORESPONDENCE ve skupině SPUSTIT HROMADNOU KORESPONDENCI klikneme do tlačítka Spustit hromadnou korespondenci a vybereme volbu Podrobný průvodce hromadnou korespondencí. Vložená pole můžeme doprovodit konstantním textem, obrázky a dalšími objekty. Data z Accessu je možné uložit do textového souboru, který může načíst řada programů. Uložíme obsah tabulky Oddělení do textového souboru dvěma způsoby: s oddělovači V kartě EXTERNÍ DATA ve skupině EXPORTOVAT klikneme do tlačítka Textový soubor. V dialogovém okně Export zadáme soubor, do něhož obsah uložíme. Data uložíme do souboru Oddělení1.txt. Ponecháme nezaškrtnuté pole Exportovat data s formátováním a rozložením. V prvním okně průvodce exportem textu ponecháme zvolenu možnost S oddělovači. V druhém okně průvodce ponecháme vybraný oddělovač středník a zaškrtneme pole Zahrnout názvy sloupců na prvním řádku. V třetím okně průvodce potvrdíme umístění a název souboru. Kliknutím do tlačítka Zavřít zavřeme okno pro uložení parametrů exportu. s pevnou délkou V kartě EXTERNÍ DATA ve skupině EXPORTOVAT klikneme do tlačítka Textový soubor. V dialogovém okně Export zadáme soubor, do něhož obsah uložíme. Data uložíme do souboru Oddělení2.txt. Ponecháme nezaškrtnuté pole Exportovat data s formátováním a rozložením. V prvním okně průvodce exportem textu vybereme druhou možnost S pevnou šířkou. V druhém okně průvodce ponecháme čáry oddělující jednotlivá pole. Čáry bychom mohli tažením přemístit. V třetím okně průvodce potvrdíme umístění a název souboru. Kliknutím do tlačítka Zavřít zavřeme okno pro uložení parametrů exportu.

193 9 Externí data 193 Textový soubor Access Excel Access Access Excel Vznikly dva textové soubory: Každá věta tvoří ve výsledném souboru samostatný odstavec. V prvním případě jsou pole oddělena vybraným znakem (středníkem). V druhém případě je každé pole stejně dlouhé i za cenu doplnění mezer. V obou případech můžeme v jakémkoliv okně průvodce kliknout do tlačítka Upřesnit a obdobně jako při importu z formulářů Wordu uložit nastavené parametry exportu ve formě specifikace. Na připravených textových souborech budeme demonstrovat import textových souborů do Accessu: import souboru Oddělení1.txt V kartě EXTERNÍ DATA ve skupině IMPORTOVAT A PROPOJIT klikneme do tlačítka Textový soubor. V dialogovém okně Načíst externí data vyhledáme umístění souboru, ponecháme vybranou volbu Importovat zdrojová data do nové tabulky v aktuální databázi. V prvním okně průvodce ponecháme vybranou volbu S oddělovači. Ve druhém okně průvodce ponecháme jako oddělovač vybraný středník a zaškrtneme pole První řádek obsahuje názvy polí. V třetím okně potvrdíme názvy polí. Ve čtvrtém okně vybereme vlastní primární klíč Oddělení. V pátém okně potvrdíme název tabulky Oddělení1. Kliknutím do tlačítka Zavřít zavřeme okno pro uložení parametrů importu. import souboru Oddělení2.txt Postup je obdobný jako při importu souboru Oddělení1.txt s následující rozdíly: V prvním okně průvodce ponecháme vybranou volbu S pevnou délkou. Ve druhém okně kliknutím do měřítka umístíme dvě čáry oddělující pole. (Tažením je možné měnit pozici čáry. Dvojitým kliknutím je možné čáru odstranit.) V třetím okně nazveme pole Oddělení, Oddělení_v, Vedoucí. V pátém okně potvrdíme název tabulky Oddělení2. odkaz Oddělení3 na zdroj Oddělení1.txt Postup je obdobný jako při importu souboru Oddělení1.txt s následující rozdíly: V dialogovém okně Načíst externí data vybereme volbu Vytvořit odkaz na zdroj dat vytvořením propojené tabulky. V pátém okně průvodce zadáme název tabulky Oddělení3. Pokud bychom změnili obsah textového souboru Oddělení1.txt např. doplněním oddělení SLU, služby, Petr.Novak změnil by se obsah tabulky Oddělení3, tabulka Oddělení1 by zůstala v původní podobě. 9.3 Excel Import dat z Excelu do Accessu byl vyložen již v souvislosti s načítáním dat do databáze v kap. 2. Import zahajujeme v kartě EXTERNÍ DATA ve skupině IMPORTOVAT A PROPOJIT kliknutím do tlačítka Excel. Importovaná data upřesňujeme výběrem ze seznamu tabulek nebo ze seznamu oblastí. Export z Accessu do Excelu předvedeme na exportu dvou datových sad tabulky Oddělení a dotazu NACE_Oddíly: export tabulky V navigačním podokně klikneme do tabulky Oddělení. V kartě EXTERNÍ DATA ve skupině EXPORTOVAT klikneme do tlačítka Excel. V dialogovém okně Export zadáme umístění a název souboru. Soubor nazveme Export. V poli Formát souborů ponecháme vybraný formát xlsx. V možnostech exportu zaškrtneme pole Exportovat data s formátováním a rozložením a Po dokončení operace exportu otevřít cílový soubor. Otevře se sešit Export.xlsx s listem Oddělení s formátovaným záhlavím. Soubor zavřeme. Kliknutím do tlačítka Zavřít zavřeme okno pro uložení parametrů exportu. export dotazu

194 9 Externí data 194 V navigačním podokně klikneme do dotazu NACE_Oddíly. V kartě EXTERNÍ DATA ve skupině EXPORTOVAT klikneme do tlačítka Excel. V dialogovém okně Export zadáme umístění a název souboru. Soubor opět nazveme Export. V poli Formát souborů ponecháme vybraný formát xlsx. Chceme, aby se vytvořil další list v sešitu Excelu. Nezaškrtneme proto žádnou z nabízených možností exportu. Klikneme do tlačítka OK. V Excelu otevřeme sešit Export.xlsx. Data z dotazu jsou uložena (bez formátování záhlaví) do dalšího listu NACE_Oddíly. Kliknutím do tlačítka Zavřít zavřeme okno pro uložení parametrů exportu. P94 Export PowerPoint Access PowerPoint 9.4 PowerPoint Access nenabízí export či import do či z PowerPointu. Export provedeme modulem, který budeme spouštět pomocí tlačítka Export v samostatném formuláři P94 Export PowerPoint. Spustíme tak proceduru ExportPP z globálního modulu P94 Export PowerPoint, který využívá funkci Ident v modulu P94 Ident. Vytvoříme prezentaci s přehledem zaměstnanců. Na každém snímku bude celé jméno zaměstnance, jeho fotografie a charakteristika. Protože využijeme i metody PowerPointu, musíme nejprve v editoru Visual Basicu zadat příkaz TOOLS, REFERENCES a přidat k dostupným knihovnám Microsoft PowerPoint 16.0 Object Library. Procedura exportu je uvedena v obr včetně základního vysvětlujícího komentáře (který je kurzívou). OBR. 9-12: PROCEDURA EXPORTPP Z MODULU P94 EXPORT POWERPOINT Public Sub ExportPP() ' 'přiřazení hodnot Set Zam = CurrentDb.OpenRecordset("Osoby") 'data čerpáme z tabulky Osoby Dim PP As New PowerPoint.Application 'PP je nově otevřená aplikace PowerPointu Dim SystémSouborů 'objekt systému souborů Set Prezentace = PP.Presentations.Add 'prezentace je nově přidaná prezentace Set SystémSouborů = CreateObject("Scripting.FileSystemObject") ' 'příprava PowerPointu před samotným cyklem zpracování jednotlivých vět With PP.Visible = True 'zviditelnění PowerPointu.Activate 'zaktivnění PowerPointu End With K = 1 'výchozí nastavení počítadla zaměstnanců ' 'cyklus zpracování jednotlivých vět z tabulky Do Until Zam.EOF 'popř. Do Until Zam.EOF Or K = 5 'cyklus se provádí až do poslední věty, popř. pro ladění do čtvrté věty Set Snímek = Prezentace.Slides.Add(K, 11) 'přidání nového snímku s rozvržením číslo 11 (prázdný snímek pouze s objektem titulku) ' 'TITULEK SNÍMKU PREZENTACE (= NEVIDITELNÝ KOMENTÁŘ) With Snímek.Shapes.Placeholders(1) 'začátek operací s titulkem, tj. prvním a zatím jediným objektem snímku.visible = False 'zneviditelnění (titulek není zobrazován, pouze definován kvůli navigaci mezi snímky) With.TextFrame.TextRange.Text = Zam!Příjmení & " " & Zam!Jméno 'text titulku je převzat z polí Příjmení a Jméno End With End With '

195 9 Externí data 195 'CELÉ JMÉNO (NAHOŘE) With Snímek.Shapes.AddShape(5, 20, 50, 680, 40) 'začátek operací s nově přidaným automatickým tvarem formátu č. 5 'x = 20, y = 50 souřadnice levého horního rohu, 680 šířka, 40 výška.fill.visible = False 'objekt nemá pozadí (je průhledný, aby převzal případné pozadí prezentace z předlohy).line.visible = False 'objekt nemá okraj With.TextFrame.TextRange.Text = CeléJméno(Zam!Titul1, Zam!Jméno, Zam!Příjmení, Zam!Titul2) 'nad budoucí fotografii jsou z tabulky převzata pole Příjmení a Jméno.Font.Size = 36 'velikost písma nadpisu.font.color = vbblack 'černá barva písma nadpisu End With End With ' 'KOMENTÁŘ (DOLE): v dolní části snímku zobrazíme Charakteristiku zaměstnance With Snímek.Shapes.AddShape(5, 20, 450, 680, 40).Fill.Visible = False.Line.Visible = False Ch = Zam!Charakteristika 'do proměnné Ch je uložena charakteristika s párovými značkami P = Ch 'do proměnné P je uložena charakteristika bez párových značek If InStr(1, Ch, "<div>") >= 1 Then P = Mid(Ch, 6, Len(Ch) - 11) If InStr(1, Ch, "<em>") >= 1 Then P = Mid(Ch, 10, Len(Ch) - 20) If InStr(1, Ch, "<strong>") >= 1 Then P = Mid(Ch, 14, Len(Ch) - 28) With.TextFrame.TextRange.Text = Zam!Charakteristika.Font.Size = 36.Font.Color = vbblack End With End With ' 'FOTOGRAFIE (UPROSTŘED) Soubor = Application.CurrentProject.Path & "/web/" & Ident(Zam!Příjmení, Zam!Jméno) _ & "/" & Ident(Zam!Příjmení, Zam!Jméno) & ".gif" If SystémSouborů.FileExists(Soubor) Then Snímek.Shapes.AddPicture Soubor, False, True, 275, 200 'delší příkaz je možné rozdělit na více řádků, dílčí řádky končí mezerou a podtržítkem 'přidání obrázku - fotografie z příslušného adresáře z příslušného souboru s příponou gif 'fotografie je vložena (nikoliv propojena - parametr False) a uložena do souboru (True) 'poslední parametry: levý horní roh - x a y, popř. šírka, výška End If K = K + 1 'zvýšení počítadla zaměstnanců pro příkaz přidávání zaměstnanců Zam.MoveNext 'přechod na další větu tabulky Loop 'ukončení cyklu opakování End Sub OBR. 9-13: FUNKCE IDENT Z MODULU P94 IDENT P94 Ident Public Function Ident(Příjmení, Jméno) Ident = BezDiakritiky(Left(Příjmení, 8)) If Příjmení = "Škoda" Then Ident = Ident & BezDiakritiky(Left(Jméno, 1)) End Function

196 9 Externí data 196 Aby se importovaly do prezentace PowerPointu obrázky zaměstnanců, je nutné, aby byly obrázky umístěny ve složce s databází Encian.accdb v podsložce web, v níž má každý zaměstnanec svou podsložku, např.: C:\prac Encian.accdb web Adamec Adamec.gif index.htm Benes Benes.gif index.htm V případě, že obrázek není dostupný, procedura jeho načtení bez chyby přeskočí. Access Access 9.5 Access Objekty připravené v jedné databázi lze použít v jiné databázi. Do databáze Accessu lze importovat objekty z jiné databáze: Vytvoříme novou databázi. V kartě SOUBOR klikneme do tlačítka Nový a vybereme volbu Prázdná databáze. Novou prázdnou databázi nazveme Encian2. Zavřeme nabízenou prázdnou tabulku. V kartě EXTERNÍ DATA ve skupině IMPORTOVAT A PROPOJIT klikneme do tlačítka Access. V dialogovém okně Načíst externí data dohledáme databázi Encian a ponecháme zaškrtnutou volbu Importovat tabulky,... V dialogovém okně Import objektů (viz obr. 9-14) vybereme objekty, které chceme do nové databáze zkopírovat. OBR. 9-14: DIALOGOVÉ OKNO IMPORT OBJEKTŮ Vybereme objekty pro import: Kliknutím do názvu objektu objekt vybereme. Kliknutím do označeného objektu zrušíme výběr objektu. Kliknutím do tlačítka Vybrat vše vybereme všechny objekty jednoho typu, např. tabulky. Kliknutím do tlačítka Zrušit výběr zrušíme označení všech objektů jednoho typu. Kliknutím do záložky zobrazíme objekty jiného typu. Současně můžeme označit objekty různých typů. Kliknutím do tlačítka Možnosti zobrazíme speciální parametry importu.

197 9 Externí data 197 Propojení Access Visio Ve speciálních parametrech importu ve spodní části okna upřesňujeme import: Současně s objekty vybranými v horní části můžeme ze zdrojové databáze importovat také: relace, nabídky a panely nástrojů 204 (všechny, nelze vybrat jednotlivé), specifikace pro import/export (všechny, nelze vybrat jednotlivé), skupiny navigačního podokna (všechny, nelze vybrat jednotlivé). Pro tabulky vybrané v horní části můžeme omezit import na import prázdných tabulek (jen definice struktury tabulek). Místo návrhů dotazů můžeme importovat jejich výsledky ve formě stejnojmenných tabulek. Jiným způsobem čerpání dat z jiné databáze je propojení tabulek. Propojením na jiné databáze se databáze nezvětšuje, čerpá aktuální údaje ze zdrojové databáze. Takto lze čerpat pouze z tabulek, nikoliv návrhy dotazů, formulářů, sestav či jiných objektů databáze. Databáze, z níž se čerpá, musí být k dispozici. V našem případě provedeme import objektů: tabulky Osoby, Oddělení a Místnosti, formulář P52 Osoby Identifikace, relací. Tabulky importujeme jako definice a data, dotazy jako dotazy. Tímto způsobem je možné importovat objekty i ze starších verzí Accessu (formát mdb verzí 2, 97, 2002, 2003). Data lze exportovat, importovat i propojit s daty jiných aplikací: databázové programy dbase (formát dbf), Paradox (formát db), soubor xml (formát html ve struktuře xml), tabulkový program Lotus (formát wk3). 9.6 Visio Četné možnosti využití dat z Accessu nabízí Visio. Visio je prostředkem vizualizace dat z Accessu či seznamů z Excelu. V diagramu Visia máme připraven diagram modelu životního cyklu našich odběratelů. Na základě dotazníkového průzkumu jsme rozdělili odběratele do 8 stádií (viz obr. 9-15). OBR. 9-15: DIAGRAM MODEL ŽIVOTNÍHO CYKLU BEZ TEPLOMĚRŮ Stádium je pro jednotlivé odběratele uvedeno v tabulce Podniky. Parametry stádia (Stupeň, Charakteristika, Dynamika_stádia) jsou upřesněny v tabulce Stádia. V dotazu Visio Stádia jsou spočteny s využitím souhrnu počty odběratelů v jednotlivých stádiích (viz obr. 9-16). 204 Úprava nabídek (menu) a panelu nástrojů Accessu není v této publikaci vysvětlována.

198 9 Externí data 198 OBR. 9-16: DOTAZ VISIO STÁDIA Enc-09-06a.vsd Data načteme do výkresu Visia: Ve Visiu otevřeme výchozí diagram Enc-09-06a.vsd. V kartě DATA ve skupině EXTERNÍ DATA klikneme do tlačítka Vlastní import. V prvním okně průvodce Výběr dat vybereme možnost Databáze aplikace Microsoft Office Access. V druhém okně dohledáme databázi Encian.accdb a ve spodní části upřesníme datovou sadu Visio Stádia. Ve třetím okně ponecháme vybrány všechny sloupce (pole) a všechny řádky (věty). V čtvrtém okně vybereme jako identifikační pole Stádium (místo pole Počet podniků, musíme využít svislý posuvník). V posledním okně klikneme do tlačítka Dokončit. Výsledek dotazu se načte do diagramu Visia jako externí data s názvem Visio Stádia, která se zobrazí v samostatném okně Externí data. Data můžeme připojit k obrazcům diagramu tažením jednotlivých řádků z okna Externí data na jednotlivé obrazce. Využijeme rychlejší automatický způsob: V kartě DATA ve skupině ROZŠÍŘENÁ DATOVÁ PŘIPOJENÍ klikneme do tlačítka Propojit data. V prvním okně průvodce ponecháme zaškrtnutu volbu Všechny obrazce na této stránce. V druhém okně vybereme k propojení sloupec Stádium a pole obrazce Text obrazce. Ve třetím okně potvrdíme propojení tlačítkem Dokončit. S externími daty se propojily všechny elipsy s výjimkou elipsy koncepce, v tomto stádiu žádný odběratel není. U každé propojené elipsy je zobrazen název stádia počet podniků formou tzv. datového symbolu. Datový symbol upravíme: V kartě DATA ve skupině ROZŠÍŘENÁ DATOVÁ PROPOJENÍ klikneme do tlačítka Rozšířené datové symboly. Pravým tlačítkem klikneme do datového symbolu Data Visio Stádia a z místní nabídky vybereme UPRAVIT DATOVÝ SYMBOL. V dialogovém okně Upravit datový symbol klikneme do obou položek Charakteristika a Počet podniků a odstraníme je kliknutím do tlačítka Odstranit. Klikneme do tlačítka Nová položka. V dialogovém okně Nová položka upřesníme: Datové pole: Počet podniků Zobrazeno jako: Datový pruh Styl: Teploměr Maximální hodnota: 18 Umístění popisků: Nezobrazeno Zrušíme zaškrtnutí pole Použít výchozí pozici. Vodorovně: Pravá hrana Svisle: Doprostřed

199 9 Externí data 199 Enc-09-06b.vsd Kliknutím do tlačítka OK ukončíme práci s dialogovým oknem Nová položka. Kliknutím do tlačítka OK ukončíme práci s dialogovým oknem Upravit datový symbol. Nyní je pro každé stádium znázorněn počet odběratelů ve stádiu výší rtuti v teploměru (viz obr. 9-17). OBR. 9-17: DIAGRAM MODEL ŽIVOTNÍHO CYKLU S TEPLOMĚRY Organizační diagram Enc-09-06c.vsd Data jsou nakopírována do diagramu a jsou nezávislá na databázi. Můžeme je však aktualizovat. V kartě DATA ve skupině EXTERNÍ DATA klikneme do (horní části) tlačítka Aktualizovat vše. Můžeme upřesnit parametry aktualizace: V kartě DATA ve skupině EXTERNÍ DATA klikneme do (spodní části) tlačítka Aktualizovat vše a vybereme volbu Aktualizovat data. V dialogovém okně Aktualizovat data klikneme do tlačítka Konfigurovat. V dialogovém okně Konfigurovat aktualizaci můžeme mj. nastavit interval automatické aktualizace. Můžeme také změnit zdroj dat nebo jeho umístění. Diagram můžeme vytvořit také automaticky, např. organizační diagram firmy: Ve Visiu otevřeme nový výkres. V kartě SOUBOR klikneme do tlačítka Nový. V horní části vybereme šablony dle Kategorie. Klikneme do kategorie OBCHODNÍ. Klikneme do dlaždice šablony Organizační diagram. Díky šabloně je zobrazena karta ORGANIZAČNÍ DIAGRAM a vzorník Pás obrazce organizačního diagramu. V kartě ORGANIZAČNÍ DIAGRAM ve skupině DATA ORGANIZACE klikneme do tlačítka Importovat. V prvním okně průvodce organizačním diagramem ponecháme vybránu volbu Informace již uložené v souboru nebo databázi. V druhém vybereme možnost Zdroj dat kompatibilní se standardem ODBC. Ve třetím okně vybereme zdroje dat v MS Access Database, klikneme do tlačítka Další a dohledáme umístění databáze Encian.accdb. Ve čtvrtém okně vybereme tabulku Osoby. (Za tabulkami se nabízí dotazy.) V pátém okně do pole Jméno vybereme pole Příjmení, v poli Nadřízený ponecháme vybrané pole Nadřízený a v poli První jméno ponecháme vybrané pole Jméno. V šestém okně vybereme jako zobrazená pole Příjmení, Oddělení, Charakteristika, Místnost, Telefon. V sedmém okně vybereme jako datová pole obrazců všechna pole s výjimkou polí Titul1, Titul2, Nadřízený, Web_stránka, Web_foto, Foto a Přílohy. V osmém okně zaškrtneme pole Propojit záznamy databáze s obrazci. V devátém okně dohledáme složku, v níž jsou fotografie zaměstnanců (složka portréty). V poli Porovnávat obrázky podle ponecháme hodnotu Osoba. Fotografie musí být nazvány jako klíčové pole Osoba. V desátém okně vybereme volbu Chci, aby průvodce automaticky přerušil organizační diagram mezi stránkami: Vysoce postavený vedoucí a klikneme do tlačítka Dokončit. Automaticky se vytvořil diagram, který zřetězil zaměstnance dle pole Nadřízený (viz obr. 9-18). V diagramu provedeme některé úpravy:

200 9 Externí data 200 OBR. 9-18: ORGANIZAČNÍ DIAGRAM Z místní nabídky Sladké vybereme Změnit typ pozice a zvolíme Asistent. Diagram překreslíme. V kartě ORGANIZAČNÍ DIAGRAM ve skupině ROZLOŽENÍ klikneme do tlačítka Znovu rozložit. Klikneme na uzel Dvořák (KON) a v kartě ORGANIZAČNÍ DIAGRAM ve skupině USPOŘÁDAT klikneme do tlačítka Přesunout doleva. V panelu nástrojů Organizační diagram klikneme do tlačítka Přesunout doleva. Obdobně změníme pořadí dalších oddělení tak, aby oddělení byla v pořadí ANA, PRG, MAR, DIS, KON. Klikneme na uzel Kolínská (PRG). V kartě ORGANIZAČNÍ DIAGRAM ve skupině ROZLOŽENÍ klikneme do tlačítka Rozložení a vybereme v sekci VEDLE SEBE volbu Jeden ze shora. Diagram překreslíme. V kartě ORGANIZAČNÍ DIAGRAM ve skupině ROZLOŽENÍ klikneme do tlačítka Znovu rozložit. K formátování uzlů diagramu využijeme datový symbol: Klikneme na uzel Marie Sladké. V kartě DATA ve skupině ROZŠÍŘENÁ DATOVÁ PŘIPOJENÍ klikneme do tlačítka Rozšířené datové symboly a do volby Vytvořit nový datový symbol. V dialogovém okně Nový datový symbol klikneme do tlačítka Nová položka a upřesníme parametry: Datové pole: Oddělení Zobrazeno jako: Barva podle hodnoty» ANA: Červená, Zvýraznění 1, velmi světlá 60 %» DIS: Olivově zelená, Zvýraznění 2» KON: Tmavě modrá, Čára, velmi světlá 60 %» MAR: Azurová, Zvýraznění 4» PRG: Oranžová, Zvýraznění 5» RED: Levandulová, Zvýraznění 3 Doplníme další položky: Datové pole: Oprávnění» Zobrazeno jako: Sada ikon» Styl: Zaškrtnutí v zeleném kolečku» Vodorovně: Pravá hrana» Svisle: Nahoře Datové pole: Úvazek» Zobrazeno jako: Sada ikon» Styl: Graf» Vodorovně: Pravá hrana» Svisle: Doprostřed

201 9 Externí data 201 Visio Access Kontingenční diagram Datové pole: Pohlaví» Zobrazeno jako: Sada ikon» Styl: Praporek» Vodorovně: Pravá hrana» Svisle: Dolů V dialogovém okně Nový datový symbol klikneme do tlačítka OK. Na dotaz Chcete tento datový symbol použít pro vybrané obrazce? klikneme do tlačítka Ano. V kartě DATA ve skupině ROZŠÍŘENÁ DATOVÁ PROPOJENÍ klikneme do tlačítka Rozšířené datové symboly a z místní nabídky Datového symbolu vybereme Přejmenovat. Zadáme název Uzel. Datový symbol Uzel aplikujeme na všechny uzly diagramu. Označíme jej a vybereme datový symbol. Z místní nabídky Nováka vybereme Změnit typ pozice a zvolíme Vedoucí (místo Ředitel, který je jinak barevně řešen). V případě organizačního diagramu je možné data aktualizovat ve směru z Accessu i do Accessu. Visio může také automaticky sestavit kontingenční diagram (příkaz Data, Kontingenční diagram), který vychází z dat Acccessu. Můžeme tak např. vytvořit: kontingenční diagram tržeb za prodané programy dle stádií a odběratelů, kontingenční diagram tržeb a počtu prodaných programů dle programů a měsíců, kontingenční diagram tržeb a počtu prodaných programů dle oddělení a zaměstnanců, kontingenční diagram tržeb a počtu prodaných programů dle stádií a programů, kontingenční diagram celkové délky služebních cest dle místa cest Další aplikace Project Access Enc-09-07a.mpp Project Data lze importovat z či exportovat do dalších aplikací Microsoftu. Aplikace Project je program, který se používá pro zpracování projektů. Projekt lze chápat jako plán práce, který má na konci výsledek. Aplikace Project eviduje jednotlivé úkoly včetně jejich návazností, dále eviduje zdroje využité pro realizaci úkolů včetně zamezení jejich přetížení, zaznamenává náklady na realizaci projektu. Umí také sledovat průběh projektu, konfrontovat plán a skutečnost. Project ukládá data do své interní databáze. Ta obsahuje četné tabulky, jejichž struktura je dána nebo ji mírně může ovlivnit uživatel definováním vlastních polí. Project s daty provádí četné výpočty a optimalizace. Data shromážděná v Projectu lze exportovat do Accessu pro podrobnější analýzy a sledování návazností. Firma Encián připravila a realizovala projekt přestavby zasedací místnosti na školící počítačovou místnost. Data lze exportovat z projektu v aplikaci Project: V Projectu v kartě SESTAVY ve skupině EXPORT klikneme do tlačítka Vizuální sestavy. V dialogovém okně Vizuální sestavy Vytvořit sestavu klikneme do tlačítka Uložit data. V dialogovém okně Vizuální sestavy Uložit data sestav klikneme do tlačítka Uložit databázi. Zadáme název databáze a složku pro její uložení. Vytvoří se databáze ve formátu mdb, kterou můžeme otevřít v Accessu Databáze obsahuje řadu tabulek a několik dotazů, mezi hlavní tabulky patří: MSP_EpmTask: Úkoly (identifikátorem věty je pole TaskUID), MSP_EpmResource: Zdroje (identifikátorem věty je pole ResourceUID), MSP_Assignment: Používání zdrojů úkoly Podrobný výklad práce s daty v aplikaci Visio je uveden v kap. 10 v publikaci KUBÁLEK, Tomáš, KUBÁLKOVÁ, Markéta. Program pro tvorbu diagramů Microsoft Visio Praha: Nakladatelství Oeconomica, s. ISBN Podrobnější výklad sestav v aplikaci Project je uveden v kap. 8 v publikaci KUBÁLEK, Tomáš, KUBÁLKOVÁ, Markéta. Řízení projektů v Microsoft Office Project: Učebnice pro vysoké školy. Brno: Computer Press, s. ISBN

202 9 Externí data 202 Outlook Access Access Outlook Access OneNote Access Publisher P97 Publisher Podniky Faktury Licence Programy Osoby (178 vět) Outlook Aplikace Outlook je organizátor osobních informací. Eviduje osobní kontakty, plní funkci poštovního klienta, eviduje plánované akce či celodenní události, eviduje úkoly, formou poznámek je možné v aplikaci zapsat nestrukturovaný text. Data ukládá aplikace do jediného souboru formátu pst. Soubor pst obsahuje jednotlivé složky (např. Kontakty, Doručená pošta). Outlook může pracovat současně s více soubory pst. Data z libovolné složky můžeme importovat do Accessu, např. můžeme načíst kontakty ze složky asistentky ředitele Marie Sladké: V kartě EXTERNÍ DATA ve skupině IMPORTOVAT A PROPOJIT klikneme do tlačítka Další a vybereme SLOŽKA APLIKACE OUTLOOK. V dialogovém okně Načíst externí data ponecháme zaškrtnutu volbu Importovat zdrojová data do nové tabulky v aktuální databázi. 207 V prvním okně průvodce importem vybereme účet a složku, např. účet Marie Sladká a v něm složku Kontakty (Contacts). V druhém okně můžeme změnit názvy některých importovaných polí. Ve třetím okně neurčíme primární klíč. Ve čtvrtém okně potvrdíme název tabulky Kontakty. Vytvořili jsme tabulku Kontakty. Access nepodporuje export do Outlooku. Výstup dat z Accessu můžeme řešit propojením se složkou Outlooku OneNote Aplikace OneNote je prostředek pro shromažďování, třídění, vyhledávání a sdílení informací. Access nenabízí export do ani import z OneNote. K přenosu dat lze využít schránku. V tabulce či ve výsledku dotazu označíme celou datovou sadu či vybrané řádky nebo sloupce. Kombinací kláves Ctrl C v Accessu zkopírujeme označenou část do schránky. Kombinací kláves Ctrl V ve OneNote vložíme obsah schránky do vhodné stránky ve OneNote ve formě tabulky. Sloupce jsou nazvány názvy polí. Pod tabulkou se tučně vypíše název zdrojové tabulky či dotazu Publisher Aplikace Publisher je určena pro tvorbu a publikování marketingových a dalších materiálů pro tisk a web. Publisher obsahuje řadu šablon roztříděných do kategorií dle typů publikací. 208 Obdobně jako Word nabízí Publisher hromadnou korespondenci pro tvorbu publikací s poli slučovanými z datového zdroje. Ve firmě Encián připravíme potisk CD, na nichž poskytujeme software. Na CD má být uveden název a zkratka programu, číslo licence, její cena, IČ vlastníka (odběratele), název firmy vlastníka a datum prodeje licence. Nejprve v Accessu připravíme dotaz, který shromáždí uvedená data z tabulek Programy, Licence, Faktury, Podniky. OBR. 9-19: DOTAZ P97 PUBLISHER 207 Pokud bychom vybrali volbu Vytvořit odkaz na zdroj dat vytvořením propojené tabulky, data v Accessu by se automaticky aktualizovala při změně dat v Outlooku. Soubor pst by však musel být dostupný v původním umístění. 208 Publisher nabízí šablony pro typy publikací: Brožury, Bulletiny, Dárkové poukázky, Diplomy, , Hlavičkový papír, Kalendáře, Karty s pozdravem, Katalogy, Nabídky, Nápisy, Nápisy a výstrahy, Obálky, Obchodní formuláře, Oznámení, Papírové skládanky, Pohlednice, Pozvánky, Programy, Přání, Reklamy, Rychlé publikace, Štítky, Vizitky, Životopisy.

203 9 Externí data 203 Enc-09-07b.pub V aplikaci Publisher připravíme potisk CD: Po příkazu SOUBOR, NOVÝ vybereme v kategorii Předdefinované / Štítky šablonu Štítek na média (s větším středovým otvorem) a klikneme do tlačítka Vytvořit. Tažením za vodorovné a svislé pravítko umístíme do návrhu potisku vodorovné a svislé vodítko na pozici 5,8 cm (doprostřed). Obdobně umístíme svislá vodítka doprostřed levé a pravé části potisku, tj. na pozice 2 cm a 9,5 cm. V kartě DOMŮ ve skupině OBJEKTY klikneme do tlačítka Nakreslit textové pole. Postupně nakreslíme obrysy 3 textových polí (dle obr. 9-20). 209 OBR. 9-20: POTISK CD V APLIKACI PUBLISHER V kartě KORESPONDENCE ve skupině ZAČÁTEK klikneme do tlačítka Hromadná korespondence a vybereme volbu Podrobný průvodce hromadnou korespondencí. V prvním kroku průvodce hromadnou korespondencí ponecháme vybranou volbu Použít existující seznam. Ve druhém kroku průvodce dohledáme datový zdroj Encian.accdb a v něm vybereme dotaz P97 Publisher. V seznamu záznamů datové sady ponecháme vybrány všechny záznamy. Klikneme do tlačítka OK. Ze seznamu polí přetáhneme do horního pole potisku pole Program. Stisknutím klávesy Enter vložíme nový řádek. Vložíme pole Program_v. Označíme text horního pole. V kartě NÁSTROJE TEXTOVÉHO POLE / FORMÁT nastavíme: ve skupině PÍSMO velikost písma 18 a tučné písmo, ve skupině ZAROVNÁNÍ nastavíme Zarovnat na střed. Obdobně vložíme text do pravého pole: Na začátku je volný řádek. Na druhém řádku je text Licence, po mezeře pole Sériové_číslo. Po volném řádku je vloženo pole Cena. Z místní nabídky pole Cena vybereme FORMÁT MĚNY a upřesníme Kč čeština a počet desetinných míst na 0. Označíme text pravého pole. V kartě NÁSTROJE TEXTOVÉHO POLE / FORMÁT nastavíme: 209 Ohraničení textový polí lze zvýraznit. V kartě ZOBRAZENÍ ve skupině ZOBRAZIT zaškrtneme pole Ohraničení.

204 9 Externí data 204 ve skupině PÍSMO velikost písma 14, ve skupině ZAROVNÁNÍ nastavíme Zarovnat na střed. Obdobně vložíme text do dolního pole (pro přechod na další řádek použijeme kombinaci kláves Shift Enter): V prvním řádku je text IČ vlastníka:, za ním vloženo pole IČ. V druhém řádku je vloženo pole Název_podniku. Ve třetím řádku je vloženo pole Datum. Z místní nabídky vybereme volbu Formát data a času a zadáme Označíme text dolního pole. V kartě NÁSTROJE TEXTOVÉHO POLE / FORMÁT nastavíme: ve skupině PÍSMO velikost písma 14, ve skupině ZAROVNÁNÍ nastavíme Zarovnat na střed. V kartě VLOŽENÍ ve skupině ILUSTRACE klikneme do tlačítka Obrázky. Vložíme obrázek Encian.png nad horní pole. Upřesníme pozici a velikost obrázku. Když v kartě KORESPONDENCE ve skupině NÁHLED VÝSLEDKŮ klikneme do tlačítka Náhled výsledků, zobrazíme místo názvů polí jejich hodnoty. Obdobně jako v hromadné korespondenci Wordu můžeme přejít na zobrazení hodnot z jiných vět. Ve třetím okně průvodce můžeme publikaci vytisknout, sloučit do nové publikace nebo zobrazit její náhled. Zobrazíme náhled. Cíl odkazů Vazba odkazů Nesvázané odkazy P98d Odkazy 9.8 Hypertextové odkazy Hypertextové odkazy mohou být z databáze Accessu směrovány: na lokální soubory, na soubory umístěné na webu, především na webové stránky. Hypertextové odkazy mohou být: nesvázané s obsahem databáze, potom jsou součástí formulářů 210, svázané s obsahem databáze, jejich obsah je potom diferencován pro jednotlivé věty dle obsahu pole typu Hypertextový odkaz. Svázaný hypertextový odkaz může být součástí tabulky, výsledků dotazu, formuláře či sestavy. Nesvázané hypertextové odkazy budeme demonstrovat v novém formuláři: V kartě VYTVOŘENÍ ve skupině FORMULÁŘE klikneme do tlačítka Návrh formuláře. V návrhovém zobrazení v kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Vložit hypertextový odkaz nebo stiskneme kombinaci kláves Ctrl K. V dialogovém okně Vložit hypertextový odkaz (viz obr. 9-21) můžeme v levé části vybrat ze čtyř možností: OBR. 9-21: DIALOGOVÉ OKNO VLOŽIT HYPERTEXTOVÝ ODKAZ 210 Hypertextový odkaz může být také součástí také sestavy, zde by však nebyl využitelný.

205 9 Externí data 205 Enc-09-08a.docx Enc-09-08b.xlsx Enc-09-08c.pptx Existující soubor nebo webová stránka:» Tlačítkem Procházet můžeme vybrat dostupný soubor (na lokálním či dostupném síťovém disku).» Tlačítkem Procházet web spustíme webový prohlížeč, v němž dohledáme stránku, kliknutím zpět na okno Vložit hypertextový odkaz se adresa stránky vloží do pole Adresa.» Po levé straně můžeme využít záložky pro rychlé vyhledání odkazu: Aktuální složka, Prohlédnuté stránky, Naposledy otevřené soubory.» Tlačítko Záložka je určeno pouze pro odkazy na objekty aktuální databáze Accessu. Umožňuje vybrat objekt z otevřené databáze. Objekt v této databázi:» Vybereme typ objektu (tabulky, dotazy, formuláře, sestavy, makra, moduly) a konkrétní objekt, na nějž se chceme odkázat. ová adresa:» Můžeme zadat ovou adresu a Předmět, které budou použity pro odeslání u z databáze poštovním programem nastaveným na počítači. Tvůrce hypertextových odkazů: Používá se ve svázaných odkazech. Umožňuje složit adresu odkazu s využitím polí z aktuální věty. Využívá se také při zobrazení interního webového prohlížeče (viz kap. 5.2). V našem případě využijeme objekt v této databázi, vybereme tabulku Osoby. Upřesníme odkaz: Do pole Zobrazený text zapíšeme Tabulka Osoby. Tento text se bude zobrazovat ve formuláři. Klikneme do tlačítka Komentář a v dialogovém okně Nastavit komentář hypertextového odkazu zapíšeme text Otevření tabulky Osoby. Tento text se zobrazí v samostatném rámečku, když se přiblížíme kurzorem k odkazu ve formuláři. Obdobně doplníme do formuláře další odkazy, vždy kliknutím v návrhu označíme předchozí odkaz, aby se další umístil pod něj: na dotaz P42a Křestní jména na formulář P52 Osoby Identifikace na sestavu P66 Telefonní seznam Obdobně nachystáme odkazy na lokální soubory: První odkaz bude na dokument Wordu Enc-09-08a.docx, který obsahuje tabulku cen programů. Každý program má v dokumentu svou záložku 211 : Klikneme na odkaz na sestavu. Stiskneme kombinaci kláves Ctrl K. Vybereme odkaz na Existující soubor nebo webovou stránku. Dohledáme soubor Enc-09-08a.docx. Do pole Zobrazený text zapíšeme Word záložka FIN. Do pole Adresa doplníme za odkaz #FIN, což upřesní odkaz na záložku. Odkaz přemístíme do druhého sloupce odkazů (5 cm od levého okraje). Druhý odkaz je na sešit Excelu Enc-09-08b.xlsx, který obsahuje v prvním listě List1 tabulku cen programů a ve druhém listě Graf graf cen programů. Upřesníme skok na záložku (název) #FIN 212. Třetí odkaz je na buňku A1 listu Graf sešitu Enc-09-08b.xlsx. Upřesníme skok na záložku (buňku) #Graf!A1. Čtvrtý odkaz je na prezentaci PowerPointu Enc-09-08c.pptx, která obsahuje na jednotlivých snímcích ceny programů. Upřesníme skok na záložku (snímek) #2. V návrhu formuláře zobrazíme seznam vlastností. Vidíme, že adresu odkazu umisťuje Access do dvou formátových vlastností: 211 Ve Wordu jsme v přehledu programů označili tažením zkratku názvu jednotlivého programu a v kartě VLOŽENÍ ve skupině ODKAZY jsme kliknuli do tlačítka Záložka. V dialogovém okně Záložka jsme záložku přidali tlačítkem Přidat. 212 V Excelu jsme v tabulce cen označili první dva sloupce a v kartě VZORCE jsme ve skupině DEFINOVAT NÁZVY kliknuli do tlačítka Vytvořit z výběru a vybrali jsme Levý sloupec.

206 9 Externí data 206 Adresa odkazu: soubor, popř. webová adresa, v případě objektu ve stejné databázi nevyplněn, 213 Podadresa odkazu: záložka, název, snímek, popř. záložka na webové stránce, v případě objektu ve stejné databázi je zde anglický název typu objektu (např. Table) a po mezeře název konkrétního objektu (např. Osoby). Obdobně můžeme vlastnosti doplnit k tlačítku: V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Tlačítko. Vymezíme tlačítko v prvním sloupci odkazů. Upravíme formátové vlastnosti tlačítka: Titulek: Makro P72 Makro, Podadresa odkazu: Macro P72 Makro 214. Výsledný stav formuláře je uveden v obr OBR. 9-22: FORMULÁŘ P98D ODKAZY Svázané odkazy P98e Webové adresy V tabulce Osoby jsou odkazy na webové stránky jednotlivých zaměstnanců uvedeny formou svázaného hypertextového odkazu. Pole Web_stránka můžeme naplnit automaticky aktualizačním dotazem. Vytvoříme dvě jeho verze: webové adresy čerpání stránek zaměstnanců z webu (viz obr. 9-23) V aktualizačním dotazu naplníme první dvě složky hypertextového odkazu: Do zobrazovaného textu naplníme konstantní text Webová stránka a po pomlčce doplníme jméno a příjmení. Do adresy odkazu vygenerujeme adresu na webu. Funkci Ident jsme definovali v modulu P94 Ident (viz kap. 9.4), vrací prvních 8 znaků příjmení bez háčků a čárek, v případě Škody doplní první písmeno křestního jména, neboť zaměstnanci s příjmením Škoda jsou ve firmě dva. OBR. 9-23: AKTUALIZAČNÍ DOTAZ P98E WEBOVÉ ADRESY P98f Lokální adresy lokální adresy čerpání stránek zaměstnanců ze složky databáze (viz obr. 9-24). První složka hypertextového odkazu je stejná. Do adresy vygenerujeme odkaz na soubor index.htm v patřičné podsložce složky web, která je umístěna ve stejné složce jako databáze. OBR. 9-24: AKTUALIZAČNÍ DOTAZ P98F LOKÁLNÍ ADRESY 213 Cesta se ukládá celá, pro univerzální použití je vhodné zkrátit ji na pouhý název souboru a předpokládat umístění souboru ve stejné složce jako databáze. 214 Odkaz by nebyl funkční, pokud bychom vyplnili pro databázi vlastnost Základ hypertextového odkazu (karta Soubor, Odkaz Zobrazit a upravit vlastnosti databáze, karta Souhrnné informace).

207 9 Externí data 207 Ukládání do SharePointu Tvorba webové aplikace Import tabulky Okno webové aplikace 9.9 Webová aplikace pro Access Access umožňuje ukládat do SharePointu: tabulky formou seznamů, každá tabulka je v jednotlivém seznamu, Aplikace pro Access, všechny tabulky jsou v jedné tzv. webové aplikaci pro Access. Připravíme webovou aplikaci Dovolené, do níž budou zaměstnanci firmy Encián prostřednictvím portálu Office 365 zapisovat vé dovolené. Aplikaci můžeme vytvořit: z Acessu: V kartě SOUBOR klikneme do tlačítka Nový a vybereme šablonu Vlastní webová aplikace. V dialogovém okně Vlastní webová aplikace vyplníme parametry:» Název aplikace: Dovolené Encián» Adresa URL webu SharePointu nebo Office 365: adresa týmového webu předmětu v osobní kolekci webů Office 365, např. Klikneme do tlačítka Vytvořit. z SharePointu: V portálu Office 365 spustíme aplikaci OneDrive pro firmy. Klikneme do tlačítka Nastavení (ozubené kolečko). Do vyhledávacího pole zadáme Obsah webu a klikneme na odkaz Obsah webu. V podřízených webech vybereme dříve založený web 2OP483 (viz kap ). V levém panelu Snadné spuštění klikneme do odkazu Obsah webu. Klikneme do tlačítka Přidat aplikaci. Do vyhledávacího pole zapíšeme Access. Zadáme název aplikace Dovolené Encián. Klikneme do dlaždice Aplikace pro Access. Zadáme název aplikace Dovolené a klikneme do tlačítka Vytvořit. Klikneme do dlaždice Dovolené Encián. Na další stránce Access klikneme do odkazu Otevřete tuto aplikaci v Accessu a můžete přidávat tabulky. Stáhne se soubor App.accdw, který otevřeme. Potvrdíme stažení informací z intranetu. Importujeme do webové aplikace Accessu tabulky: Ve spodní části klikneme do tlačítka Access. (Můžeme také importovat data z Excelu, SQL serveru, textového souboru nebo seznamu SharePointu.) V dialogovém okně Načíst externí data klikneme do tlačítka Procházet a dohledáme databázi Encian.accdb. Klikneme do tlačítka OK. V dialogovém okně Import objektů kliknutím vybereme jedinou tabulku Osoby. Klikneme do tlačítka OK. V dialogovém okně Chyby a upozornění importu jsme upozornění, že se neimportovalo pole Foto, SharePoint nepodporuje objekty typu Objekt OLE. Klikneme do tlačítka Zavřít. V kartě DOMŮ ve skupině VYTVOŘIT klikneme do tlačítka Tabulka. Importujeme tabulku Dovolené z databáze Duv accdb. Webové aplikace mají omezený rozsah karet a tlačítek: V kartě DOMŮ ve skupině ZOBRAZIT klikneme do tlačítka Navigační podokno, abychom zobrazili navigační podokno. V kartě DOMŮ ve skupině VYTVOŘIT klikneme do tlačítka Tabulka, abychom zavřeli okno Přidat tabulky. Pro objekt databáze je k dispozici pouze karta DOMŮ (viz obr. 9-25). V navigačním podokně je seznam objektů dle jejich kategorií: Tabulky: importované tabulky Dovolené a Osoby Formuláře: ke každé importované tabulce jsou automaticky vytvořeny dva formuláře datový list s větami v tabulce (obdoba nekonečného formuláře) a seznam s větou na samostatné stránce (obdoba samostatného formuláře).

208 9 Externí data 208 OBR. 9-25: DATABÁZE DOVOLENÉ ENCIÁN Ikona tabulky Úprava formuláře V kartě objektu databáze je oblast výběru tabulky, jak bude zobrazena na webu. Před tabulkou je ikona tabulky. Změníme ikony tabulek: V oblasti výběru tabulky klikneme na tabulku Osoby. V místním panelu nástrojů v pravém dolním rohu vedle názvu tabulky klikneme do tlačítka Formátování a vybereme ikonu Lidé. Obdobně pro tabulku Dovolené vybereme ikonu Pláž. Upravíme formulář Seznam: Klikneme na tlačítko Upravit. V další kartě se zobrazí návrh formuláře a k němu kontextová kartě NÁVRH (viz obr. 9-26). OBR. 9-26: FORMULÁŘ OSOBY SEZNAM Na začátek formuláře doplníme obrázek: V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Obrázek. Pole obrázku táhneme ve formuláři nad pole Osoba. Popisek a textové pole Zahájení a Dokončení přesuneme pod osobu. Klikneme do pole obrázku a v místním panelu nástrojů do tlačítka Data. Do parametru URL obrázku vložíme odkaz na vhodnou webovou adresu, např. Osobu chceme vyhledávat ze seznamu osob: V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Pole se seznamem. Odstraníme původní textové pole Osoba a na jeho místo umístíme pole se seznamem, upřesníme jeho parametry:» Název ovládacího prvku: Osoba textové pole» Zdroj ovládací prvku: Osoba» Typ zdroje řádků: Tabulka nebo dotaz» Zdroj řádků: Osoby

209 9 Externí data 209» Vázané pole: Osoba» Zobrazované pole: Osoba» Překryvné okno: Osoby Seznam 215 Pro zahájení a dokončení nechceme zobrazovat čas, proto upravíme jejich formát: V místním panelu nástrojů klikneme do tlačítka Formátování. V poli Zobrazit jako vybereme hodnotu Krátké datum. Do pole Popis zapíšeme Datum zahájení/ukončení služební cesty. Do formuláře vypočteme délku služební cesty: Klikneme do popisku Zahájení. V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Popisek. Nový popisek se umístí za popisek Zahájení. Do popisku zapíšeme Délka cesty. Klikneme do textového pole Zahájení. V kartě NÁVRH ve skupině OVLÁDACÍ PRVKY klikneme do tlačítka Pole se seznamem. V místním panelu nástrojů klikneme do tlačítka Data a upřesníme parametry pole:» Název ovládacího prvku: Délka» Zdroj ovládací prvku: klikneme do tlačítka Tvůrce (tři tečky) a zapíšeme výraz: =Day([Dokončení textové pole])-day([zahájení textové pole])+(month([dokončení textové pole])-month([zahájení textové pole]))*31 Ve webové aplikaci bohužel není dostupná funkce Val, proto počítáme délku z rozdílu dnů, korekce přechodu na další měsíc je pro zjednodušení funkce přesná pouze pro měsíce s délkou 31 dnů. V místním panelu nástrojů klikneme do tlačítka Formátování a upřesníme parametry pole:» Zobrazit jako: Standardní» Desetinná místa: 0 Upravený formulář uložíme kliknutím do tlačítka Uložit v panelu nástrojů Rychlý přístup nebo kombinací kláves Ctrl S. OBR. 9-27: WEBOVÝ FORMULÁŘ DOVOLENÉ SEZNAM 215 Překryvné okno se zobrazí po kliknutí do odkazu s osobou ve formuláři dovolených.

210 9 Externí data 210 Webový formulář Seznam Webový formulář Datový list a export Přejdeme do okna webu či spustíme webovou aplikaci, když v kartě DOMŮ ve skupině ZOBRAZENÍ klikneme do tlačítka Spustit aplikaci. V obr je stránka po kliknutí do odkazu Novak.Petr, tj. po zobrazení překryvného okna. Vysvětlivky k formuláři: V levé oblasti výběru tabulky můžeme vybírat tabulku. V horní části vybíráme formulář. V Accessu můžeme doplnit i další vlastní formuláře. Význam tlačítek panelu nástrojů: Přidat, možno také klávesou N: přidání nové věty, Odstranit Delete: odstranění věty, Upravit E: editace věty, Uložit Ctrl S: uložení věty a ukončení editace, Storno Esc: ukončení editace bez uložení věty. Data můžeme z tabulky exportovat do Excelu: Zobrazíme kliknutím do odkazu v horním seznamu formulářů formulář Dovolené Datový list. V panelu nástrojů formuláře klikneme do tlačítka Stáhnout (viz obr. 9-28). Data se uloží do sešitu Excelu. OBR. 9-28: WEBOVÝ FORMULÁŘ DOVOLENÉ DATOVÝ LIST Přechody z webové aplikace Sestavy Z webové aplikace můžeme přejít: tlačítkem Zpět na web (vlevo nahoře) do týmového webu, v níž je aplikace uložena, tlačítkem Nastavení (ozubené kolečko vpravo nahoře) a volbou Upravit v Accessu do otevření webové databáze v Acccessu. Úpravy struktury tabulek a návrhu formuláře můžeme provádět pouze v Accessu. K tabulkám a formulářům můžeme doplnit sestavy dostupné pouze v klientské databázi Accessu: V kartě SOUBOR v dílčí kartě Informace klikneme do tlačítka Sestava z mých dat. Vytvoříme tak klientskou databázi, která je propojena s tabulkami uloženými v aplikaci SharePointu (se službami Access Services). Data jsou v SharePointu uložena v databázi SQL. Přístup k SQL serveru: V Accessu ve webové aplikaci v kartě INFORMACE v dílčí kartě Informace klikneme do tlačítka Spravovat. Zde můžeme upravit rozsah přístupu k databázi (z mého umístění / z libovolného umístění, jen pro čtení / i pro zápis). Volbou Zobrazit informace pro připojení se zobrazí přístupové údaje pro připojení k SQL serveru: OBR. 9-29: INFORMACE O PŘIPOJENÍ K SQL SERVERU Data z SQL serveru můžeme potom připojit či exportovat z prázdné databáze Accessu. V kartě EXTERNÍ DATA ve skupině IMPORTOVAT A PROPOJIT klikneme do tlačítka Databáze ODBC.

211 Databázové nástroje Databázové nástroje Databázové nástroje Komprimace databáze Oprava databáze Automatická komprimace 10.1 Přehled V poslední kapitole budou vyloženy: nástroje nabízené v kartě DATABÁZOVÉ NÁSTROJE, jsou rozděleny do pěti skupin: NÁSTROJE, MAKRO, ZOBRAZIT ČI SKRÝT, ANALYZOVAT, PŘESUNOUT DATA, DATABÁZOVÉ NÁSTROJE. vybrané nástroje dostupné v Accessu mimo standardní karty, nastavení, která je možné upřesnit v kartě SOUBOR po kliknutí do tlačítka Možnosti, další volby v kartě SOUBOR Skupina Nástroje Když v kartě DATABÁZOVÉ NÁSTROJE ve skupině NÁSTROJE klikneme do tlačítka Zkomprimovat a opravit databázi, spustí se dva procesy: komprimace: Komprimace zmenší soubor databáze, omezí nepoužívané místo v souboru accdb, který se může podstatně zmenšit. Komprimaci je vhodné provést zejména po odstranění tabulek či více vět. Komprimace může zvýšit výkon databáze. oprava: Soubor accdb se může poškodit zejména, pokud je sdílen v síti. Při poškození jsou většinou narušeny návrhy objektů, nikoliv data. Access vytvoří v tabulce MSysCompactErrors seznam objektů, které nebyly opraveny. Neopravené objekty můžeme importovat ze zálohy databáze, pokud jsme ji dříve vytvořili. Tlačítko je také dostupné v kartě SOUBOR v dílčí kartě Informace. Můžeme nastavit automatickou komprimaci při zavírání databáze: V kartě SOUBOR klikneme do tlačítka Možnosti. V dialogovém okně Možnosti aplikace Access v kartě Aktuální databáze v sekci MOŽNOSTI APLIKACE zaškrtneme pole Komprimovat při zavření Skupina Makro Ze skupiny MAKRO je možné: tlačítkem Visual Basic nebo kombinací kláves Alt F11 přejít do okna Visual Basicu prostředí, v němž jsme připravovali moduly (viz kap. 8), tlačítkem Spustit makro zobrazit nabídku maker (viz kap. 7) a spustit některé z nich, jedná se o makra dostupná z navigačního podokna, nikoliv vnořená makra spouštěná z jiného objektu, Vztahy Sestava relací 10.4 Skupina Relace Kliknutím do tlačítka Relace se zobrazí relace databáze (viz kap. 2). Zobrazí se také aplikační karta NÁVRH se skupinami NÁSTROJE a RELACE. Aplikační kartu i schéma relací zavřeme, když v kartě NÁVRH ve skupině RELACE klikneme do tlačítka Zavřít. Když v kartě NÁVRH ve skupině NÁSTROJE klikneme do tlačítka Sestava relací, vygeneruje se účelová sestava s diagramem relací a zobrazí se v náhledu. Sestava nemá zdroj záznamů. Jedná se o statické zobrazení vztahů mezi tabulkami. Jednotlivé prvky jsou aplikací nesvázaných ovládacích prvků sestavy: Názvy tabulek jsou vloženy jako popisky s tmavě modrým pozadím. Pole tabulek jsou vloženy jako seznam, v jeho datové vlastnosti zdroj řádků je seznam názvů polí. Relace mezi tabulkami jsou vloženy jako čáry.

212 Závislosti objektů Databázové nástroje 212 Čísla u relací (1, ) jsou vloženy jako obrázky. V záhlaví sestavy je uveden nadpis a aktuální datum. V kartě VZHLED STRÁNKY je často vhodné upravit orientaci na šířku a zmenšit okraje. Další databázový nástroj umí zobrazit závislosti objektů Accessu: V navigačním podokně klikneme na tabulku Oddělení. V kartě DATABÁZOVÉ NÁSTROJE ve skupině RELACE klikneme do tlačítka Závislosti objektů. Zobrazí se upozornění, že aktualizace informací o závislostech může být časově náročná. Klikneme do tlačítka OK. V podokně Závislosti objektů se zobrazí pro jednotlivé typy objektů závislosti vybraného objektu (viz obr. 10-1). Můžeme skrýt či zobrazit závislosti jednotlivých typů objektů dvojitým kliknutím na typ objektu, např. Dotazy. V horní části můžeme vybírat ze dvou možností zobrazení: Objekty závislé na mně (např. na tabulce Oddělení), Objekty, na kterých závisím (např. objekty, na nichž je závislá tabulka Oddělení). OBR. 10-1: PODOKNO ZÁVISLOSTI OBJEKTŮ Analýza tabulky PA1 Tvorba Osoby_duplicity 10.5 Skupina Analyzovat Pod pojmem analýza shrnuje Access tři nástroje: analýzu tabulky, analýzu výkonu objektu, dokumentaci objektu. Analýza tabulky je určena ke zdokonalování návrhu tabulek. Cílem je snížit množství informací duplicitně uváděných v tabulce za účelem zmenšení databáze a prevence chyb při aktualizaci. Tabulky v databázi Encian jsou navrženy optimálně. Pro demonstraci analýzy tabulky proto připravíme tabulku s duplicitními informacemi: Připravíme vytvářecí dotaz PA1 Tvorba Osoby_duplicity (viz obr. 10-2), který sloučí informace z tabulek Osoby a Oddělení (všechna pole tabulky Osoby a pole Oddělení_v z tabulky Oddělení). Dotaz vytvoří novou tabulku Osoby_duplicity. (V kartě NÁVRH ve skupině TYP DOTAZU klikneme do tlačítka Vytvářecí a zadáme název tabulky Osoby_duplicity.) Po spuštění dotazu vznikne tabulka Osoby_duplicity, kterou budeme analyzovat: V kartě DATABÁZOVÉ NÁSTROJE ve skupině ANALYZOVAT klikneme do tlačítka Analýza tabulky. První dvě okna průvodce jsou pouze informativní, nezadáváme zde žádné parametry.

213 Databázové nástroje 213 OBR. 10-2: VYTVÁŘECÍ DOTAZ PA1 TVORBA OSOBY_DUPLICITY Ve třetím okně zrušením zatržení pole Zobrazovat úvodní stránky potlačíme zobrazování první dvou oken průvodce při jeho dalším použití. Dále vybereme ze seznamu tabulek tabulku Osoby_duplicity, kterou chceme dále analyzovat. Ve čtvrtém okně odpovídáme na dotaz, kdo bude rozdělovat pole analyzované tabulky. Ponecháme volbu Ano, nechám rozhodnutí na průvodci. V pátém okně průvodce navrhl rozdělení tabulky na čtyři tabulky. Vyčlenění polí Nadřízený a Úvazek do samostatných tabulek není vhodné: Tažením myší pole Nadřízený přesuneme z Tabulky3 do Tabulky1 za pole Telefon. Tažením myší pole Úvazek přesuneme z Tabulky3 do Tabulky1 za pole Charakteristika. Odstranili jsme tak z diagramu Tabulku3 a Tabulku4. Zbývající dvě tabulky přejmenujeme a to tak, že tabulku označíme a klikneme do tlačítka Přejmenovat tabulku nebo dvojitě klikneme na její název. Tabulky nazveme Osoby2 a Oddělení2 (viz obr. 10-3). OBR. 10-3: PÁTÉ OKNO PRŮVODCE ANALÝZOU TABULKY V šestém okně zkontrolujeme definice primárních klíčů. Access správně určil jako klíčové pole Oddělení v tabulce Oddělení2. Klikneme do pole Osoba v tabulce Osoby2 a kliknutím do tlačítka Nastavit jedinečný identifikátor vybereme klíčové pole také v tabulce Osoby2. V posledním okně zadáme, že chceme vytvořit pomocný dotaz, který nahradí původní tabulku Osoby_duplicity. Klikneme do tlačítka Dokončit. Access zobrazí nápovědu, jejíž okno zavřeme, a otevře výběrový dotaz Osoby_duplicity, který nahradil tabulku Osoby_duplicity. Dotaz spojuje nově vytvořené tabulky Osoby2 a Pracoviště2 tak, aby byly i nadále funkční případné dotazy, formuláře, sestavy a jiné objekty založené na

214 Databázové nástroje 214 datové sadě Osoby_duplicity. Původní tabulka Osoby_duplicity je zálohována v tabulce Osoby_duplicity_OLD. Access automaticky vytvořil relaci mezi tabulkami Osoby2 a Pracoviště2. (V diagramu relací však není zobrazena. Stačí do diagramu doplnit jednu z tabulek a z místní nabídky tabulky vybrat volbu Zobrazit přímé relace.) V tabulce Osoby2 si všimněme, jak Access vyřešil pole Oddělení. Pole je na konci struktury tabulky, má titulek Vyhledávání Oddělení2. Ve struktuře tabulky jsou upraveny vlastnosti v kartě Vyhledávání: Zobrazit ovládací prvek: Pole se seznamem, Zdroj řádků: SELECT [Oddělení] AS xyz_id_xyz, [Oddělení] & ', ' & [Oddělení_v] AS xyz_dispexpr_xyz, [Oddělení], [Oddělení_v] FROM [Oddělení2] ORDER BY [Oddělení], tj. dotaz dle obr. 10-4, OBR. 10-4: DOTAZ ZE ZDROJE ŘÁDKŮ VYHLEDÁVÁNÍ POLE PRACOVIŠTĚ Analýza výkonu Dokumentace Počet sloupců: 4, Šířky sloupců: 0cm;0,002cm;1,553cm;2,336cm, Šířka seznamu: 4,395cm. Vlastnost Šířky sloupců ovlivňuje nejen rozbalovaný seznam (v němž sloupce s nulovou šířkou nejsou zobrazeny), ale také text zobrazený ve sloupci, když není seznam rozbalen. Ve sloupci je zobrazen text z prvního sloupce rozbalovaného seznamu s nenulovou šířkou. V našem případě je to druhý sloupec, v němž jsou textově sloučeny pole Oddělení a Oddělení_v. V rozbalovaném seznamu však vidíme až třetí a čtvrtý sloupec, neboť šířka druhého sloupce je minimální. Uživatel tak vybírá ze seznamu zkratek a názvů oddělení, v tabulce se zobrazí sloučený řetězec, do tabulky se ukládá nezobrazená hodnota z prvního sloupce seznamu (zkratka). Access také nabízí kontrolu výkonu jednotlivých objektů. Před aplikací na databázi Encian zrušíme relaci mezi tabulkami Podniky a Stádia. 216 Provedeme analýzu výkonu: V kartě DATABÁZOVÉ NÁSTROJE ve skupině ANALYZOVAT klikneme do tlačítka Analýza výkonu. V prvním okně průvodce vybereme analyzované objekty. Pro ilustraci vybereme v kartě Formuláře objekt P53 Podniky Identifikace. Po kliknutí do tlačítka OK se ve druhém okně zobrazí návrhy Accessu na zvýšení výkonu. Návrhy jsou rozděleny do kategorií (viz obr. 10-5). Náměty kategorie Doporučení a Návrh může realizovat Access sám. V našem případě označíme řádek Tabulka Stádia: Vytvořit relaci s tabulkou Podniky z kategorie Rada a klikneme do tlačítka Optimalizovat. Kategorie výsledku se změní z Rady na Pevný. Kliknutím do tlačítka Zavřít ukončíme práci s Průvodcem analýzou výkonu. V diagramu relací zobrazíme vytvořenou relaci a doplníme k ní referenční integritu (včetně kaskádové aktualizace souvisejících polí). V předcházejících kapitolách jsme poznali, že Access obsahuje značné množství objektů. Objekty obsahují dílčí ovládací prvky, které jsou charakterizovány řadou vlastností. Access nabízí automatickou dokumentaci databáze vypsáním jejích charakteristik do sestavy: V kartě DATABÁZOVÉ NÁSTROJE ve skupině ANALYZOVAT klikneme do tlačítka Dokumentace databáze. Obdobně jako při analýze výkonu vybereme objekty, které chceme dokumentovat. Pro ilustraci vybereme pouze z karty Aktuální databáze objekt Relace. 216 V kartě DATABÁZOVÉ NÁSTROJE ve skupině RELACE klikneme do tlačítka Relace. Kliknutím označíme relaci mezi tabulkami Podniky a Stádia a klávesou Delele ji odstraníme.

215 Databázové nástroje 215 OBR. 10-5: DRUHÉ OKNO PRŮVODCE ANALÝZOU VÝKONU Ve formě sestavy se zobrazí dokumentace, kterou můžeme v kartě SOUBOR kliknutím do tlačítka Tisk a volbou Tisk vytisknout. Prohlížení sestavy ukončíme tlačítkem Zavřít náhled. Přesun do databáze Accessu Přesun do SharePointu 10.6 Skupina Přesunout data Tvorba kvalitního návrhu databáze je dlouhodobý proces. Často se stává, že když už je databáze užívána více uživateli s různými daty, chceme upravit návrhy objektů v databázi. Musíme potom obtížně data načítat do nové databáze s upravenými návrhy objektů. Je proto vhodnější osamostatnit data od návrhů objektů. Rozdělení databáze vyzkoušíme na zjednodušené verzi databáze: V kartě SOUBOR klikneme do tlačítka Nový. Založíme novou prázdnou databázi s názvem Encian_přední. Do nové databáze importujeme (viz kap. 9.5) z databáze Encian.accdb objekty: tabulky Místnosti, Oddělení, Osoby, formulář P52 Osoby Identifikace. V kartě DATABÁZOVÉ NÁSTROJE ve skupině PŘESUNOUT DATA klikneme do tlačítka Databáze aplikace Access. V prvním okně průvodce rozdělením jsou uvedeny informace o rozdělování, klikneme do tlačítka Rozdělit databázi. V druhém okně průvodce zadáme název zadní databáze Encian_zadní 217 a klikneme do tlačítka Rozdělit. Po chvíli se vypíše hlášení o rozdělení databáze. Klikneme do tlačítka OK. Access vytvoří dvě dílčí databáze: přední s původním názvem Encian_přední, v níž jsou uloženy návrhy objektů a odkazy propojením na zadní databázi s daty, zadní s datovými tabulkami. Nyní již můžeme upravovat přední databázi a uživatelům ji předávat s aktualizovanými návrhy objektů, aniž narušíme uživatelská data ze zadní databáze. Tabulky databáze Encian_zadní můžeme umístit formou seznamu na web SharePointu: Otevřeme databázi Encian_zadní. V kartě DATABÁZOVÉ NÁSTROJE ve skupině PŘESUNOUT DATA klikneme do tlačítka SharePoint. V prvním okně průvodce zadáme adresu webu, např Nabízí se původní název přední databáze rozšířený o písmena be (back end).

216 Databázové nástroje 216 V druhém okně průvodce zaškrtneme pole Zobrazit podrobnosti. Ve webu SharePointu se vytvořily tabulky Místnosti, Oddělení, Osoby a vytvořila se záložní kopie databáze Encian_zadní_Záloha.accdb. V tabulce Problémy s přesunutím na web služby SharePoint je protokol chyb: SharePoint nepodporuje kaskádové aktualizace souvisejících polí (Místnosti Osoby, Oddělení Osoby, Osoby Osoby). SharePoint nepodporuje datový typ Desetinné číslo, je využit typ Číslo (Úvazek). SharePoint nepodporuje datový typ Objekt OLE, příslušné pole není přesunuto (Foto) Vlastní karta Užitečné Vlastní karta Access obsahuje další nástroje nedostupné ze standardních karet. Připravíme vlastní kartu a umístíme do ní tlačítka pro vybrané další nástroje: V kartě SOUBOR klikneme do tlačítka Možnosti. V okně Možnosti aplikace Access v kartě Přizpůsobit pás karet klikneme v pravé části do tlačítka Nová karta. Klikneme na řádek Nová karta a do tlačítka Přejmenovat. Zadáme název Užitečné. Obdobně přejmenujeme Novou skupinu na Makra a doplníme (využitím tlačítka Nová skupina) skupinu Nástroje. V levé části okna zobrazíme zadáme do pole Zvolit příkaz z hodnotu Všechny příkazy. V pravé části označíme skupinu a tlačítkem Přidat přidáme příkaz, který je označený v levém seznamu, do označené skupiny. Přidáme tyto příkazy: do skupiny MAKRA» Vytvořit místní nabídku z makra do skupiny NÁSTROJE» Správce propojených tabulek» Správce přepínacích panelů» Vytvořit soubor MDE (vloží se tlačítko Vytvořit databázi ACDDE) Místní nabídka formuláře PA7a Osoby Identifikace Globální místní nabídka Nabídky z maker V databázi Encian Změníme místní nabídku formuláře pro vstup data o zaměstnancích. Využijeme k tomu makro P76 Menu, které obsahuje skupinu dílčích maker: V navigačním podokně klikneme na makro P76 Menu. V kartě UŽITEČNÉ ve skupině MAKRO klikneme do tlačítka Vytvořit místní nabídku z makra. Zkopírujeme formulář P52 Osoby Identifikace pod názvem PA7a Osoby Identifikace a otevřeme nový formulář v návrhovém zobrazení. Do jiné vlastnosti formuláře Řádek místní nabídky vybereme P76 Menu. Ve formulářovém zobrazení klikneme do pozadí formuláře pravým tlačítkem. Původní místní nabídka je nahrazena nabídkou dílčích maker makra P76 Menu. Možnost využití místní nabídky můžeme dočasně potlačit zadáním volby ne do jiné vlastnosti Místní nabídka. K původní místní nabídce se můžeme vrátit vymazáním hodnoty v jiné vlastnosti Řádek místní nabídky. Vytvořená místní nabídka může být výchozí pro všechny objekty databáze: V kartě Soubor klikneme do tlačítka Možnosti. V kartě AKTUÁLNÍ DATABÁZE ve skupině MOŽNOSTI PÁSU A PANELU NÁSTROJŮ vybereme místní nabídku v poli Řádek místní nabídky. (Nabízí se pouze makra, z nichž jsme vytvořili místní nabídku.) Po zadání se zobrazí upozornění o nutnosti zavřít a znovu otevřít aktuální databázi. Databázi zavřeme v kartě SOUBOR kliknutím do tlačítka Zavřít.

217 Karta Doplňky ve formuláři PA7b Užitečné akce Správce propojených tabulek Správce přepínacích panelů Databázové nástroje 217 Databázi otevřeme v kartě SOUBOR kliknutím do tlačítka Otevřít. Databázi vybereme ze seznamu naposledy otevřených databází. Po vyzkoušení fungování v jiném formuláři do pole Řádek místní nabídky vrátíme hodnotu výchozí, opět zavřeme a otevřeme databázi. Do formuláře můžeme doplnit samostatnou kartu DOPLŇKY: Nejdříve připravíme vhodné makro: V kartě VYTVOŘENÍ ve skupině MAKRO A KÓD klikneme do tlačítka Makro. Makro bude obsahovat jedinou akci Přidat nabídku (typ Příkazy uživatelského rozhraní) s parametry:» Název nabídky: Užitečné akce» Název makra nabídky: P76 Menu» Text na stavovém řádku: Nabídka užitečných akcí. Makro uložíme pod názvem PA7b Užitečné akce. Formulář PA7a Osoby Identifikace otevřeme v návrhovém zobrazení. Do jiné vlastnosti formuláře Řádek nabídek zapíšeme (vybrat nelze) PA7b Užitečné akce. Ve formulářovém zobrazení se zobrazuje karta DOPLŇKY. Obsahuje jedinou skupinu PŘÍKAZY NABÍDKY. Kliknutím do tlačítka Užitečné akce se otevře nabídka dílčích maker makra P76 Menu Správce propojených tabulek Access si v přední databázi pamatuje místo uložení propojených dat. Pokud uživatel data uloží do jiné složky, musíme upravit propojení tabulek. K tomu slouží nástroj Správce propojených tabulek: Přejmenujeme složku našich databází Encian_přední a Encian_zadní nebo databázi Encian_přední přejmenujeme či přesuneme do jiné složky. Otevřeme databázi Encian_přední. Dvojitým kliknutím na libovolnou tabulku zobrazíme chybové hlášení, Access předpokládá uložení zadní databáze v původní složce. V kartě UŽITEČNÉ ve skupině NÁSTROJE klikneme do tlačítka Správce propojených tabulek. V dialogovém okně Správce propojených tabulek je seznam propojených tabulek. Klikneme do tlačítka Vybrat vše a potom do tlačítka OK. V dalších oknech upřesníme, kde je soubor databáze (zadní databáze) pro jednotlivé vybrané tabulky umístěn. 218 Access upraví odkazy na propojené tabulky a vypíše hlášení, které zavřeme kliknutím do tlačítka OK. 219 Ručně bychom mohli upravit propojení tabulky také odstraněním propojení a novým připojením kliknutím v kartě EXTERNÍ DATA ve skupině IMPORTOVAT A PROPOJIT do tlačítka Access Správce přepínacích panelů Nástroj Správce přepínacích panelů umožňuje vytvořit soustavu panelů pro přepínání mezi jednotlivými objekty či dalšími přepínacími panely. Pro ukázku připravíme výchozí přepínací panel Hlavní menu přepínací panel (viz obr. 10-6), z něhož budou odkazy na panely: Formuláře: nabídka dvou formulářů a možnost návratu na hlavní menu, Sestavy: nabídka dvou sestav a možnost návratu na hlavní menu. Postup přípravy soustavy přepínacích panelů: V kartě UŽITEČNÉ ve skupině NÁSTROJE klikneme do tlačítka Správce přepínacích panelů. Access oznámí, že nemohl nalézt v databázi přepínací panel. Na dotaz, zda si jej přejeme vytvořit, klikneme do tlačítka Ano. 218 Propojené tabulky mohou být uloženy i v různých databázích 219 Někdy potřebujeme změnit odkaz na jinou verzi databáze umístěnou v jiném adresáři. Potom zaškrtneme pole Vždy zobrazit dotaz na zadání umístění a Access nám dá možnost upřesnit umístění databáze i v případě, že databáze se stejným názvem v původním adresáři existuje.

218 Databázové nástroje 218 OBR. 10-6: PŘEPÍNACÍ PANELY V DATABÁZI ENCIÁN Switchboard Items Přepínací panel Vytvoří se dva objekty databáze: tabulka Switchboard Items, do níž se bude ukládat nastavení přepínacích panelů, formulář Přepínací panel, v němž se hlavní i dílčí menu budou zobrazovat. Ve Správci přepínacích panelů klikneme do tlačítka Upravit. Název přepínacího panelu změníme z textu Hlavní přepínací panel na Hlavní menu a klikneme do tlačítka Zavřít. Ve Správci přepínacích panelů nachystáme další dva panely (tzv. stránky): Kliknutím do tlačítka Nový založíme první z nich. Nazveme jej Formuláře. Kliknutím do tlačítka Nový založíme druhý z nich. Nazveme jej Sestavy. Kliknutím označíme stránku přepínacího panelu Hlavní menu a klikneme do tlačítka Upravit. V rámci hlavního menu doplníme položky přepínacího panelu klikáním do tlačítka Nový: Pro první položku upravíme parametry:» Text: Formuláře» Příkaz: přejít na přepínací panel» Přepínací panel: Formuláře Pro druhou položku upravíme parametry:» Text: Sestavy» Příkaz: přejít na přepínací panel» Přepínací panel: Sestavy Kliknutím do tlačítka Zavřít zavřeme okno pro úpravy Hlavního menu. Kliknutím označíme stránku přepínacího panelu Formuláře a klikneme do tlačítka Upravit. V rámci úprav stránky Formuláře doplníme položky přepínacího panelu klikáním do tlačítka Nový: Pro první položku upravíme parametry:» Text: Formulář P52 Osoby Identifikace» Příkaz: otevřít formulář v režimu úpravy» Formulář: P52 Osoby Identifikace Pro druhou položku upravíme parametry:» Text: Formulář P53 Podniky Identifikace» Příkaz: otevřít formulář v režimu úpravy

219 Databázové nástroje 219» Formulář: P53 Podniky Identifikace Pro třetí položku upravíme parametry:» Text: Návrat na hlavní menu» Příkaz: přejít na přepínací panel» Přepínací panel: Hlavní menu Kliknutím do tlačítka Zavřít zavřeme úpravy stránky přepínacího panelu Formuláře. Kliknutím označíme stránku přepínacího panelu Sestavy a klikneme do tlačítka Upravit. V rámci úprav stránky Sestavy doplníme položky přepínacího panelu klikáním do tlačítka Nový: Pro první položku upravíme parametry:» Text: Sestava P62 Osoby Identifikace» Příkaz: otevřít sestavu» Sestava: P62 Osoby Identifikace Pro druhou položku upravíme parametry:» Text: Sestava P66 Telefonní seznam» Příkaz: otevřít sestavu» Sestava: P66 Telefonní seznam Pro třetí položku upravíme parametry:» Text: Návrat na hlavní menu» Příkaz: přejít na přepínací panel» Přepínací panel: Hlavní menu Kliknutím do tlačítka Zavřít zavřeme úpravy stránky přepínacího panelu Sestavy. Kliknutím do tlačítka Zavřít zavřeme Správce přepínacích panelů. Přepínací panely spustíme otevřením formuláře Přepínací panel. Dvojitě klikneme na jeho název v navigačním podokně. Soustavu přepínacích panelů můžeme kdykoliv modifikovat, když v kartě UŽITEČNÉ ve skupině NÁSTROJE klikneme do tlačítka Správce přepínacích panelů nebo přímo úpravou či přidáním položek v tabulce Switchboard Items. Šifrování databáze Formát ACCDE Šifrování a formáty ukládání databáze Abychom zamezili neoprávněnému přístupu do databáze, můžeme databázi zašifrovat pomocí hesla: Databázi musíme otevřít ve výhradním režimu, tj. režimu, kdy nemůže být otevřena současně jiným uživatelem: V kartě SOUBOR klikneme do tlačítka Otevřít a do tlačítka Procházet. Dohledáme databázi. Z nabídky tlačítka Otevřít vybereme Otevřít s výhradním přístupem. V kartě SOUBOR v dílčí kartě Informace klikneme do tlačítka Zašifrovat pomocí hesla. V dialogovém okně Nastavit heslo databáze zadáme dvakrát heslo. Při otevírání databáze jsme nadále vyzýváni k zadání hesla. Navíc je zašifrován obsah databáze tak, aby nebylo možné číst obsah databáze např. aplikací pro práci se soubory. Dešifrovat databázi můžeme kliknutím do tlačítka Dešifrovat databázi, které nahradilo původní tlačítko Zašifrovat pomocí hesla. Při dešifrování musíme opět zadat heslo. Příprava databáze představuje pro autora hodiny usilovné práce. Access usnadňuje šíření databáze bez možnosti uživatele nahlížet do návrhů formulářů, sestav a modulů: V kartě UŽITEČNÉ ve skupině NÁSTROJE klikneme do tlačítka Vytvořit databázi ACCDE. 220 Upřesníme název a umístění databáze. Otevírání databáze ACCDE probíhá stejně jako otevírání databáze ACCDB. Pro objekty typu Formuláře, Sestavy a Moduly není k dispozici návrhové zobrazení. Obsah modulů nelze prohlížet. 220 Tvorbu databáze ACCDE musíme provádět po souhlasu s prováděním maker, modulů a akčních dotazů. Databáze s vysokým počtem tabulek není možné do formátu ACCDE uložit.

220 Formát ACCDR Formulář s nabídkou objektů Automatické spuštění formuláře Seznam vlastností Databázové nástroje 220 Ochranu před prohlížením návrhu nelze obejít ani importováním objektů. V dialogovém okně importu nelze objekty formulářů, sestav, maker a modulů označit. Chceme-li upravit návrh formulářů, sestav nebo modulů v databázi ACCDE, musíme otevřít původní databázi, upravit ji a poté ji znovu uložit jako databázi ACCDE. Pro jakoukoliv databázi můžeme změnit příponu programem na správu souborů, např. průzkumníkem 221 z přípony ACCDB na ACCDR. Databázi potom můžeme spustit: na počítači s nainstalovaným Accessem: dvojitým kliknutím na název souboru, ze zástupce na ploše, na počítači bez instalace Accessu: Z webu Microsoftu 222 lze stáhnout zdarma tzv. runtime Accessu, tj. prostředek, který umožňuje pracovat s databází Accessu bez možnosti úpravy jejího návrhu. Databáze ACCDR nemá k dispozici následující prvky: navigační podokno, pás karet, návrhové zobrazení a zobrazení rozložení, nápovědu. Je proto nutné doplnit výchozí nabídku spouštění objektů Accessu. V databázi Encian jsme poznali následující možnosti tvorby formuláře s nabídkou spouštění objektů: formulář s navigací (viz kap ), formulář s hypertextovými odkazy na jednotlivé objekty databáze (viz kap a 9.8), formulář s tlačítky, k nimž jsou definovány událostní vlastnosti Při kliknutí (viz kap. 7.6), přepínací panel (viz kap ). Formulář s nabídkou objektů je nutné automaticky zobrazit při otevření databáze, což lze zajistit dvěma způsoby: Formulář otevřeme makrem, které nazveme Autoexec (viz kap. 7.6). Makro Autoexec se automaticky spouští po otevření databáze. 223 V kartě SOUBOR klikneme do tlačítka Možnosti. V kartě Aktuální databáze v sekci MOŽNOSTI APLIKACE zadáme do pole Zobrazit formulář hodnotu P76 Menu Práce s navigačním panelem V navigačním panelu jsou zobrazeny objekty databáze. Práci usnadňují klávesy: F11: skrytí/zobrazení panelu nástrojů, F2: editace názvu objektu (dostupné také z místní nabídky objektu), Ctrl Enter: otevření objektu v návrhovém režimu (dostupné také z místní nabídky), Alt Enter: zobrazení seznamu vlastností objektu (dostupné také z místní nabídky). Úplné vlastnosti se zobrazují jen pro objekty, nikoliv pro jejich zástupce vzniklé zařazením do skupiny v rámci kategorie. 224 V dialogovém okně Vlastnosti objektu můžeme: doplnit popis objektu 225, skrýt objekt v navigačním podokně V průzkumníkovi souborů musí být zobrazeny přípony souborů. V kartě ZOBRAZENÍ ve skupině ROZLOŽENÍ klikneme do tlačítka Seznam. V kartě ZOBRAZENÍ ve skupině ZOBRAZIT ČI SKRÝT zaškrtneme pole Přípony názvů souborů Makro Autoexec může obsahovat i další příkazy, např. jako první akci zobrazení okna se zprávou o autorovi řešení. Formulář by se potom zobrazil až po zavření okna se zprávou. 224 Vyřazení ze skupiny lze provést označením zástupce ve skupině a stisknutím klávesy Delete. Objekt se neodstraní, pouze zařadí do skupiny Nepřiřazené objekty. 225 Popis objektu se zobrazí v navigačním podokně, když v místní nabídce nadpisu navigačního podokna vybereme Zobrazit podle a zadáme Podrobnosti. 226 Skryté objekty lze zobrazit, když klikneme z místní nabídky nadpisu navigačního podokna, vybereme Možnosti navigace a zaškrtneme pole Zobrazit skryté objekty. Skryté objekty jsou potom zobrazeny světle šedivým písmem a lze upravit jejich vlastnosti, tj. také zrušit skrytí objektu.

221 Obecné možnosti Možnosti aktuální databáze Možnosti datového listu Možnosti návrhářů objektů Možnosti kontroly pravopisu a mluvnice Možnosti upřesnění Databázové nástroje Možnosti aplikace Access Když v kartě SOUBOR klikneme do tlačítka Možnosti, zobrazíme dialogové okno Možnosti aplikace Access s několika kartami: Obecné: Zde můžeme mj.: vybrat výchozí formát ukládání souborů databází, upřesnit uživatelské jméno a iniciály, vybrat pozadí (Bez pozadí, Geometrie a další) a motiv Office (barevný či bílý). Aktuální databáze: Nastavené parametry jsou platné jen pro aktuální databázi, mj.: V sekci MOŽNOSTI aplikace můžeme upřesnit název aplikace, který se potom zobrazuje v záhlaví okna Accessu a v záložce spuštění Accessu ve Windows. Můžeme také vybrat ikonu (soubor ve formátu ico), která se zobrazí na liště Windows a v záložce 227.» V poli Zobrazit formulář můžeme vybrat formulář, který se má automaticky zobrazit po otevření databáze (viz kap a ).» V poli Možnosti okna dokumentu můžeme upravit způsob otevírání objektů v oknech, nemusí to být karty, ale okna, na něž byli zvyklí uživatelé starých verzí Accessu.» Zaškrtnutím pole Komprimovat při zavření můžeme nastavit automatickou komprimaci databáze při jejím zavírání, což však může při častější práci s databází brzdit zavírání. V sekci NAVIGACE lze potlačit pro databázi zobrazování podokna navigace. V sekci MOŽNOSTI PÁSU A PANELU NÁSTROJŮ můžeme vybrat řádek globální místní nabídky (viz kap ). V sekci MOŽNOSTI AUTOMATICKÉ OPRAVY NÁZVŮ můžeme potlačit automatickou úpravu názvů objektů v souvisejících objektech při změně názvu objektu, např. změnu názvu tabulky v podkladových dotazech formulářů při změně názvu tabulky. Datový list: Pro datový list tabulek a výsledků dotazů lze nastavit formát mřížky tabulky a výchozí písmo (velikost, tloušťku, řez). Návrháři objektů: Pro jednotlivé objekty lze nastavit výchozí parametry: Pro návrh tabulky vybrat výchozí typ pole (např. Krátký text), výchozí velikost textového pole (např. 255), výchozí velikost číselného pole (např. Dlouhé celé číslo). Pro návrh dotazu lze mj. potlačit zobrazení názvů tabulek v mřížce dotazu, povolit automatické spojení tabulek při stejném jméně polí tabulek. Pro formuláře a sestavy lze nastavit způsob vybírání více ovládacích prvků tažením, název výchozí šablony formuláře a sestavy. Kontrola pravopisu a mluvnice: Tlačítkem Možnosti automatických oprav zobrazíme dialogové okno, v němž můžeme mj. potlačit psaní velkých písmen na začátku vět a nahrazování textu při psaní obdobně jako u jiných aplikací kancelářského balíku Microsoft Office. V jednotlivých polích můžeme aktivovat přeskakování slov psaných velkými písmeny, obsahujících číslice, internetové adresy a adresy souborů. Kliknutím do tlačítka Vlastní slovníky můžeme» aktivovat použití vlastního slovníků či více slovníků,» upravit seznam slov v uživatelském slovníku,» vytvořit nový uživatelský slovník,» přidat dříve připravený uživatelský slovník,» odebrat užívaný uživatelský slovník. Jazyky: Lze nastavit jazykové předvolby kancelářského balíku (jazyk pro úpravy obsahu, jazyk pro zobrazení a nápovědu). Nastavení klienta: V sekci ÚPRAVY můžeme mj. ovlivnit chování Accessu po stisknutí klávesy Enter, chování Accessu při používání kurzorových kláves, výchozí způsob hledání či nahrazování, nastavit nutnost potvrzování akčních dotazů. 227 Pro vyzkoušení je v demonstračních souborech k dispozici soubor Encian.ico.

222 Databázové nástroje 222 V sekci ZOBRAZIT můžeme mj. zadat počet zobrazovaných naposledy použitých databází, zobrazování stavového řádku. V sekci TISK můžeme nastavit velikosti okrajů tisku, které se uplatní např. při přímém tisku tabulky. V sekci OBECNÉ můžeme mj. nastavit počet cifer při zobrazování roku. V sekci UPŘESNIT mj. nastavit automatické otevírání naposledy použité databáze při spuštění Accessu. Dále zde můžeme nastavit výchozí režim otevírání databáze (sdílený či výhradní) a výchozí uzamčení záznamů při souběžné práci více uživatelů s databází. Přizpůsobit pás karet: Můžeme doplnit uživatelské karty, v nich vytvořit skupiny a přidat tlačítka (viz kap ). Panel nástrojů Rychlý přístup: Můžeme upravit seznam tlačítek zobrazených na panelu Rychlý přístup (viz kap. 4.2). Doplňky: Umožňuje zobrazení a správu doplňků pro Microsoft Office. Centrum zabezpečení: Po kliknutí do tlačítka Nastavení Centra zabezpečení můžeme nastavit v několika dílčích kartách zabezpečení Accessu (mj. zakázat všechna makra). Karta Office Karta Soubor Položky karty SOUBOR: Informace: Obsahuje tlačítka a odkaz: Zkomprimovat a opravit (viz kap. 10.2). Zašifrování pomocí hesla (viz ). Vlastnosti databáze: Můžeme prohlédnout (v kartách Obecné, Statistické údaje, Obsah) a editovat (v kartách Souhrnné informace, Vlastní) vlastnosti databáze. Při vyplnění vlastnosti Základ hypertextového odkazu je využit základ pro hypertextové odkazy, nemusíme tak např. zadávat v jednotlivých větách webovou adresu firmy v odkazech na osobní stránky zaměstnanců. Vyplnění vlastnosti může však nepříznivě ovlivnit fungování odkazů na lokální soubory (viz kap. 9.8). Nový: Otevřeme okno, v němž můžeme založit novou databázi, která může vycházet ze šablony nebo být prázdná (viz kap. 1.3). Otevřít: Otevřeme dříve vytvořenou databázi. V Accessu může být otevřena jen jedna databáze. Můžeme však Access spustit vícekrát s otevřením různých databází. Často otevírané databáze můžeme připnout, budou potom zobrazeny na začátku seznamu. Uložit: Ukládá do databáze aktuálně otevřený objekt. Často se takto (nebo kombinací Ctrl S) ukládají objekty formulář, sestava, makro. Obsah tabulky se ukládá automaticky při přechodu na další větu nebo při zavření tabulky. Uložit jako: Databázi můžeme uložit pod jiným názvem nebo v jiném formátu, mj.» do formátu ACCDE viz kap ,» zálohovat databázi: Kopii databáze můžeme uložit pod jiným názvem. Prvotně se nabízí původní název rozšířený o datum ukládání. Otevřený objekt můžeme uložit do databáze pod dalším názvem. Tisk: Provede tisk otevřeného objektu, dílčí příkazy: TISK: Před tiskem otevře okno Tisk, v němž lze nastavit tiskárnu či rozsah tisku. RYCHLÝ TISK: Provede přímo tisk objektu na výchozí tiskárnu. NÁHLED: Zobrazí náhled tisku včetně aplikační karty NÁHLED. Zavřít: Zavře otevřenou databázi bez ukončení práce Accessu. Účet: Nastavení kancelářského balíku Microsoft Office: pozadí, motiv, připojené služby. Umožňuje nastavit aktualizace Office: hned, zakázat či zobrazit informace o aktualizaci s možností spustit aktualizaci. Možnosti: Zobrazí dialogové okno Možnosti aplikace Access (viz kap. 10.9). Váš názor: Pro přihlášení k osobnímu účtu Microsoftu můžeme pomocí aplikace Windows Feedback zaslat náměty k vylepšení Acessu, popř. se přidat k námětům jiných uživatelů.

223 11 Příloha A: Dodatek ke kap. 4 Dotazy z databáze Banka Příloha A: Dodatek ke kap. 4 Dotazy z databáze Banka 11.1 Databáze Banka Následující příklady demonstrují typy dotazů z kap. 4 na příkladu analýzy osobních příjmů a výdajů vedoucího oddělení marketingu Milana Smetany v databázi Banka. Databáze obsahuje data o pohybech na osobním účtu Milana Smetany za první pololetí roku Podrobněji k tabulkám databáze viz kap Příklady kopírují strukturu výkladu v kap. 4. Většinou obsahují jen zadání, snímek řešení. V marginálii je seznam tabulek využitých v dotazu a výsledný počet vět Výběrové dotazy z jedné tabulky se základními funkcemi R42a Účely výdajů Detaily (153 vět) R42A ÚČELY VÝDAJŮ: VÝBĚR NESEŘAZENÉHO POLE S DUPLICITAMI Vypište účely výdajů. R42b Seřazené účely Detaily (153 vět) R42B SEŘAZENÉ ÚČELY: VÝBĚR SEŘAZENÉHO POLE S DUPLICITAMI Vypište vzestupně seřazené účely výdajů. R42c Účely bez duplicit Detaily (43 vět) R42C ÚČELY BEZ DUPLICIT: VÝBĚR SEŘAZENÉHO POLE BEZ DUPLICIT Vypište vzestupně seřazené jedinečné účely výdajů (bez duplicit). R42d Položky a účty Pohyby (123 vět) R42D POLOŽKY A ÚČTY: VÝBĚR NESEŘAZENÝCH POLÍ S DUPLICITAMI Vypište položky a účty pohybů. R42e Seřazené položky a účty Pohyby (62 vět) R42E SEŘAZENÉ POLOŽKY A ÚČTY: VÝBĚR SEŘAZENÝCH POLÍ BEZ DUPLICIT Vypište položky a účty pohybů bez duplicit ve vzestupném seřazení dle položky a účtu. R42f Jinak seřazené položky a účty R42F JINAK SEŘAZENÉ POLOŽKY A ÚČTY: VÝBĚR POLÍ SEŘAZENÝCH DLE NESTANDARDNÍ HIERARCHIE ŘAZENÍ Vypište položky a účty pohybů bez duplicit ve vzestupném seřazení dle účtu a položky.

224 11 Příloha A: Dodatek ke kap. 4 Dotazy z databáze Banka 224 Pohyby (62 vět) R42g Pražská energetika Pohyby (4 věty) R42G PRAŽSKÁ ENERGETIKA: VÝBĚR VĚT S DANÝM OBSAHEM JEDNOHO POLE Vypište datum zaúčtování, název účtu a částku pohybů Pražské energetiky v sestupném řazení dle částky a dle data zaúčtování. R42h Pražská energetika a Česká pošta Pohyby (10 vět) R42H PRAŽSKÁ ENERGETIKA A ČESKÁ POŠTA: VÝBĚR VĚT S NĚKOLIKA VARIANTAMI OBSAHU JEDNOHO POLE Vypište datum zaúčtování, název účtu a částku pohybů Pražské energetiky a České pošty, s.p. v sestupném řazení dle částky a dle data zaúčtování. R42i Energetika, Pošta a Encián Pohyby (16 vět) R42I ENERGETIKA, POŠTA A ENCIÁN: VÝBĚR VĚT S NĚKOLIKA VARIANTAMI OBSAHU JEDNOHO POLE Vypište název účtu, datum zaúčtování, a částku pohybů Pražské energetiky, České pošty, s.p. a Enciánu Praha dle názvu účtu, data zaúčtování a částky. R42j Praha 1 v ČS Automaty (3 věty) R42J PRAHA 1 V ČS: VÝBĚR VĚT S DANÝM OBSAHEM VÍCE POLÍ Vypište město, umístění a ulici automatů v Praze 1 s umístěním v pobočkách České spořitelny, a.s. R42k Praha 1 v ČS a Praha 9 Automaty (24 vět) R42K PRAHA 1 V ČS A PRAHA 9: ALTERNATIVNÍ VÝBĚR VĚT S DANÝM OBSAHEM POLÍ Vypište místo, umístění a ulici automatů v pobočkách ČS v Praze 1 a všech automatů v Praze 9. R42l P1 v ČS a P9 v metru Automaty (9 vět) R42L P1 V ČS A P9 V METRU: VÝBĚR S VARIANTNÍMI OMEZENÍMI V RŮZNÝCH POLÍCH Vypište místo, umístění a ulici automatů v pobočkách ČS v Praze 1 a automatů v metru v Praze 9.

225 11 Příloha A: Dodatek ke kap. 4 Dotazy z databáze Banka 225 R42m Vyšší výběry Pohyby (4 věty) R42M VYŠŠÍ VÝBĚRY: VÝBĚR VĚT S PODMÍNKOU NEROVNOSTI OBSAHU ČÍSELNÉHO POLE Vypište výběry z automatů s výběrem vyšším než Kč. R42n Automaty na ulici H S Automaty (92 vět) R42N AUTOMATY NA ULICI H S: VÝBĚR VĚT S PODMÍNKOU NEROVNOSTI OBSAHU TEXTOVÉHO POLE Vypište automaty, které jsou umístěny v ulicích s názvem začínajícím písmeny v intervalu H (včetně) až S (kromě) v seřazení dle názvu ulice. R42o Automaty Ko Automaty (4 věty) R42O AUTOMATY KO: VÝBĚR VĚT S POŽADOVANÝM ZAČÁTKEM OBSAHU TEXTOVÉHO POLE Vypište automaty umístěné v ulicích s názvem začínajícím písmeny Ko. R42p Automaty na lince B Automaty (25 vět) R42P AUTOMATY NA LINCE B: VÝBĚR VĚT S POŽADOVANÝM KONCEM TEXTOVÉHO POLE Vypište automaty umístěné v stanicích metra linky B. R42q Automaty Kxs Automaty (3 věty) R42Q AUTOMATY KXS: ZÁSTUPNÝ ZNAK PRO JEDEN TEXTOVÝ ZNAK Vypište automaty umístěné v ulicích, jejichž název začíná písmenem K a na třetí pozici má písmeno s. R42r Automaty bez nepřetržitého provozu Automaty (62 vět) R42R AUTOMATY BEZ NEPŘETRŽITÉHO PROVOZU: VÝBĚR VĚT S PODMÍNKOU NEROVNOSTI OBSAHU POLE Vypište automaty, které nemají nepřetržitý provoz. R42s Omezené automaty Automaty (44 vět) R42S OMEZENÉ AUTOMATY: VÝBĚR VĚT S PODMÍNKOU NEROVNOSTI OBSAHU POLE Vypište automaty, které nejsou otevřeny nepřetržitě ani v době 5 24 hodin.

226 11 Příloha A: Dodatek ke kap. 4 Dotazy z databáze Banka 226 R42t Pohyby bez účtu Pohyby (23 vět) R42T POHYBY BEZ ÚČTU: VÝBĚR VĚT S PRÁZDNÝM OBSAHEM POLE Vypište pohyby, v nichž není vyplněn účet. R42u Pohyby s intervalem výdaje R42U POHYBY S INTERVALEM VÝDAJE: VÝBĚR S INTERVALOVOU PODMÍNKOU OBSAHU POLE Vypište pohyby s výdajovou částkou z intervalu <4 000;20 000>. Pohyby (20 vět) R42v Pohyby s intervalem bez SIPO Pohyby (17 vět) R42V POHYBY S INTERVALEM BEZ SIPO: VÝBĚR VĚT S INTERVALOVOU PODMÍNKOU A PODMÍNKOU KONCE TEXTU Vypište pohyby s výdajovou částkou z intervalu <4 000;20 000> avšak s výjimkou inkasa SIPO (sdružené inkaso plateb obyvatel) Výběrové dotazy z jedné tabulky s pokročilými funkcemi R43a Lednové pohyby Pohyby (17 vět) R43A LEDNOVÉ POHYBY: VÝBĚR VĚT S DANÝM MĚSÍCEM V ČASOVÉM POLI Vypište datum zaúčtování, pořadí měsíce, název dne, název měsíce, týden a čtvrtletí lednových pohybů v řazení dle data zaúčtování. R43b Automaty, karty, příkazy Pohyby (80 vět) R43B AUTOMATY, KARTY, PŘÍKAZY: VĚTVENÝ VÝRAZ A VÝBĚR VŠECH POLÍ VĚTY Vypište všechna data o výběrech z automatů ( automat ), platby platební kartou ( karta ) a platby dle trvalých příkazů ( trvalý příkaz ) v řazení dle data zaúčtování Výběrové dotazy z více tabulek R44a Detaily pohybů Pohyby Detaily (153 vět) R44A DETAILY POHYBŮ: VÝBĚR SOUVISEJÍCÍCH VĚT ZE DVOU TABULEK Vypište k pohybům upřesnění výdajů. R44b Výběry v Praze 1 R44B VÝBĚRY V PRAZE 1:VÝBĚR S PROPOJENÍM DVOU TABULEK S PODMÍNKOU Vypište pohyby, které byly realizovány výběrem z automatu v Praze 1.

227 11 Příloha A: Dodatek ke kap. 4 Dotazy z databáze Banka 227 Pohyby Automaty R Automaty (10 vět) R44c Výběry v Praze 1 mimo Národní Pohyby Automaty R Automaty (5 vět) R44C VÝBĚRY V PRAZE 1 MIMO NÁRODNÍ: VÝBĚR S PROPOJENÍM DVOU TABULEK A DVOJÍ PODMÍNKOU Vypište pohyby, které byly realizovány výběrem z automatu v Praze 1 a to nikoliv na Národní. R44d Město_F Automaty (11 vět) R44D AUTOMATY VYBRANÉHO MĚSTA: VÝBĚR POMOCÍ OBSAHU POMOCNÉ TABULKY Vypište automaty z vybraného města. R44e Detaily výběrů Detaily Pohyby Automaty R Automaty (12 vět) R44f Detaily z vybraného města Detaily Pohyby Automaty R Automaty Město_F (1 věta) R44g Středeční i páteční automaty R44E DETAILY VÝBĚRŮ: VÝBĚR S PROPOJENÍM ČTYŘ TABULEK Vypište výdaje vyplývající z výběru z automatů. R44F DETAILY Z VYBRANÉHO MĚSTA: VÝBĚR S PROPOJENÍM PĚTI TABULEK Vypište výdaje vyplývající z výběru z automatů z vybraného města. R44G PONDĚLNÍ I ČTVRTEČNÍ AUTOMATY: VÝBĚR S PROPOJENÍM TABULKY DO SEBE Vypište automaty, z nichž bylo vybráno v (libovolnou) středu a zároveň v (libovolný) pátek. Pohyby Pohyby_1 (2 věty) R44h Pohyby bez detailů Pohyby Detaily (0 vět) R44H POHYBY BEZ DETAILŮ: VÝBĚR VĚT S NEEXISTUJÍCÍM PROPOJENÍM DO JINÉ TABULKY Vypište pohyby, k nimž nejsou uvedeny výdaje. R44i Datum výdaje na dovolenou R44I DATUM VÝDAJE NA DOVOLENOU: VÝBĚR HODNOT POLE PRO PŘESNĚ DEFINOVANOU VĚTU ČI VĚTY Vypište datum zaúčtování pohybu výdaje na dovolenou.

228 11 Příloha A: Dodatek ke kap. 4 Dotazy z databáze Banka 228 Pohyby Detaily (1 věta) R44j Pohyby po dovolené Pohyby R44i Datum výdaje na dovolenou (19 vět) R44J POHYBY PO DOVOLENÉ: DOTAZ NA ZÁKLADĚ VÝSLEDKU JINÉHO DOTAZU Vypište pohyby, které byly realizovány ve stejný den nebo později než výdaj za dovolenou Výpočty Výpočty v rámci věty R45a Rozdíl dob Pohyby (123 vět) R45A ROZDÍL DOB: VÝPOČTY Z HODNOT POLÍ V RÁMCI VĚTY Vypište pro jednotlivé pohyby rozdíl mezi dobou zaúčtování a zpracování Výpočty za skupinu vět R45b Nej pro automaty Pohyby (3 věty) R45B NEJ PRO AUTOMATY: SOUHRN POLÍ ZA SKUPINU VĚT Vypište pro jednotlivé automaty nejdřívější a nejpozdější výběr a celkovou vybranou částku. R45c Celkový rozdíl dob Pohyby (5 vět) R45C CELKOVÝ ROZDÍL DOB: SOUČET VÝRAZU Z NĚKOLIKA POLÍ ZA SKUPINU VĚT Vypište celkový rozdíl doby zaúčtování a zpracování za jednotlivé trvalé příkazy. R45d Průměrný rozdíl dob R45D PRŮMĚRNÝ ROZDÍL DOB: VÝRAZ ZE SOUHRNU VĚT Vypište průměrný rozdíl doby zaúčtování a zpracování za jednotlivé trvalé příkazy. Pohyby (5 vět) R45e Výdaje za inkaso a SIPO R45E VÝDAJE ZA INKASO A SIPO: KRITÉRIUM V SOUHRNU Vypište součty výdajů za čtvrtletí dohromady za inkaso a inkaso SIPO. Pohyby (2 věty)

229 11 Příloha A: Dodatek ke kap. 4 Dotazy z databáze Banka 229 R45f Automaty v týdnech Pohyby (10 vět) R45F AUTOMATY V TÝDNECH: SOUHRN DLE ČÁSTI POLE Vypište celkové částky vybrané v jednotlivých týdnech z automatů. R45g Automaty s vysokým výběrem Pohyby Automaty R Automaty (2 věty) R45G AUTOMATY S VYSOKÝM VÝBĚREM: KRITÉRIUM VE VÝSLEDKU SOUHRNU Vypište automaty, z nichž bylo vybráno více než Kč. R45h Brzké výběry Pohyby Automaty R Automaty (2 věty) R45H BRZKÉ VÝBĚRY: OMEZENÍ POČTU VĚT VE VÝSLEDCÍCH Vypište 2 automaty s nejdřívějším výběrem. R45i Čtvrtina automatů Pohyby Automaty R Automaty (1 věta) R45I ČTVRTINA AUTOMATŮ: VÝBĚR NĚKOLIK VĚT S NEJVYŠŠÍ HODNOTOU POLE Vypište 25 % automatů s nejdřívějším výběrem. R45j Pohyby čtvrtiny automatů R45J POHYBY ČTVRTINY AUTOMATŮ: UPŘESNĚNÍ ÚDAJŮ O VYBRANÝCH VĚTÁCH Vypište pohyby pro 25 % automatů s nejdřívějším výběrem. R45i Automaty R Pohyby (5 vět) Automaty R Pohyby (3 věty) 11.6 Parametrické dotazy R46a Pohyby v měsíci Pohyby (pro leden 17 vět) R46A POHYBY V MĚSÍCI: PARAMETRICKÝ DOTAZ S PŘESNÝMI KRITÉRII Vypište pohyby v zadaném měsíci. R46b Vybrané pohyby R46B VYBRANÉ POHYBY: PARAMETRICKÝ DOTAZ S PŘIBLIŽNÝM KRITÉRIEM Vypište pohyby v zadaném měsíci nebo všechny pohyby.

230 11 Příloha A: Dodatek ke kap. 4 Dotazy z databáze Banka 230 Pohyby (pro leden 17 vět pro rok 123 vět) R46c Pohyby dle data Pohyby (od : 62 vět) R46C POHYBY DLE DATA: OMEZENÍ DATOVÉHO TYPU PARAMETRU PARAMETRICKÉHO DOTAZU Vypište pohyby od zadaného data Křížové dotazy R47a Pohyby dle položky a měsíce Pohyby (101 vět) R47A POHYBY DLE POLOŽKY A MĚSÍCE: SOUHRN TABULKY DLE DVOU POLÍ Vypište částky pohybů v součtu dle položky a měsíce. R47b Křížová tabulka pohybů Pohyby (56 vět) R47B KŘÍŽOVÁ TABULKA POHYBŮ: KŘÍŽOVÝ DOTAZ S BĚŽNÝM POŘADÍM SLOUPCŮ Vypište částky pohybů v součtu dle položky (řádky) a měsíce (sloupce) formou křížové tabulky. R47c Pohyby dle položky a dne Pohyby (44 vět) R47C POHYBY DLE POLOŽKY A DNE: KŘÍŽOVÁ TABULKA SE ZADANÝM POŘADÍM SLOUPCŮ Vypište částky pohybů v součtu dle položky (řádky) a dne v týdnu výběru (sloupce) formou křížové tabulky. Uveďte jen výběry ve středu, čtvrtek a pátek Akční dotazy Vytvářecí dotazy R48a Tvorba Výběrů z automatu Pohyby Automaty R Automaty (11 vět) R48A TVORBA VÝBĚRŮ Z AUTOMATŮ: VYTVÁŘECÍ DOTAZ Vytvořte tabulku Výběry z automatu, v níž bude přehled výběrů z automatů. Pro každý výběr uveďte všechna pole z tabulky Pohyby, z tabulky Automaty pole Umístění, Ulice, Město.

231 11 Příloha A: Dodatek ke kap. 4 Dotazy z databáze Banka Aktualizační dotazy R48b Metro Národní Výběry z automatu (5 vět) R48B METRO NÁRODNÍ: AKTUALIZAČNÍ DOTAZ V tabulce Výběry z automatu změňte umístění Metro Národní I (B) na Metro Národní (B). R48c Umístění dle Automatů Výběry z automatu Automaty R Automaty (11 vět) R48C UMÍSTĚNÍ DLE AUTOMATŮ: AKTUALIZAČNÍ DOTAZ S VYUŽITÍM DAT Z JINÉ TABULKY V tabulce Výběry z automatu změňte umístění automatu dle umístění v tabulce Automaty Odstraňovací dotazy R48d Výběry od června 2025 Výběry z automatu (3 věty) R48D VÝBĚRY OD ČERVNA 2025: ODSTRAŇOVACÍ DOTAZ DLE POLE Z REDUKOVANÉ TABULKY Z tabulky Výběry z automatu odstraňte věty o výběrech po R48e Nepřetržitá doba Automaty R (198 vět) R48E NEPŘETRŽITÁ DOBA: ODSTRAŇOVACÍ DOTAZ DLE POLE Z JINÉ NEŽ REDUKOVANÉ TABULKY Z tabulky Výběry z automatu odstraňte výběry z automatů s nepřetržitou dobou provozu. Nejprve musíme připravit tabulku Automaty2. Výběry z automatu Automaty2 (5 vět) Položka Položka v tabulce Automaty2 musí být klíčová Přidávací dotazy R48f Přidání pozdních výběrů R48F PŘIDÁNÍ POZDNÍCH VÝBĚRŮ: PŘIDÁVACÍ DOTAZ DLE POLE Z ROZŠIŘOVANÉ TABULKY Do tabulky Výběry z automatu přidejte výběry realizované po Pohyby, Automaty R, Automaty (2 věty) R48g Přidání nepřetržitých automatů R48G PŘIDÁNÍ NEPŘETRŽITÝCH AUTOMATŮ: PŘIDÁVACÍ DOTAZ DLE POLE Z JINÉ NEŽ ROZŠIŘOVANÉ TABULKY Do tabulky Výběry z automatu přidejte výběry realizované v automatech s nepřetržitým provozem. Pohyby, Automaty R, Automaty (3 věty)

232 11 Příloha A: Dodatek ke kap. 4 Dotazy z databáze Banka Jazyk SQL R49a Sjednocení Účtů a Názvů účtů Pohyby (57 vět) R49b Sjednocení bez duplicit Pohyby (57 vět) R49A SJEDNOCENÍ ÚČTŮ A NÁZVŮ ÚČTŮ: SJEDNOCOVACÍ DOTAZ Zobrazte z tabulky Pohyby všechny Účty a Názvy_účtů. SELECT Pohyby.Účet FROM Pohyby; UNION SELECT Pohyby.Název_účtu FROM Pohyby; R49B SJEDNOCENÍ BEZ DUPLICIT: SJEDNOCOVACÍ DOTAZ S NÁZVEM A BEZ DUPLICIT Zobrazte z tabulky Pohyby všechny Účty a Názvy_účtů bez duplicit, výsledný sloupec nadepište Název. SELECT DISTINCT Pohyby.Účet AS Název FROM Pohyby; UNION SELECT DISTINCT Pohyby.Název_účtu FROM Pohyby;

233 12 Příloha B: Příklady k procvičení Příloha B: Příklady k procvičení Příloha B obsahuje zadání samostatné práce v cvičné databázi. Po pročtení jednotlivých kapitol je možné prohloubit si získané poznatky vypracováním příkladů. Zadání cvičné databáze je strukturováno dle jednotlivých dílčích kapitol. Zadání na sebe navazují. Vypracování jednotlivých fází řešení je vhodné ukládat do samostatných souborů, např. Dohody_01, Dohody_02 tak, abychom se mohli vrátit k předchozím fázím v případě chyb v pokročilejších fázích. Každý soubor po dokončení zkomprimujte Databáze 12.1 Ke kapitole 1 Databáze Firma Encián se podílí na externí výuce a dalších pracích pro Fakultu mezinárodních vztahů Vysoké školy ekonomické v Praze. K evidenci práce použijeme databázi s tabulkami: Osoby Obsahuje 20 vět. Každá věta se vztahuje k jednomu zaměstnanci. Pole: Osoba (klíčové), Titul1, Jméno, Příjmení, Titul2. Dohody Obsahuje 77 vět. Každá věta se vztahuje k jedné uzavřené dohodě. Pole:» Číslo_dohody: klíčové pole identifikující dohodu,» Osoba: účet zaměstnance, s nímž je dohoda uzavírána,» Popis_práce: stručný popis práce, která je dle dohody prováděna,» Hodin: dohodnutý počet hodin práce,» Sazba: hodinová sazba odměny zaměstnanci za dohodnutou práci,» Od, Do: doba, po kterou je práce konána,» Druh_dohody: DPP = dohoda o provedení práce, DPČ = dohoda o pracovní činnosti,» Katedra: katedra, pro niž je práce vykonávána,» Zakázka: účetní číslo zakázky (projektu), v rámci něhož je práce dle dohody konána. Likvidace Obsahuje 57 vět. Každá věta se vztahuje k likvidaci (úhradě) jedné dohody, k jedné dohodě může být více likvidací (např. po měsících, např. dohoda číslo 4). Pole:» Číslo_dohody: dohoda, k níž se likvidace vztahuje,» Datum: datum příkazu k likvidaci,» Měsíc_výplaty: první den měsíce výplaty úplné či částečné dohodnuté částky,» Hodin_likvidace: hodiny, které byly likvidací zaplaceny,» Částka: vyplacená částka. Katedry Obsahuje 15 vět. V každé větě jsou data o katedře. Zakázky Obsahuje 37 vět. Seznam zakázek včetně čísel činností fakulty, v rámci nichž jsou zakázky realizovány. Činnosti Obsahuje 8 vět. Každá věta upřesňuje data o činnosti (slovní vysvětlení). Založte novou prázdnou databázi Dohody_01. V databázi připravte tabulku Dohody s jednoduchou strukturou: Číslo_dohody (klíčové pole). Osoba: Účet zaměstnance (firmy Encián), s nímž je smlouva uzavírána. Popis_práce: jednoduchý popis práce zaměstnance, např. posudek ke studii. Katedra: zkratka názvu katedry, pro niž zaměstnanec činnost vykonává. V databázi připravte tabulku Osoby s jednoduchou strukturou: Osoba (klíčové pole): uživatelské jméno zaměstnance ve firmě Encián. Jméno Příjmení 228 Klepněte do tlačítka Office a zadejte příkaz SPRAVOVAT, ZKOMPRIMOVAT A OPRAVIT DATABÁZI.

234 12 Příloha B: Příklady k procvičení 234 V databázi připravte tabulku Katedry s jednoduchou strukturou: Katedra: zkratka názvu katedry, Katedra_v: vysvětlivka názvu katedry. Do tabulky Katedry vložte věty: Katedra Katedra_v KMO katedra mezinárodního obchodu KPOL katedra politologie Do tabulky Osoby vložte věty: Osoba Jméno Příjmení Benes.Pavel Pavel Beneš Janda.Frantisek František Janda Do tabulky Dohody vložte věty: Číslo dohody Osoba Popis_práce Katedra 1 Benes.Pavel posudek ke studii KPOL 2 Janda.Frantisek posudek ke studii KPOL 21 Benes.Pavel posudek na diplomovou práci KMO Připravte dotaz Dohody se zaměstnanci a katedrami, který ke každé dohodě vypíše pole Číslo_dohody, Osoba, Jméno, Příjmení, Popis_práce, Katedra, Katedra_v. Vytvořte v navigačním podokně kategorii Struktura publikace a vytvořené tabulky a dotazy zařaďte do skupiny 1 Databáze. 2 Relace 3 Tabulky 12.2 Ke kapitole 2 Relace Importujte do nové databáze Dohody_02 tabulky Osoby, Dohody, Likvidace, Katedry, Zakázky, Činnosti, ze sešitu Dohody.xlsx. Při importu volte vhodné primární klíče. Pozor při stanovování klíče tabulky Likvidace! K jedné dohodě může být více likvidací. Doplňte do struktury tabulky Likvidace vhodné klíče. V navigačním podokně přidejte do kategorie Struktura publikace skupinu 2 Relace a zařaďte do ní vytvořené tabulky. Definujte v databázi 5 vhodných relací mezi tabulkami včetně referenční integrity s aktualizací souvisejících polí v kaskádě. Pozor! V případě jedné relace je nutné před aplikací referenční integrity upravit data v jedné větě. (V hodnotě jednoho pole je záměrně nepřesnost, která je příčinou nekonzistentnosti dat.) Rozmístěte přehledně tabulky v diagramu relací. Nezapomeňte zkomprimovat soubor databáze Ke kapitole 3 Tabulky Zkopírujte soubor databáze Dohody_02.accdb do souboru Dohody_03.accdb. Upravte definici polí v návrhu tabulek: v tabulce Osoby:» pole Osoba zkraťte na 20 znaků,» pole Titul1 zkraťte na 5 znaků,» pole Jméno zkraťte na 10 znaků,» pole Příjmení zkraťte na 12 znaků,» pole Titul2 zkraťte na 7 znaků, v tabulce Dohody:» pole Číslo_dohody upravte na celé číslo,» pole Osoba zkraťte na 20 znaků,» pole Popis_práce zkraťte na 30 znaků,» pole Hodin a Sazba upravte na celé číslo,» pole Druh_dohody zkraťte na 3 znaky,» pole Katedra zkraťte na 5 znaků,» pole Zakázka zkraťte na 8 znaků,

235 12 Příloha B: Příklady k procvičení 235 v tabulce Likvidace:» pole Číslo_dohody a Hodin_likvidace upravte na celé číslo,» pole Částka upravte na dlouhé celé číslo, v tabulce Katedry:» pole Katedra zkraťte na 5 znaků,» pole Katedra_v zkraťte na 60 znaků,» pole Fakulta zkraťte na 2 znaky,» pole Nákladové_středisko zkraťte na 4 znaky, v tabulce Zakázky:» pole Zakázka zkraťte na 8 znaků,» pole Činnost upravte na celé číslo, v tabulce Činnosti:» pole Činnost upravte na celé číslo,» pole Činnost_v zkraťte na 50 znaků. Optimalizujte šířku polí v zobrazení jednotlivých tabulek. Ve struktuře tabulky Osoby zajistěte: První písmeno křestního jména a příjmení musí být velké. Ostatní písmena jsou malá, minimální délka křestního jména i příjmení 3 znaky, maximální délka dle délky polí. Titulek i popis křestního jména je Křestní jméno. Pole Jméno a Příjmení je nutné vyplnit, nesmí být vyplněna prázdnou hodnotou. Pole Titul1 je nutné vyplnit, může však být vyplněno prázdnou hodnotou. Pro editaci pole Titul2 je připraveno pole se seznamem s hodnotami:, Ph.D. a, CSc. Ve struktuře tabulky Dohody zajistěte: Sazba musí dodržovat pravidlo, že je nejméně 200, nejvýše Kč. Při nedodržení pravidla se bude vypisovat vhodný text. Hodnota pole Do musí být větší nebo rovna hodnotě pole Od, jinak zobrazte vhodný text. Nápověda: Je nutné zajistit pomocí vlastnosti tabulky, nikoliv vlastnosti pole. Ve struktuře dalších tabulek zajistěte: Ve struktuře tabulky Katedry zajistěte, aby nebyla vyplněna duplicitně hodnota pole Nákladové_středisko. V tabulce Zakázky je pole Činnost v nové větě vyplněno hodnotou Do zobrazení tabulky Likvidace doplňte součty polí Hodin_likvidace a Částka. Tabulku Katedry řaďte dle nákladového střediska. V tabulce Dohody nastavte filtr pro zobrazování vět s hodnotou DPP v poli Druh_dohody včetně zavedení filtru pro zobrazení tabulky. V navigačním podokně změňte název skupiny 2 Relace na 3 Tabulky. 4 Dotazy 4.2 Výběrové dotazy z jedné tabulky 12.4 Ke kapitole 4 Dotazy Pro editaci polí Titul1, Jméno v tabulce Osoby připravte pole se seznamem s dosud vloženými hodnotami (bez duplicit a mimo prázdné hodnoty seřazené dle abecedy). Připravte dotazy nazvané Dotaz D01, D02,... D34: 1. Vypište popisy práce z dohod seřazená dle abecedy bez duplicit. 2. Vypište popisy práce a zakázky v řazení dle zakázek bez duplicit kombinací popisů práce a zakázek a to pouze pro věty s vyplněnou zakázkou. 3. Vypište čísla dohod, popis práce a katedru v řazení dle čísla dohody pro dohody na výuku, přednášku a přednášku v anglickém jazyce. 4. Vypište čísla dohod, popis práce a katedru v řazení dle čísla dohody pro dohody na výuku na KMO a posudek na diplomovou práci na KCR. 5. Vypište čísla dohod, účet zaměstnance, popis práce a sazbu pro dohody se sazbou větší nebo rovnou Kč v řazení sestupně dle sazby a vzestupně dle čísla dohody. 6. Vypište kód a vysvětlivku činností, jejichž vysvětlivka je v abecedě mezi písmeny G a S v řazení dle kódu činnosti. 7. Vypište popisy práce dohod, jejichž popis začíná písmenem p a končí písmenem i bez duplicit v řazení dle popisů.

236 12 Příloha B: Příklady k procvičení Výběrové dotazy z více tabulek 4.4 Výpočty 4.5 Parametrické dotazy 4.6 Křížové dotazy 4.7 Akční dotazy 4.8 Jazyk SQL 8. Vypište číslo dohody a datum zahájení plnění dohody (pole Od) pro dohody zahájené v lednu. Vypisujte též den v týdnu zahájení plnění. Věty vypisujte v řazení dle data zahájení plnění a dle čísla dohody. 9. Pro jednotlivé dohody vypište jejich číslo, datum zahájení a dokončení plnění a délku plnění dohody ve dnech a to v řazení dle čísla dohody. 10. Pro jednotlivé dohody v řazení dle čísla dohody vypište číslo dohody, popis práce, druh dohody a ve sloupci Vysvětlivka text dohoda o provedení práce pro druh dohody DPP a dohoda o pracovní činnosti pro druh DPČ. 11. K likvidacím vypište číslo dohody, datum likvidace, počet zlikvidovaných hodin (ve sloupci s titulkem Likvidace) a počet hodin v dohodě (ve sloupci s titulkem Dohoda) v řazení dle čísla dohody a data likvidace. 12. Vypište jméno, příjmení a likvidovanou částku pro zaměstnance, kterým byly likvidovány dohody v lednu a to v řazení dle příjmení. 13. Vypište účty zaměstnanců, kteří uzavírali dohodu na práce pro KCR i KMO. 14. Vypište (v řazení dle data zahájení a čísla dohody) čísla a data zahájení plnění dohod, jejichž plnění (Od) začalo později než zahájení plnění dohody s popisem prezentace obhajob DP. (Neuvádějte konkrétní datum, ale odkaz na datum z dohody prezentace obhajob DP.) Vzniklé dotazy uložte pod názvy Dotaz D14a a Dotaz D14b. 15. Vypište pro jednotlivé zaměstnance jejich účet a datum dokončení plnění poslední dohody. 16. Vypište pro jednotlivé zaměstnance jejich křestní jméno, příjmení, celkovou dohodnutou odměnu, celkovou likvidovanou částku a rozdíl dohodnuté a zlikvidované částky. Nápověda: Vytvořte nejprve Dotaz D16a, v němž zjistíte za jednotlivé zaměstnance celkovou dohodnutou odměnu jako součet součinů. Potom vytvořte Dotaz D16b, v němž zjistíte za jednotlivé zaměstnance celkovou likvidovanou částku. Na závěr vytvořte Dotaz D16c, v němž uvedete za jednotlivé zaměstnance celkovou dohodnutou odměnu, celkovou likvidovanou částku a jejich rozdíl. 17. Vypište datum a částku likvidace 4 dohod s nejvyšší dohodnutou odměnou. 18. Vypište čísla dohod, popis práce a druh dohody pro uživatelem zadaný druh dohody. 19. Vypište čísla dohod, popis práce a datum zahájení plnění pro dohody se zahájením v zadaném datu či později v řazení dle data zahájení a čísla dohody. 20. Vypište číslo dohody, datum likvidace a částku pro likvidace s částkou, která je vyšší nebo rovna zadanému číslu v sestupném řazení dle částky a vzestupném řazení dle čísla dohody. 21. Sestavte křížovou tabulku, v níž v řádcích budou katedry, ve sloupcích druh dohody, v tabulce celkový počet dohodnutých hodin. 22. Sestavte křížovou tabulku, v níž v řádcích budou katedry KCR, KMO, KOPKK, ve sloupcích zakázky, v tabulce bude celková dohodnutá částka a to pouze za zakázky začínající na písmena AB. 23. Sestavte křížovou tabulku, v níž v řádcích budou katedry, ve sloupcích činnosti, v tabulce celková likvidovaná částka. 24. Vypočtěte průměrnou délku dohodnuté doby plnění dohody na dvě desetinná místa dle kateder a druhu dohody. Sloupce uveďte v pořadí DPP, DPČ. 25. Vytvořte tabulku Jazykové likvidace, v níž bude přehled likvidací za KAJ, KNJ, KROJ a KRUJ. Pro každou likvidaci uveďte číslo dohody, účet zaměstnance, popis práce, katedru, datum likvidace a likvidovanou částku. 26. V tabulce Jazykové likvidace změňte popis práce výuka doktorandů na výuka studentů doktorského studia. 27. V tabulce Jazykové likvidace odstraňte věty KNJ. 28. Z tabulky Jazykové likvidace odstraňte věty týkající se dohod činnosti Do tabulky Jazykové likvidace přidejte likvidace týkající se dohod činnosti 1000 a KNJ. Pomůcka: Dbejte, abyste nepřidali likvidace KNJ za činnost 1000 duplicitně. V dotazovací mřížce budou dvě kritéria. 30. Vypište kódy a vysvětlivky kateder i kódy zakázek. Sloupce správně nadepište Kód a Kód_v. Seznam vypište v řazení dle kódů.

237 12 Příloha B: Příklady k procvičení 237 V navigačním podokně zařaďte vytvořené dotazy a tabulku Jazykové likvidace do skupiny 4 Dotazy. Objekty v navigačním podokně seřaďte dle názvu. 5 Formuláře 5.2 Samostatný formulář 12.5 Ke kapitole 5 Formuláře Připravte formulář Dohody 1 dle obr OBR. 12-1: FORMULÁŘ DOHODY 1 Upřesnění formuláře: Jedná se o rozdělený formulář. Formulář je bez filtru. Šířka polí pro editaci je 5 cm. Popisky polí obsahujících pomlčku (Číslo_dohody, Popis_práce, Druh_dohody) jsou upraveny. Pole Osoba je vloženo jako pole se seznamem z tabulky Osoby, zobrazeny jsou 4 sloupce se šířkami 0,002 cm, 0 cm, 2 cm. Vkládání je omezeno na seznam. Pole Popis_práce je vloženo jako pole se seznamem s hodnotami dosud vloženými jako Popis práce seřazenými dle abecedy a uvedenými bez duplicit. Za pole Sazba je doplněno textové pole s výpočtem dohodnuté odměny. Styl okraje nastaven na průhledný. Přístup klávesou tabulátor je potlačen. Za pole Do je doplněno textové pole s výpočtem délky plnění dohody ve dnech. Styl okraje je nastaven na průhledný. Přístup klávesou tabelátor je potlačen. Pole Druh_dohody je vloženo jako pole se seznamem s hodnotami DPP a DPČ s vysvětlivkami dohoda o provedení práce a dohoda o pracovní činnosti. Šířka rozbalovacího seznamu je 6 cm, z toho pro první sloupec je vyhrazen 1 cm. Pole Katedra je vloženo jako pole se seznamem z tabulky Katedry, jsou zobrazeny 2 sloupce. Šířka rozbalovacího seznamu je 10 cm, z toho pro první sloupec je vyhrazeno 1,5 cm. Pole Zakázka je vloženo jako pole se seznamem z tabulky Zakázky, jsou zobrazeny 2 sloupce.

238 12 Příloha B: Příklady k procvičení Nekonečný formulář 5.5 Formulář se souhrny Připravte formulář Likvidace 1 dle obr OBR. 12-2: FORMULÁŘ LIKVIDACE Podformulář Upřesnění formuláře: Popisky polí obsahujících pomlčku (Číslo_dohody, Hodin_likvidace) jsou upraveny. Ve formuláři je zobrazováno pole Sazba z tabulky Dohody. Ve sloupci Návrh je uveden součin polí Hodin_likvidace a Sazba. Hodnoty ve sloupci Návrh jsou zarovnány doprava. Sloupce Sazba a Návrh nejsou přístupné klávesou tabulátor a jsou uzamčeny. Šířky sloupců jsou přizpůsobeny obsahu. Výplň ovládacího prvku všech sloupců je žádná. Částky k likvidaci větší nebo rovné Kč jsou vypisovány červeně. V zápatí formuláře jsou sečteny hodnoty ve sloupcích Hodin a Částka. Nejsou ohraničeny. Formulář Dohody 1 zkopírujte pod názvem Dohody 2 a upravte jej. Formulář Likvidace 1 zkopírujte pod názvem Likvidace 2 a vložte je jako podformuláře do formuláře Osoby dle obr OBR. 12-3: FORMULÁŘ OSOBY

239 12 Příloha B: Příklady k procvičení Graf Upřesnění formulářů: V záhlaví formulářů je odebráno uspořádání a odstraněn obrázek před textem. Písmo je zmenšeno na velikost 11 tučně. Pozadí záhlaví formuláře je bílé. Formulář Likvidace 2 je podformulářem formuláře Dohody 2. Je uveden v pravé části formuláře Dohody 2. Ve formuláři Osoby jsou optimalizovány šířky sloupců a nastavena žádná výplň ovládacího prvku pro všechny sloupce. Pro podformuláře jsou odstraněny popisky. V podformuláři Dohody 2 je odstraněno pole Osoba. V podformuláři Likvidace 2 je odstraněno pole Číslo dohody. Připravte formulář Katedry, v němž jsou pro jednotlivé katedry zobrazeny počty hodin dohodnuté s jednotlivými zaměstnanci v členění dle zakázek (viz obr. 12-4). OBR. 12-4: FORMULÁŘ KATEDRY Upřesnění formuláře: Popisek pole Katedra_v je upraven na Katedra název. V sloupcovém skládaném grafu není uveden nadpis grafu. Legenda je v grafu napravo. Velikost písma popisků osy x, y, legendy a popisků dat je 18. Ve sloupcích jsou zobrazeny hodnoty dohodnutých hodin. Graf má šířku 30 cm, výšku 12 cm. V navigačním podokně zařaďte vytvořené formuláře do skupiny 5 Formuláře. 6 Sestavy Ke kapitole 6 Sestavy Připravte sestavu Měsíční likvidace dle obr Sestava vypisuje data o likvidacích dle nákladových středisek za měsíc zadaný před spuštěním sestavy. Východiskem sestavy je parametrický dotaz Měsíční likvidace: Čerpá z tabulek Osoby, Dohody, Likvidace, Katedry. Obsahuje mj.» pole Měsíc číselně s výrazem Month([Datum]) a s kritériem [Měsíc výplaty číselně:]» pole Měsíc slovně s výrazem Format([Datum];"m/yyyy"). Upřesnění sestavy: Pole nemají okraj. Pole v záhlaví mají nastaven styl mřížky průhledná čára. Popisky polí obsahujících pomlčku (Popis_práce) jsou upraveny. Likvidace jsou seskupeny dle nákladových středisek. Za jednotlivými středisky jsou součty částek.

240 12 Příloha B: Příklady k procvičení 240 V záhlaví sestavy je odebráno rozložení a ponechán pouze nadpis Měsíční likvidace. Záhlaví sestavy má bílé pozadí. Do záhlaví je doplněno pole Měsíc slovně a před něj doplněn formou výrazu text Měsíc výplaty. V podrobnostech, záhlaví i zápatí Nákladového střediska je potlačena alternativní barva pozadí, je bílá. OBR. 12-5: SESTAVA MĚSÍČNÍ LIKVIDACE 6.8 Sestavy s podíly Připravte sestavu Podíly, v níž budou vypočteny podíly jednotlivých kateder na vyplacených likvidacích v rámci měsíce i celého roku dle obr Východiskem sestavy je souhrnný dotaz Podíly: Čerpá z tabulek Dohody, Likvidace, Katedry. Obsahuje mj. pole Měsíc výplaty s výrazem Format([Datum];"m/yyyy"). Upřesnění sestavy: Pole nemají okraj. Pole v záhlaví mají nastavený styl mřížky průhledná čára. Popisky polí obsahujících pomlčku (Nákladové_středisko, Katedra_v) jsou upraveny. Souhrny výplat jsou seskupeny dle nákladových středisek. V záhlaví sestavy je odebráno rozložení a ponechán pouze nadpis Podíly. Záhlaví sestavy má bílé pozadí. Za jednotlivými středisky jsou součty částek. Do záhlaví je doplněno pole Měsíc výplaty. V podrobnostech, záhlaví i zápatí Nákladového střediska je potlačena alternativní barva pozadí, je bílá. Součtová pole jsou nazvána Částka_měsíc, Částka_rok. Podíly jsou uváděny v procentech.

241 12 Příloha B: Příklady k procvičení 241 OBR. 12-6: SESTAVA PODÍLY Štítky 7 Makra Připravte sestavu Štítky, v níž budou štítky o rozměru 3,6 x 5,4 cm tištěné na volné listy A4 s nakládacím okrajem 0,9 cm nahoře. Na každém štítku bude pro jednotlivého zaměstnance v jediném řádku jeho titul před jménem, křestní jméno, příjmení a titul za jménem. Štítky budou řazeny dle příjmení a jména. V navigačním podokně zařaďte vytvořené zdrojové dotazy a sestavy do skupiny 6 Sestavy Ke kapitole 7 Makra Vytvořte tabulku Katedry_F, v níž budou zkratky kateder KCR a KMO. Připravte nekonečný formulář Katedry_F, v němž bude tlačítko, které zobrazí dohody kateder z tabulky Katedry_F. K zobrazení dohod použijte nekonečný formulář Dohody_F. V případě, že jsou vybrány katedry, které neuzavřely dohody, zobrazte chybové hlášení (FMV, DEK2, IUP) Vybrané katedry neuzavřely žádnou dohodu. Připravte modifikaci formuláře Osoby pod názvem Osoby s podmínkou. Ve formuláři se zobrazuje pole Titul2 jen, když je vyplněno pole Titul Připravte modifikaci dotazu a sestavy Měsíční likvidace pod názvem Měsíční likvidace barevně. V sestavě budou vypisovány po měsících všechny likvidace. V případě druhu dohod DPP vypisujte příjmení zaměstnance modře, v případě druhu DPČ červeně. Nastavte výchozí zobrazení sestavy v náhledu tisku. Připravte modifikaci formuláře Osoby s podmínkou pod názvem Osoby se sestavou. Formulář obsahuje tlačítko Sestava. Kliknutím do tlačítka se spustí makro Osoby se sestavou, které zobrazí sestavu Měsíční likvidace barevně pro zaměstnance, který je zobrazen ve formuláři. (Nezapomeňte doplnit do zdrojového dotazu sestavy pole Osoba.) Připravte makro Autoexec, které otevře formulář Menu. Ve formuláři jsou tlačítka, při kliknutí do tlačítek se otevřou formuláře Osoby, Osoby se sestavou, Osoby s podmínkou a sestavy v náhledu před tiskem Měsíční likvidace, Podíly, Štítky, Měsíční likvidace barevně. V navigačním podokně zařaďte vytvořené objekty do skupiny 7 Makra. 229 Předpokládáme, že neexistují zaměstnanci, kteří mají titul za jménem a nemají titul před jménem. Ve skutečnosti tato varianta může nastat.

242 12 Příloha B: Příklady k procvičení Moduly 9 Externí data 12.8 Ke kapitole 8 Moduly Připravte funkci Likvidace v modulu Funkce pro výpočet částky k likvidaci dohod (z hodin a sazby). Funkci využijte v dotazu K likvidaci, který za jednotlivé dohody uvede číslo dohody, počet hodin k likvidaci (ve sloupci Hodin), sazbu (Sazba), částku k likvidaci (K likvidaci). Zajistěte, aby se v modifikaci formuláře Dohody 1 nazvané Dohody s vkládáním textů: dvojitým kliknutím na pole Popis_práce vložil text posudek na diplomovou práci, dvojitým kliknutím na pole Od vložilo aktuální datum. Zajistěte, aby se v modifikaci formuláře Likvidace 1 nazvané Likvidace s vkládáním částky: dvojitým kliknutím na pole Částka vložila hodnota k likvidaci vypočtená z polí Hodin_likvidace a Sazba pomocí funkce Likvidace. Ve formuláři Odstupy zobrazte účet zaměstnance, číslo dohody, popis práce, zahájení a dokončení plnění dohod v řazení dle zaměstnanců, data zahájení plnění dohody a čísla dohody. Po kliknutí do tlačítka Odstupy zobrazte ve sloupci Odstup odstupy dohod. Nápověda: Formulář Odstupy bude zobrazovat tabulku Odstupy, kterou vytvoříte z tabulky Dohody dotazem Odstupy tvorba. Záporné hodnoty značí překrývání dohod, které je možné. V navigačním podokně zařaďte vytvořené objekty do skupiny 8 Moduly Ke kapitole 9 Externí data Připravte ve Wordu formulář pro vkládání dohod dle obr OBR. 12-7: FORMULÁŘ DOHOD Upřesnění formuláře: Číslo dohody, Hodin a Sazba jsou číselná pole. Číslo dohody může být maximálně tříciferné, hodiny tříciferné, sazba čtyřciferná. Od, Do a Zaevidování jsou pole typu datum. K sloupci Druh dohody doplňte vhodnou nápovědu. Druh dohody vybírejte formou rozevíracího pole se seznamem s hodnotami DPP a DPČ. V poli Osoba zajistěte vložení velkých prvních písmen. Katedra je vypisována velkými písmeny. Vložte zobrazenou větu a importujte ji do databáze jako tabulku Dohody import z Wordu. Formou exportu dotazu Mzdy připravte do textového souboru export pro mzdové oddělení za měsíc březen V textovém souboru s položkami oddělenými středníky uveďte účet zaměstnance a částku k likvidaci v řazení dle účtu. Export proveďte do souboru Mzdy.txt. Uložte kroky exportu s popisem Export pro mzdové oddělení. Proveďte export tabulky Katedry do sešitu Excelu Katedry. Vytvořte modifikaci tabulky Katedry pod názvem Katedry web. Doplňte do tabulky pole Web a v něm připravte odkazy ve tvaru pomocí aktualizačního dotazu Katedry adresy. V navigačním podokně zařaďte vytvořené objekty do skupiny 9 Externí data. 10 Databázové nástroje Ke kapitole 10 Databázové nástroje Rozdělte databázi na Dohody_zadni (tabulky) a Dohody_predni (ostatní objekty). Vytvořte soustavu přepínacích panelů včetně návratových voleb: Formuláře: Osoby, Osoby se sestavou, Osoby s podmínkou, Sestavy: Měsíční likvidace, Podíly, Štítky, Měsíční likvidace barevně. V navigačním podokně zařaďte vytvořené objekty do skupiny 10 Databázové nástroje.

243 13 Příloha C: Seznam Příloha C: Seznam operátorů, symbolů a funkcí 13.1 Operátory Or: nebo (dotaz 42h) And: a zároveň (dotaz 42n) Not: ne (dotaz 42r) &: spojení textů (dotaz 43b) Like: jako (odpovídající uvedenému vzorku, dotaz 42n, 42o) Null: obsahující prázdnou hodnotu (dotaz 42s) Between: filtrování rozsahu hodnot mezi počátkem a koncem včetně hraničních hodnot (dotaz 42t) 13.2 zástupné symboly *: libovolný počet znaků, také žádný znak (dotaz 42o)?: právě jeden znak (dotaz 42q) 13.3 Funkce Textové funkce Len(řetězec) Vrátí hodnotu typu číslo obsahující počet znaků v řetězci (dotaz 43b, kap. 8.3). řetězec: Libovolný platný Řetězcový výraz. Pokud řetězec obsahuje hodnotu Null, bude vrácena hodnota Null. Left( řetězec, délka) Vrátí hodnotu typu řetězec obsahující určený počet znaků z levé strany řetězce (dotaz 43b). řetězec: Povinný argument. Řetězcový výraz, ze kterého se vrátí první znaky zleva. Pokud řetězec obsahuje hodnotu Null, vrátí se hodnota Null. délka: Povinný argument. Hodnota typu dlouhé číslo. Číselný výraz určující, kolik znaků se má vrátit. Pokud má hodnotu 0, vrátí se řetězec nulové délky (""). Pokud je hodnota stejná nebo větší než počet znaků v argumentu řetězec, funkce vrátí celý řetězec. Right(řetězec, délka) Vrací řetězec obsahující určitý počet znaků z pravé strany řetězce (dotaz 43b). řetězec: Povinný argument. Řetězcový výraz, ze kterého jsou vráceny znaky z pravé strany. Pokud řetězec obsahuje hodnotu Null, bude vrácena hodnota Null. délka: Povinný argument. Hodnota typu dlouhé číslo. Číselný výraz určující, kolik znaků se má vrátit. Pokud má tento argument hodnotu 0, bude vrácen řetězec nulové délky. Je-li tato hodnota větší nebo rovna počtu znaků v řetězci, vrátí funkce celý řetězec. Mid(řetězec, začátek [, délka]) Vrátí hodnotu řetězec, která obsahuje určený počet znaků z řetězce (kap. 8.3). řetězec: Povinný argument. Řetězcový výraz, z něhož budou vráceny znaky. Pokud argument řetězec obsahuje hodnotu Null, bude vrácena hodnota Null. začátek: Povinný argument. Hodnota typu dlouhé číslo. Pozice znaku v řetězci, kterým začíná požadovaná část. Pokud je hodnota argumentu začátek větší než počet znaků v řetězci, vrátí funkce Mid řetězec s nulovou délkou (""). délka: Nepovinný argument. Hodnota typu dlouhé číslo. Počet znaků, které mají být vráceny. Pokud je tento argument vynechán nebo pokud text obsahuje méně znaků, než určuje hodnota délka (včetně znaku na pozici začátek), budou vráceny všechny znaky od pozice začátek do konce řetězce. Replace (výraz, najít, nahradit [, začátek ] [, počet ]) Vrátí řetězec, ve kterém byl určitý dílčí řetězec nahrazen jiným dílčím řetězcem tolikrát, kolikrát bylo zadáno (kap. 8.3).

244 13 Příloha C: Seznam 244 výraz: Povinný argument. Řetězcový výraz obsahující dílčí řetězec, který má být nahrazen. najít: Povinný argument. Dílčí řetězec, který má být nalezen. nahradit: Povinný argument. Nový dílčí řetězec, který má nahradit původní. začátek: Nepovinný argument. Pozice ve výrazu, u které má začít hledání dílčího řetězce. Pokud tento argument neuvedete, předpokládá se automaticky hodnota 1. počet: Nepovinný argument. Požadovaný počet nahrazení dílčího řetězce. Výchozí hodnota je -1, což znamená nahrazení všech výskytů. UCase(řetězec) Vrátí hodnotu typu řetězec, která obsahuje zadaný řetězec po převodu na velká písmena (kap. 8.3). řetězec: Povinný argument. Řetězec je libovolný platný Řetězcový výraz. Pokud argument řetězec obsahuje hodnotu Null, bude vrácena hodnota Null. Trim(řetězec) Vrátí řetězec obsahující kopii zadaného řetězce bez úvodních i koncových mezer (kap. 6.2). řetězec: Povinný argument. Řetězec je libovolný platný řetězcový výraz. Pokud argument řetězec obsahuje hodnotu Null, bude vrácena hodnota Null Funkce data a času Month(datum) Vrátí hodnotu celé číslo obsahující celé číslo od 1 do 12 včetně, které představuje kalendářní měsíc (dotaz 43c). datum: Povinný argument. Datum je hodnota typu datum, číslo, text nebo libovolná kombinace těchto hodnot, jež může vyjadřovat datum. Pokud argument datum obsahuje hodnotu Null, bude vrácena hodnota Null. DateDiff(interval, datum1, datum2 [, první_den_v_týdnu] [, první_týden_v_roce] ) Vrátí hodnotu typu číslo určující počet časových intervalů mezi dvěma zadanými daty (dotaz 43d). interval: Povinný argument. Řetězcový výraz představující časový interval sloužící k výpočtu rozdílu mezi daty určenými argumenty datum1 a datum2:» yyyy: Rok» q: Čtvrtletí» m: Měsíc» (y: Den v roce)» d: Den» (w: Den v týdnu)» ww: Týden» h: Hodina» n: Minuta» s: Sekunda datum1, datum2: Povinné argumenty. Hodnoty typu datum. Dvě data, která chceme použít při výpočtu. první_den_v_týdnu: Nepovinný argument. Konstanta, která určuje první den týdne. Pokud není zadána, předpokládá se, že je to neděle. první_týden_v_roce: Nepovinný argument. Konstanta určující první týden v roce. Pokud není zadána, předpokládá se, že je to týden, do kterého spadá datum 1. ledna. DateAdd(interval, počet, datum) Vrátí hodnotu typu datum a čas obsahující datum, ke kterému je přidán zadaný časový interval (dotaz 43d). interval: Povinný argument. Řetězcový výraz představující časový interval, který chceme přidat (podrobněji viz funkce DateDiff). počet: Povinný argument. Číselný výraz představující počet intervalů, které chceme přidat. Může to být kladné číslo (chceme-li získat datum v budoucnosti) nebo záporné číslo (chceme-li získat datum v minulosti). datum: Povinný argument. Datum, ke kterému je interval přidáván.

245 13 Příloha C: Seznam 245 DatePart(interval, datum [, první_den_v_týdnu] [, první_týden_v_roce] ) Vrátí hodnotu typu celé číslo obsahující zadanou část daného data (dotaz 43e). interval: Povinný argument. Řetězcový výraz představující časový interval, který chceme vrátit. datum: Povinný argument. Hodnota typu datum a čas, kterou chceme vyhodnotit. první_den_v_týdnu: Nepovinný argument. Konstanta, která určuje první den týdne. Pokud není zadána, předpokládá se, že je to neděle. první_týden_v_roce: Nepovinný argument. Konstanta určující první týden v roce. Pokud není zadána, předpokládá se, že je to týden, do kterého spadá datum 1. ledna Další funkce Switch(výraz-1, hodnota-1 [, výraz-2, hodnota-2 ] [, výraz-n, hodnota-n ] ) Vyhodnotí seznam Výraz a vrátí hodnotu nebo výraz přidružený k prvnímu výrazu v seznamu, který má hodnotu True (dotaz 43a). výraz: Povinný argument. Podmínka, kterou chceme vyhodnotit. hodnota: Povinný argument. Hodnota nebo výraz, které mají být vráceny v případě, že odpovídající výraz má hodnotu True. HyperlinkPart(hypertextový-odkaz, část) Vrátí jako text stanovenou část hypertextového odkazu (dotaz 43b). hypertextový-odkaz: Pole typu hypertextový odkaz. část: Číslo z intervalu 1 4. Určuje, která část hypertextového odkazu bude vrácena. Round(výraz [, počet_desetinných_míst ] ) Vrátí číslo zaokrouhlené na určený počet desetinných míst (dotaz 47f). výraz: Povinný argument. Číselný výraz pro zaokrouhlení. počet_desetinných_míst: Nepovinný argument. Číslo označující, na kolik desetinných míst napravo od desetinné čárky se má číslo zaokrouhlit. Pokud tento argument neuvedeme, zaokrouhlí se číslo na nejbližší celé číslo. CStr (výraz) Vrátí argument jako text (kap. 5.2). výraz: Výraz libovolného typu (např. číslo). Now Vrátí hodnotu typu datum a čas určující aktuální datum a čas podle systémového data a času v počítači (kap. 6.6). bez argumentů Val(řetězec) Vrátí čísla obsažená v řetězci jako číselnou hodnotu příslušného typu (dotaz 45f). řetězec: Povinný. Libovolný platný řetězec. InStr ([start ] řetězec_1, řetězec_2) Vrátí hodnotu typu dlouhé číslo určující pozici prvního výskytu jednoho řetězce v jiném řetězci (kap. 8.5). zahájení: Nepovinný argument. Číselný výraz určující pozici, od které má hledání začít. Jestliže tento argument vynecháme, začne hledání na pozici prvního znaku. Pokud má argument start hodnotu Null, dojde k chybě. řetězec1: Povinný argument. Řetězcový výraz, v němž hledáme. řetězec2: Povinný argument. Hledaný řetězcový výraz. MsgBox(výzva [, tlačítka ] [, název ]) Zobrazí zprávu v dialogovém okně, počká, až uživatel klepne na některé z tlačítek, a vrátí celé číslo určující, na které tlačítko uživatel kliknul (kap. 8.7). Výzva: Povinný argument. Řetězcový výraz zobrazený jako zpráva v dialogovém okně. Maximální délka výzvy je přibližně znaků podle šířky použitých znaků. Pokud se výzva skládá z více než jednoho řádku, můžeme jednotlivé řádky oddělit znakem návratu na začátek řádku (znak(13)), znakem konce řádku (znak(10)) nebo kombinací znaku návratu na začátek řádku a znaku konce řádku (znak(13) & znak(10)) vloženými mezi jednotlivé řádky.

246 13 Příloha C: Seznam 246 tlačítka: Nepovinný argument. Číselný výraz, který je souhrnem hodnot určujících čísla a typy tlačítek, která se mají zobrazit, požadovaný styl ikon, identitu výchozího tlačítka a modalitu okna zprávy. Pokud je tento argument vynechán, bude mít argument tlačítka výchozí hodnotu 0:» vbokonly (0): Zobrazí pouze tlačítko OK.» vbokcancel (1): Zobrazí tlačítka OK a Storno.» vbabortretryignore (2): Zobrazí tlačítka Ukončit, Opakovat a Přeskočit.» vbyesnocancel (3): Zobrazí tlačítka Ano, Ne a Storno.» vbyesno (4): Zobrazí tlačítka Ano a Ne.» vbretrycancel (5): Zobrazí tlačítka Opakovat a Storno.» vbcritical (16): Zobrazí ikonu Kritická zpráva.» vbquestion (32): Zobrazí ikonu Upozorňovací dotaz.» vbexclamation (48): Zobrazí ikonu Upozornění.» vbinformation (64): Zobrazí ikonu Informační zpráva.» vbdefaultbutton1 (0): Výchozí je první tlačítko.» vbdefaultbutton2 (256): Výchozí je druhé tlačítko.» vbdefaultbutton3 (512): Výchozí je třetí tlačítko.» vbdefaultbutton4 (768): Výchozí je čtvrté tlačítko.» vbapplicationmodal (0): Modalita aplikace. Uživatel musí nejprve odpovědět na okno zprávy, až poté může pokračovat v práci s aktuálně otevřenou aplikací.» vbsystemmodal (4 096): Modalita systému. Všechny aplikace jsou pozastaveny, dokud uživatel neodpoví na okno zprávy.» vbmsgboxhelpbutton (16 384): Přidá do okna zprávy tlačítko nápovědy.» vbmsgboxsetforeground (65 536): Určuje okno zprávy jako okno, které je v popředí.» vbmsgboxright ( ): Text je zarovnán doprava.» vbmsgboxrtlreading ( ): Určuje, že by se text měl v hebrejských a arabských systémech zobrazovat zprava doleva. První skupina hodnot (0 5) popisuje čísla a typy tlačítek zobrazených v dialogovém okně. Druhá skupina (16, 32, 48, 64) popisuje styl ikon. Třetí skupina (0, 256, 512) určuje, které tlačítko je výchozí, a čtvrtá skupina (0, 4096) určuje modalitu okna zprávy. Při přidávání čísel pro vytvoření konečné hodnoty argumentu tlačítka používáme pouze jedno číslo z každé skupiny. název: Nepovinný argument. Řetězcový výraz zobrazený v záhlaví dialogového okna. Pokud název vynecháme, zobrazí se v záhlaví název aplikace. výsledná hodnota:» vbok (1): OK» vbcancel (2): Storno» vbabort (3): Ukončit» vbretry (4): Opakovat» vbignore (5): Přeskočit» vbyes (6): Ano» vbno (7): Ne

247 Rejstřík 247 Rejstřík >=, 73 Access Access, 196 Access Excel, 193 Access OneNote, 202 Access Outlook, 202 Access PowerPoint, 194 Access Publisher, 202 Access textový soubor, 192 Access Visio, 197 Access Word, 191 Access 2016, 7 Access v Office Pro Plus, 7 akce Krok, 156 NajítDalšíZáznam, 153 NajítZáznam, 153 NastavitVlastnost, 158 OknoSeZprávou, 154 OtevřítFormulář, 152 OtevřítSestavu, 156 PřejítNaOvládacíPrvek, 153 Skupina, 153 ZavřítOkno, 155 ZrušitUdálost, 156 ZvukovýSignál, 153 akční dotazy, 90 aktualizační dotaz, 91 aktuální datum a čas, 133 analýza tabulky, 212 výkonu, 214 argumenty, 151 automatická komprimace, 211 automatická velikost, 102 automatické opravy názvů polí, 66 automatické otevření formuláře, 124 automatické spuštění formuláře, 220 barvy ve formuláři, 106 between, 74 blokové rozložení sestavy, 140 cíl odkazů, 204 data z Accessu jako zdroj dat hromadné korespondence Wordu, 191 databáze, 7 databázové modely, 7 databázové nástroje, 211 databázový systém, 7 definice pole, 43 deklarace, 163 desktopové databáze, 14 dialogové okno se zprávou, 181 Do Loop, 177 dokumentace, 214 druhy dotazů, 67 formulářů, 95 sestav, 125 duplikace hodnoty z předchozí věty, 27 dynamická sada a snímek, 68 editace funkce, 165 Excel Access, 193 export části datové sady, 191 datové sady, 191 sestavy, 191 tabulky z Accessu do SharePointu, 43 filtr, 56 For Next, 167 formát, 47 ACCDE, 219 ACCDR, 220 písma, 129 zobrazení datového listu, 59 formulace dotazu, 67 formulář s nabídkou objektů, 220 s navigací, 124 s odkazy na objekty, 124 formulářové zobrazení, 100 globální místní nabídka, 216 graf, 119 hlavičky sloupců, 53 hledání, 63 hyperlinkpart, 75, 128 hypertextový odkaz, 58 If Then Else, 168 ikona tabulky, 208 import dat z Excelu, 28 tabulky, 207 indexování, 50 interní webový prohlížeč, 104 jazyk SQL, 93 karta, 122 Doplňky ve formuláři, 217 Office, 222 kde, 84 komentář a seskupení, 151 komprese kódu, 51 komprimace databáze, 211 kontakty do a z Outlooku, 61 kontingenční diagram, 201 kontrola pravopisu, 60 kopírování formátu, 103 krokování, 156

248 Rejstřík 248 křížový dotaz, 88 len, 103 makro, 151 v sestavě, 160 ve formuláři, 158 mapa ve formuláři, 110 místní nabídka formuláře, 216 modifikace fungování kláves, 65 seznamů, 104 moduly, 163 month, 76 možnosti aktuální databáze, 221 datového listu, 221 kontroly pravopisu a mluvnice, 221 návrhářů objektů, 221 obecné, 221 upřesnění, 221 zmenšení, 130 náhled, 130 nahrazování, 64 nápověda ve formuláři, 185 navigační podokno, 20 návrh databáze, 23 návrhové zobrazení, 21, 98 název písma, 143 nekonečný formulář, 111 nekonzistentnost dat, 30 nesvázané odkazy, 204 normalizace, 23, 35 not, 74 nová relace, 34 nové hodnoty, 47 null, 74 nulová délka, 50 nutnost zadat, 50 objekt OLE, 58 objektová funkce CurrentDb, 176 objekty Accessu, 7 objekty, metody, vlastnosti, 176 obrysové rozložení sestavy, 146 odebrání rozložení, 101 odsazované rozložení sestavy, 142 odstranění stránky, 123 okno webové aplikace, 207 omezení počtu vět, 85 omezit na seznam, 54 opakované spojení tabulky, 33 operace se záznamy, 60 oprava databáze, 211 or, 71 organizační diagram, 199 orientace, 56 Outlook Access, 202 ověřovací pravidlo, 50 tabulky, 56 ověřovací text, 50, 56 ovládací prvky, 52, 95, 126 označování více objektů, 102 panel nástrojů Rychlý přístup, 19 parametrický dotaz, 86 pás karet, 19 počet desetinných míst, 47 řádků seznamu, 53 sloupců, 53 stránek a počet vět, 133 podformulář, 115 podíly v sestavě, 148 podmíněné formátování, 112 podmínka akce, 151, 154 referenční integrity, 27 Where, 157 podokno objektu, 21 podsestava, 138 pole se seznamem, 101 ve formuláři, 98 popis tabulky, 55 pořadí prvků ve formuláři, 105 sloupců, 89 stránek, 123 pouze přidat, 52 procedury, 163 Project Access, 201 propojení, 197 tabulek, 36 průběžný součet, 148 průvodce dotazem, 142 importem textu, 188 sestavou, 140 vyhledáváním, 55 přechody z webové aplikace, 210 překreslení formuláře, 178 přesnost a měřítko, 47 přesun do databáze Accessu, 215 do SharePointu, 215 přidání obsahu tabulky do jiné tabulky, 190 pole do návrhové mřížky, 68 tabulky do konstrukce dotazu, 67 přidávací dotaz, 93 příklady použití VBA, 163 připojení k existujícímu seznamu SharePointu, 43

249 Rejstřík 249 přiřazovací příkaz, 165 referenční integrita, 25 relace dotazu a tabulky, 33 tabulky ke stejné tabulce, 32 rozdělení formuláře, 110 rozevírací pole, 186 rozložení ovládacích prvků, 99 v relacích, 34 řazení, 56, 136 řazení a filtrování, 62 řazení výsledků dotazu, 69 Select Case, 182 seskupení dle prvního znaku, 142 seskupování a řazení, 147 seskupování ovládacích prvků, 102 sestava relací, 211 sestavy, 210 seznam vlastností, 220 schránka, 59 sjednocovací dotaz, 94 skrytí duplikátů, 141 skupiny maker, 151, 162 příkazů, 19 směry komunikace, 183 součty za sekce a sestavu, 147 souhrn ve formuláři, 114 souhrnné dotazy, 83 souhrny, 60 specifikace importu, 189 spojení tabulky do sebe, 81 spouštění dialogového okna, 20 maker, 151 správce propojených tabulek, 217 přepínacích panelů, 217 spuštění Accessu, 13 stavový řádek, 21 struktura formuláře, 95 sestavy, 125 sum, 83 svázané odkazy, 206 switch, 75 šablona sestavy, 133 šifrování databáze, 219 šíření aplikací připravených v Accessu, 8 šířka seznamu, 53 sloupce, 53, 62 štítky, 148 textový soubor Access, 193 tisk formuláře, 188 na tiskárně, 131 relací, 34 vět ve sloupcích, 136 titulek, 49 výrazu, 75 titulkový pruh, 19 tlačítko s obrázkem, 172 tvorby formuláře, 96 tvorby sestavy, 126 tvorba tabulky, 39 návrhem tabulky, 40 v rámci součástí aplikace, 39 vyplněním prázdné tabulky, 40 tvorba webové aplikace, 207 tvůrce výrazů, 76 typy akcí, 151 relací, 24 spojení, 24, 28 výsledku, 45 zdroje řádků, 52 událostní vlastnosti, 159 ukládání dat z formuláře, 188 do SharePointu, 207 maker, 151 relací, 25 ukotvení sloupce, 61 uložení dotazu, 69 modulu, 165 sestavy, 132 úprava a uložení zdrojového dotazu, 109 úpravy formuláře, 208 ovládacích prvků, 99 relace, 34 seznamu hodnot, 54 tabulky pro seznam, 54 uzamčení pole, 100 val, 84 vázaný sloupec, 53 vazba odkazů, 204 velikost číselného pole, 46 formuláře, 107 podrobností sestavy, 129 textového pole, 45 vícenásobná relace, 32 Visio Access, 201 Visual Basic for Applications, 163 vlastnost

250 Rejstřík 250 Při události Current, 159 Při ztrátě fokusu, 159 vlastnosti, 98 dotazu, 69 tabulky, 55 textového pole, 185 vložení obrázku, 141 vnořený datový list, 26, 56, 61 vstupní maska, 48 výběr data, 51 výchozí hodnota, 50 v nové větě, 59 výchozí nastavení prvku, 103, 132 výchozí zobrazení, 56, 139 výplň ovládacího prvku, 136 výpočet ve větě, 83, 172 výraz, 45 v sestavě, 128 ve formuláři, 103 výsledky dotazu, 68 výška řádku, 61 vytvářecí dotaz, 90 vytvoření databáze, 15 dotazu, 17 seznamu v SharePointu, 41 tabulky, 16 vytvoření a přejmenování stránky, 123 význam formulářů, 95 sestav, 125 vztahy, 211 webové aplikace, 15 webový formulář Datový list a export, 210 Seznam, 210 With, 178 Word Access, 183 zámek dokumentu, 187 zarovnání textu, 51 zástupný symbol *, 73 zástupný symbol?, 74 zaškrtávací políčko, 186 závislosti objektů, 212 zdroj řádků, 52 změny návrhu tabulky v datovém listu, 64 zobrazené hodnoty, 55 zobrazení formuláře, 95 rozložení, 100 sestavy, 125 tabulky, 39 tabulky v relacích, 34 výsledků, 67

251

252 Rejstřík 252

Access. Tabulky. Vytvoření tabulky

Access. Tabulky. Vytvoření tabulky Access správa databáze (tabulky, relace, omezující podmínky, data...) uživatelské prostředí pro práci s databází (formuláře, sestavy, datové stránky, makra...) ukázková aplikace Northwind hlavní okno databáze

Více

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1.

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro administrátory. Verze 1. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM Manuál pro administrátory Verze 1.0 2012 AutoCont CZ a.s. Veškerá práva vyhrazena. Tento

Více

Kapitola 11: Formuláře 151

Kapitola 11: Formuláře 151 Kapitola 11: Formuláře 151 Formulář DEM-11-01 11. Formuláře Formuláře jsou speciálním typem dokumentu Wordu, který umožňuje zadávat ve Wordu data, která lze snadno načíst například do databázového systému

Více

Úvodní příručka. Získání nápovědy Kliknutím na otazník přejděte na obsah nápovědy.

Úvodní příručka. Získání nápovědy Kliknutím na otazník přejděte na obsah nápovědy. Úvodní příručka Microsoft Access 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Změna velikosti obrazovky nebo zavření databáze

Více

Microsoft Access 2007

Microsoft Access 2007 Vysoká škola ekonomická v Praze Fakulta mezinárodních vztahů Manažerská informatika Databázový systém Microsoft Access 2007 Tomáš Kubálek Markéta Kubálková Vysoká škola ekonomická v Praze, Nakladatelství

Více

soubor dat uspořádaných do řádků a sloupců

soubor dat uspořádaných do řádků a sloupců MS Access je program, který umožňuje vytvářet a spravovat databáze. Důležitým prvkem při tvorbě databáze je vytvoření vhodné struktury tabulek. Tabulku začneme vytvářet definováním jejich polí (=sloupců).

Více

3 Formuláře a sestavy Příklad 1 Access 2007

3 Formuláře a sestavy Příklad 1 Access 2007 TÉMA: Vytváření formulářů Správce databáze Naše zahrada předpokládá, že bude s vytvořenou databází pracovat více uživatelů. Je třeba proto navrhnout a vytvořit formuláře pro přístup k datům. Zadání: Otevřete

Více

Microsoft Office. Word hromadná korespondence

Microsoft Office. Word hromadná korespondence Microsoft Office Word hromadná korespondence Karel Dvořák 2011 Hromadná korespondence Hromadná korespondence je způsob, jak určitý jeden dokument propojit s tabulkou obsahující více záznamů. Tímto propojením

Více

Microsoft Access. Úterý 26. února. Úterý 5. března. Typy objektů databáze: Vytvoření a návrh nové tabulky

Microsoft Access. Úterý 26. února. Úterý 5. března. Typy objektů databáze: Vytvoření a návrh nové tabulky Úterý 26. února Microsoft Access Databáze je seskupení většího množství údajů, které mají určitou logiku a lze je určitým způsobem vyhodnocovat, zpracovávat a analyzovat Access je jedním z programů určených

Více

Spuštění a ukončení databázové aplikace Access

Spuštění a ukončení databázové aplikace Access Spuštění a ukončení databázové aplikace Access Aplikaci Access spustíte tak, že vyhledáte její ikonu v nabídce "Start" a klepnete na ní. Najdete ho v Sekci Všechny programy/mircosoft Office. Po výběru

Více

Microsoft Access tvorba databáze jednoduše

Microsoft Access tvorba databáze jednoduše Microsoft Access tvorba databáze jednoduše Časový rozsah: 2 dny (9:00-16:00) Cena: 3300 Kč + DPH Úvod do relačních databází. Funkce databázových objektů Microsoft Access. Návrh tabulek, definice základních

Více

RELAČNÍ DATABÁZE ACCESS

RELAČNÍ DATABÁZE ACCESS RELAČNÍ DATABÁZE ACCESS 1. Úvod... 2 2. Základní pojmy... 3 3. Vytvoření databáze... 5 4. Základní objekty databáze... 6 5. Návrhové zobrazení tabulky... 7 6. Vytváření tabulek... 7 6.1. Vytvoření tabulky

Více

7. Nástroje. 7.1 Pravopis. 7.2 Jazyk. Kapitola 7: Nástroje 47. Kontrola pravopisu

7. Nástroje. 7.1 Pravopis. 7.2 Jazyk. Kapitola 7: Nástroje 47. Kontrola pravopisu Kapitola 7: Nástroje 47 7. Nástroje Kontrola pravopisu 7.1 Pravopis V prezentaci Encian přichystejme dvě záměrné pravopisné chyby na prvním snímku. Slovo Váš nahradíme slovem Vaš a slovo přehledným nahradíme

Více

1 Tabulky Příklad 7 Access 2010

1 Tabulky Příklad 7 Access 2010 TÉMA: Řazení a filtrace dat Sekretářka společnosti Naše zahrada pracuje s rozsáhlými tabulkami. Pro přehlednější práci s daty používá řazení a filtraci dat na základě různých kritérií. Zadání: Otevřete

Více

Databázový systém ACCESS

Databázový systém ACCESS Databázový systém ACCESS Cíle: Databáze je souhrn dat vztahujících se k určitému tématu nebo účelu. Databázi lze chápat jako množinu dat popisujících určitou část objektivní reality, udržovanou a využívanou

Více

1 Tabulky Příklad 3 Access 2010

1 Tabulky Příklad 3 Access 2010 TÉMA: Vytvoření tabulky v návrhovém zobrazení Pro společnost Naše zahrada je třeba vytvořit databázi pro evidenci objednávek o konkrétní struktuře tabulek. Do databáze je potřeba ještě přidat tabulku Platby,

Více

METODICKÝ POKYN PRÁCE S MS PowerPoint - ZAČÁTEČNÍCI. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

METODICKÝ POKYN PRÁCE S MS PowerPoint - ZAČÁTEČNÍCI. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. METODICKÝ POKYN PRÁCE S MS PowerPoint - ZAČÁTEČNÍCI Základní rozložení plochy Výchozím stavem při práci je normální zobrazení. pás karet - základní nabídka příkazů Pořadí jednotlivých snímků Základní plocha

Více

z aplikace Access 2003

z aplikace Access 2003 V tomto průvodci Microsoft Aplikace Microsoft Access 2010 vypadá velmi odlišně od aplikace Access 2003, a proto jsme vytvořili tohoto průvodce, který vám pomůže se s ní rychle seznámit. Dozvíte se o klíčových

Více

Začínáme pracovat s tabulkovým procesorem MS Excel

Začínáme pracovat s tabulkovým procesorem MS Excel Začínáme pracovat s tabulkovým procesorem MS Excel Nejtypičtějším představitelem tabulkových procesorů je MS Excel. Je to pokročilý nástroj pro tvorbu jednoduchých i složitých výpočtů a grafů. Program

Více

Windows 10 (5. třída)

Windows 10 (5. třída) Windows 10 (5. třída) Pracovní plocha: takto vypadá Pracovní plocha u nás ve škole - pozadí Pracovní plochy - ikony na Pracovní ploše ikona Student 17 (se jménem přihlášeného uživatele) ikona Tento počítač

Více

Microsoft Access. Typy objektů databáze: Vytvoření a návrh nové tabulky. Vytvoření tabulky v návrhovém zobrazení

Microsoft Access. Typy objektů databáze: Vytvoření a návrh nové tabulky. Vytvoření tabulky v návrhovém zobrazení Microsoft Access Databáze je seskupení většího množství údajů, které mají určitou logiku a lze je určitým způsobem vyhodnocovat, zpracovávat a analyzovat Access je jedním z programů určených pro zpracování

Více

Průvodce aplikací FS Karta

Průvodce aplikací FS Karta Průvodce aplikací FS Karta Základní informace k Aplikaci Online aplikace FS Karta slouží k bezpečnému ukládání osobních údajů fyzických osob a k jejich zpracování. Osobní údaje jsou uloženy ve formě karty.

Více

Řazení tabulky, dotazu nebo formuláře

Řazení tabulky, dotazu nebo formuláře Řazení tabulky, dotazu nebo formuláře Mají-li být formuláře a sestavy efektivní a snadno použitelné, může hrát seřazení dat důležitou roli. 1) Určíme pole, podle kterých chcete řadit. 2) Klepneme pravým

Více

Windows 8.1 (5. třída)

Windows 8.1 (5. třída) Windows 8.1 (5. třída) Pracovní plocha: takto vypadá Pracovní plocha u nás ve škole - pozadí Pracovní plochy - ikony na pracovní ploše - Hlavní panel - ikony na Hlavním panelu (zvýrazněná ikona spuštěné

Více

Obsahy kurzů MS Office

Obsahy kurzů MS Office Obsahy kurzů MS Office V současné době probíhají kurzy MS Office 2010 s následující osnovou: 1. Základy práce na PC, MS Office - praktické užití Kurz je určen pro všechny, kteří mají s prací na PC minimální

Více

Kontakty (Lidé) OKNO KONTAKTY (LIDÉ) Seznam kontaktů najdeme v sekci Lidé nalevo ve spodní části Outlooku mezi nabídkami Pošta, Kalendář a Úkoly.

Kontakty (Lidé) OKNO KONTAKTY (LIDÉ) Seznam kontaktů najdeme v sekci Lidé nalevo ve spodní části Outlooku mezi nabídkami Pošta, Kalendář a Úkoly. KAPITOLA 4 Kontakty (Lidé) OKNO KONTAKTY (LIDÉ) VYTVOŘENÍ NOVÉHO KONTAKTU ÚPRAVA KONTAKTU VYMAZÁNÍ KONTAKTU SKUPINA KONTAKTŮ ÚPRAVA SKUPINY KONTAKTŮ VYMAZÁNÍ SKUPINY KONTAKTŮ VYHLEDÁNÍ KONTAKTU TISK KONTAKTŮ

Více

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi. Databáze Základní pojmy Pojem databáze označuje obecně souhrn informací, údajů, dat o nějakých objektech. Úkolem databáze je hlídat dodržení všech omezení a dále poskytovat data při operacích. Objekty

Více

3 Formuláře a sestavy Příklad 1 Access 2010

3 Formuláře a sestavy Příklad 1 Access 2010 TÉMA: Vytváření formulářů Správce databáze Naše zahrada předpokládá, že bude s vytvořenou databází pracovat více uživatelů. Je třeba proto navrhnout a vytvořit formuláře pro přístup k datům. Zadání: Otevřete

Více

OBR. 3-1: DIALOGOVÉ OKNO PÍSMO

OBR. 3-1: DIALOGOVÉ OKNO PÍSMO Kapitola 3: Formát 31 3. Formát Písmo 3.1 Písmo V prezentaci Encian chceme změnit formát písma v prvním snímku. Poklepáním označíme textový nadpis Encián (nikoliv WordArt). Z menu zadáme příkaz FORMÁT,

Více

ZŠ ÚnO, Bratří Čapků 1332

ZŠ ÚnO, Bratří Čapků 1332 MS Excel 2002 Grada - po spuštění je třeba kliknout do středu obrazovky - v dalším dialogovém okně (Přihlášení) vybrat uživatele, zřídit Nového uživatele nebo zvolit variantu Bez přihlášení (pro anonymní

Více

Použití filtrů v Museionu

Použití filtrů v Museionu Příručka uživatele systému Museion Použití filtrů v Museionu uživatele systému Museion Autorská práva Copyright 2012-2015 MUSOFT.CZ, s.r.o.. Všechna práva vyhrazena. Tato příručka je chráněna autorskými

Více

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat)

DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS. (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat) DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 61 DATABÁZE - ACCESS (příprava k vykonání testu ECDL Modul 5 Databáze a systémy pro zpracování dat) DATABÁZE A SYSTÉMY PRO UCHOVÁNÍ DAT 62 Databáze a systémy pro uchování

Více

3 Makra Příklad 4 Access 2007. Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker.

3 Makra Příklad 4 Access 2007. Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker. TÉMA: Vytváření a úprava maker Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker. Zadání: Otevřete databázi Makra.accdb. 1. Vytvořte makro Objednávky,

Více

DATABÁZE MS ACCESS 2010

DATABÁZE MS ACCESS 2010 DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,

Více

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze. 3.00.01.09 Kontakty 08/2010. 1 Obsah

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze. 3.00.01.09 Kontakty 08/2010. 1 Obsah 1 Obsah 1 Obsah... 1 2 Úvod a spouštění SW Palstat CAQ... 2 2.1.1 Návaznost na další SW moduly Palstat CAQ... 2 2.2 Přihlášení do programu... 2 2.2.1 Stanovení přístupu a práv uživatele... 2 2.2.2 Spuštění

Více

Pracovní prostředí Word 2003 versus Word 2010

Pracovní prostředí Word 2003 versus Word 2010 Zdokonalování gramotnosti v oblasti ICT Pracovní prostředí Word 2003 versus Word 2010 Inovace a modernizace studijních oborů FSpS Vránová Hana 11.7.2012 OBSAH Srovnání pracovního prostředí Word 2003 a

Více

Úvodní příručka. Správa souborů Kliknutím na kartu Soubor můžete otevřít, uložit, vytisknout a spravovat své soubory Wordu.

Úvodní příručka. Správa souborů Kliknutím na kartu Soubor můžete otevřít, uložit, vytisknout a spravovat své soubory Wordu. Úvodní příručka Microsoft Word 2013 vypadá jinak než ve starších verzích, proto jsme vytvořili tuto příručku, která vám pomůže se s ním rychle seznámit. Panel nástrojů Rychlý přístup Příkazy tady umístěné

Více

MS Word. verze Přehled programů pro úpravu textu

MS Word. verze Přehled programů pro úpravu textu MS Word verze 2013 Přehled programů pro úpravu textu Pro úpravu textu slouží textový editor Jednoduché (zdarma, součást operačního systému MS Windows): Poznámkový blok, WordPad Komplexní: MS Word, Writer

Více

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází Tiskové sestavy Tiskové sestavy se v aplikaci Access používají na finální tisk informací z databáze. Tisknout se dají všechny objekty, které jsme si vytvořili, ale tiskové sestavy slouží k tisku záznamů

Více

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph)

Marketingová komunikace. 2. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) Marketingová komunikace Kombinované studium Skupina N9KMK1aPH/N9KMK1bPH (um1a1ph/um1b1ph) 2. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Minulé soustředění úvod

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access generování složitějších sestav Ing. Kotásek Jaroslav

Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access generování složitějších sestav Ing. Kotásek Jaroslav Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Databázové systémy MS Access generování

Více

František Hudek. červenec 2012

František Hudek. červenec 2012 VY_32_INOVACE_FH16 Jméno autora výukového materiálu Datum (období), ve kterém byl VM vytvořen Ročník, pro který je VM určen Vzdělávací oblast, obor, okruh, téma Anotace František Hudek červenec 2012 8.

Více

MS PowerPoint ZÁKLADY

MS PowerPoint ZÁKLADY MS PowerPoint ZÁKLADY UKÁZKA ŠKOLÍCÍCH MATERIÁLŮ Centrum služeb pro podnikání s.r.o. 2014, I. Verze, TP OBSAH 1. Úvod do PowerPointu... 1 2. Otevření PowerPointu... 1 3. Pracovní prostředí PowerPointu...

Více

STATISTICA Téma 1. Práce s datovým souborem

STATISTICA Téma 1. Práce s datovým souborem STATISTICA Téma 1. Práce s datovým souborem 1) Otevření datového souboru Program Statistika.cz otevíráme z ikony Start, nabídka Programy, podnabídka Statistika Cz 6. Ze dvou nabídnutých možností vybereme

Více

Řízení vztahů se zákazníky Microsoft Dynamics CRM [Klíčová slova]

Řízení vztahů se zákazníky Microsoft Dynamics CRM [Klíčová slova] googoo VŠE v Praze Řízení vztahů se zákazníky Microsoft Dynamics CRM [Klíčová slova] Tomáš Kubálek [Kategorie] Obsah 3 Obsah Obsah... 3 1 Microsoft Dynamics CRM... 5 1.1 Řízení vztahu se zákazníky (CRM)...

Více

Operační systém MS Windows XP Professional

Operační systém MS Windows XP Professional Operační systém MS Windows XP Professional Operační systém základní programové vybavení počítače zprostředkovává komunikaci uživatele s počítačem s technickým vybavením počítače s aplikačním programovým

Více

7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů

7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů 7. Enterprise Search Pokročilé funkce vyhledávání v rámci firemních datových zdrojů Verze dokumentu: 1.0 Autor: Jan Lávička, Microsoft Časová náročnost: 30 40 minut 1 Cvičení 1: Vyhledávání informací v

Více

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace

Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace Téma 2.2 Primární klíč, cizí klíč, referenční integrita, pravidla normalizace, relace Obecný postup: Každá tabulka databáze by měla obsahovat pole (případně sadu polí), které jednoznačně identifikuje každý

Více

Manuál k produktu. fajny shop. FajnyWEB.cz 2008 (6.11.2008)

Manuál k produktu. fajny shop. FajnyWEB.cz 2008 (6.11.2008) Manuál k produktu fajny shop FajnyWEB.cz 2008 (6.11.2008) Obsah Obsah... 2 1 Popis administrace... 4 1.1 Objednávky... 4 1.1.1 Přehled... 4 1.1.1.1 Filtry a vyhledávání... 4 1.1.1.2 Seznam objednávek a

Více

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou

Více

František Hudek. duben ročník

František Hudek. duben ročník VY_32_INOVACE_FH09_WIN Jméno autora výukového materiálu Datum (období), ve kterém byl VM vytvořen Ročník, pro který je VM určen Vzdělávací oblast, obor, okruh, téma Anotace František Hudek duben 2013 6.

Více

2 Dotazy Příklad 3 Access 2010

2 Dotazy Příklad 3 Access 2010 TÉMA: Akční dotazy Sekretářka společnosti Naše zahrada potřebuje hromadně zpracovat záznamy v tabulkách (vytvoření tabulky, aktualizace cen, odstranění záznamů). Tyto úlohy provede pomocí tzv. akčních

Více

MODUL MUNI ASPI, a. s muni_manual.indd :57:23

MODUL MUNI ASPI, a. s muni_manual.indd :57:23 MODUL MUNI ASPI, a. s. 2006 OBSAH OBSAH 1. ÚVOD.......................................................................... 4 2. ZADÁNÍ DOTAZU................................................................

Více

ZADÁNÍ: Informatika B Příklad 10 MS Access. TÉMA: Formuláře. OPF v Karviné, Slezská univerzita v Opavě. Ing. Kateřina Slaninová

ZADÁNÍ: Informatika B Příklad 10 MS Access. TÉMA: Formuláře. OPF v Karviné, Slezská univerzita v Opavě. Ing. Kateřina Slaninová TÉMA: Formuláře Sekretářka společnosti Naše zahrada, a.s. předpokládá, že bude s vytvořenou databází pracovat více uživatelů. Je třeba proto navrhnout a vytvořit formuláře pro přístup k datům. ZADÁNÍ:

Více

3 Makra Příklad 4 Access Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker.

3 Makra Příklad 4 Access Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker. TÉMA: Vytváření a úprava maker Ve vytvořené databázi potřebuje sekretářka společnosti Naše zahrada zautomatizovat některé úkony pomocí maker. Zadání: Otevřete databázi Makra.accdb. 1. Vytvořte makro Objednávky,

Více

Práce v programu Word 2003

Práce v programu Word 2003 Práce v programu Word 2003 Prostředí programu WORD 2003 Program WORD 2003 slouží k psaní textů, do kterých je možné vkládat různé obrázky, tabulky a grafy. Vytvořené texty se ukládají, jako dokumenty s

Více

Konzervace, restaurování 2

Konzervace, restaurování 2 Příručka uživatele systému Museion Konzervace, restaurování 2 úvod, evidence požadavků na zásahy Autorská práva Copyright 2012-2014 MUSOFT.CZ, s.r.o.. Všechna práva vyhrazena. Tato příručka je chráněna

Více

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28.

Zdokonalování gramotnosti v oblasti ICT. Kurz MS Excel kurz 6. Inovace a modernizace studijních oborů FSpS (IMPACT) CZ.1.07/2.2.00/28. Zdokonalování gramotnosti v oblasti ICT Kurz MS Excel kurz 6 1 Obsah Kontingenční tabulky... 3 Zdroj dat... 3 Příprava dat... 3 Vytvoření kontingenční tabulky... 3 Možnosti v poli Hodnoty... 7 Aktualizace

Více

Formuláře. Téma 3.2. Řešený příklad č Zadání: V databázi formulare_a_sestavy.accdb vytvořte formulář pro tabulku student.

Formuláře. Téma 3.2. Řešený příklad č Zadání: V databázi formulare_a_sestavy.accdb vytvořte formulář pro tabulku student. Téma 3.2 Formuláře Formuláře usnadňují zadávání, zobrazování, upravování nebo odstraňování dat z tabulky nebo z výsledku dotazu. Do formuláře lze vybrat jen určitá pole z tabulky, která obsahuje mnoho

Více

Obsah. Základy práce s databází 13. Tabulky 43. Obsah. Úvod 9 Poděkování 12

Obsah. Základy práce s databází 13. Tabulky 43. Obsah. Úvod 9 Poděkování 12 Obsah Úvod 9 Poděkování 12 1 Základy práce s databází 13 Microsoft Access úvodní teoretické informace 14 Co je Microsoft Access 14 Kdy je vhodné použít Access 14 Jednoduché vysvětlení, co je databáze 15

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

Pracovní sešit MS Word pokročilý

Pracovní sešit MS Word pokročilý Veškerá reprodukce v částečné i úplné formě je bez autorského souhlasu protizákonná. Strana 0 MS Excel pokročilý 2013 Přehled novinek Rychlý přehled Šablony, statistické funkce a další nové nástroje Spolupráce

Více

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro editaci ŽS. Verze 1.

Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM. Manuál pro editaci ŽS. Verze 1. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. PORTÁL KUDY KAM Manuál pro editaci ŽS Verze 1.0 2012 AutoCont CZ a.s. Veškerá práva vyhrazena. Tento dokument

Více

METODICKÝ POKYN PRÁCE S MS PowerPoint - POKROČILÍ. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.

METODICKÝ POKYN PRÁCE S MS PowerPoint - POKROČILÍ. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. METODICKÝ POKYN PRÁCE S MS PowerPoint - POKROČILÍ Pozadí snímku Pozadí snímku můžeme nastavit všem snímkům stejné nebo můžeme volit pro jednotlivé snímky různé pozadí. Máme několik možností: Pozadí snímku

Více

MS OFFICE, POWERPOINT

MS OFFICE, POWERPOINT Škola: Autor: DUM: Vzdělávací obor: Tematický okruh: Téma: Masarykovo gymnázium Vsetín Mgr. Petr Koňařík MGV_VT_SS_1S2-D15_Z_OFF_PP.docx Informatika MS Office Powerpoint MS OFFICE, POWERPOINT ÚVOD PowerPoint

Více

Formátování pomocí stylů

Formátování pomocí stylů Styly a šablony Styly, šablony a témata Formátování dokumentu pomocí standardních nástrojů (přímé formátování) (Podokno úloh Zobrazit formátování): textu jsou přiřazeny parametry (font, velikost, barva,

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_33_06 Škola Střední průmyslová škola Zlín Název projektu, reg. č. Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávací oblast Vzdělávání v informačních a komunikačních

Více

Ukázka knihy z internetového knihkupectví

Ukázka knihy z internetového knihkupectví Ukázka knihy z internetového knihkupectví www.kosmas.cz Věnováno mé rodině ACCESS 2007 PODROBNÝ PRŮVODCE 5 Úvod... 13 Komu je tato kniha určena...13 Co v této knize naleznete...14 Použité konvence a struktura

Více

I. Příprava dat Klíčový význam korektního uložení získaných dat Pravidla pro ukládání dat Čištění dat před analýzou

I. Příprava dat Klíčový význam korektního uložení získaných dat Pravidla pro ukládání dat Čištění dat před analýzou I. Příprava dat Klíčový význam korektního uložení získaných dat Pravidla pro ukládání dat Čištění dat před analýzou Anotace Současná statistická analýza se neobejde bez zpracování dat pomocí statistických

Více

II. Elektronická pošta

II. Elektronická pošta II. Chceme-li si přečíst poštu, klikneme v levém sloupci na nápis Doručená pošta. Máme před sebou seznam e-mailů seřazených podle data a času přijetí. Pokud máme zapnuto zobrazení náhledu, ve spodní nebo

Více

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců. Přehledy pro Tabulky V programu CONTACT Professional 5 naleznete u firem, osob a obchodních případů záložku Tabulka. Tuto záložku lze rozmnožit, přejmenovat a sloupce je možné definovat dle vlastních požadavků

Více

MS Word 2007 Šablony programu MS Word

MS Word 2007 Šablony programu MS Word MS Word 2007 Šablony programu MS Word Obsah kapitoly V této kapitole se seznámíme s: Možností využití šablon při vytváření nových dokumentů Vytvářením vlastních šablon Studijní cíle Po absolvování této

Více

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph)

Marketingová komunikace. 2. a 3. soustředění. Mgr. Pavel Vávra 9103@mail.vsfs.cz. Kombinované studium Skupina N9KMK3PH (vm3aph) Marketingová komunikace Kombinované studium Skupina N9KMK3PH (vm3aph) 2. a 3. soustředění Mgr. Pavel Vávra 9103@mail.vsfs.cz http://vavra.webzdarma.cz/home/index.htm Co nás čeká: 2. soustředění 16.1.2009

Více

Pracovní list č. 14 Microsoft Word 2010 jazykové nástroje, reference I Jazykové nástroje

Pracovní list č. 14 Microsoft Word 2010 jazykové nástroje, reference I Jazykové nástroje Pracovní list č. 14 Microsoft Word 2010 jazykové nástroje, reference I Jazykové nástroje Jazykové nástroje se nachází na pásu karet Revize. Obrázek 1 - Pás karet Revize Nastavení jazyka Nastavení jazyka,

Více

Příprava projektů v programu Databox CONTACT Professional 5

Příprava projektů v programu Databox CONTACT Professional 5 Příprava projektů v programu Databox CONTACT Professional 5 Systém Databox obsahuje rozsáhlou agendu pro evidenci a řízení projektů, zakázek či obchodních případů. Záleží pouze na správci databáze, jak

Více

Pracovat budeme se sestavou Finanční tok. S ostatními se pracuje obdobně. Objeví se předdefinovaná sestava. Obrázek 1

Pracovat budeme se sestavou Finanční tok. S ostatními se pracuje obdobně. Objeví se předdefinovaná sestava. Obrázek 1 Jak na sestavy v MS Projectu Pro ilustraci postupu je připraven projekt Pracovní k sestavám, ve kterém jsou pouze dva pracovní zdroje a dodavatelé jsou vloženi jako materiálové zdroje. Pracovat budeme

Více

OVLÁDÁNÍ PROGRAMU Obsah

OVLÁDÁNÍ PROGRAMU Obsah OVLÁDÁNÍ PROGRAMU Obsah 1. Všeobecný přehled... 2 2. Základní navigační tlačítka... 2 3. Uživatelské nastavení... 3 3.1. Nastavení seznamu... 3 3.1.1. Nastavení zobrazovaných sloupců... 3 3.1.2. Nastavení

Více

1. Základní pojmy, používané v tomto manuálu. 2. Stránky

1. Základní pojmy, používané v tomto manuálu. 2. Stránky Redakční systém manuál 1. Základní pojmy, používané v tomto manuálu Hlavní menu Menu v horní světlemodré liště obsahující 7 základních položek: Publikovat, Správa, Vzhled, Komentáře, Nastavení, Pluginy,

Více

Databáze MS-Access. Obsah. Co je to databáze? Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová

Databáze MS-Access. Obsah. Co je to databáze? Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová Databáze MS-Access Doc. Ing. Radim Farana, CSc. Ing. Jolana Škutová Obsah Principy a možnosti databází. Uložení dat v databázi, formáty dat, pole, záznamy, tabulky, vazby mezi záznamy. Objekty databáze

Více

Tlačítka a další prvky vestavěných panelů nástrojů a nabídek (CommandBar) a jejich Control ID ve verzi Excel 2010

Tlačítka a další prvky vestavěných panelů nástrojů a nabídek (CommandBar) a jejich Control ID ve verzi Excel 2010 Tlačítka a další prvky vestavěných panelů nástrojů a nabídek (CommandBar) a jejich Control ID ve verzi Excel 2010 Pozn. Od verze Excelu 2007 jsou klasické panely nástrojů skryty. Jejich nástroje mohou

Více

Informace k e-learningu

Informace k e-learningu Informace k e-learningu Příprava na testy bude probíhat samostatně formou e-learningových školení přístupných způsobem popsaným níže. Zkušební testy, pomocí kterých se budete připravovat na závěrečný test,

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: CZ.1.07/1.5.00/34.0410 Číslo šablony: 25 Název materiálu: Ovládací prvky formuláře a makra Ročník: 2. ročník Identifikace materiálu:

Více

Kapitola 6: Úpravy 89

Kapitola 6: Úpravy 89 Kapitola 6: Úpravy 89 Kopírování (do schránky) 6. Úpravy 6.1 Kopírovat Kopírování je ve Wordu zajištěno dle konvencí Windows. Výsledky kopírování mohou být odlišné podle charakteru kopírování. Zapneme

Více

1. Databáze. Relace. 1.1 Databáze

1. Databáze. Relace. 1.1 Databáze Kapitola 1: Databáze. Relace 9 1. Databáze. Relace Databáze Databázový systém Seznam v Excelu Omezení Excelu! ENC.xls " Deník 1.1 Databáze Databáze je souhrn dat vztahujících se k určitému tématu nebo

Více

Manuál: Editace textů v textovém editoru SINPRO Úprava tabulek a internetových odkazů, řádkování

Manuál: Editace textů v textovém editoru SINPRO Úprava tabulek a internetových odkazů, řádkování Manuál: Editace textů v textovém editoru SINPRO Úprava tabulek a internetových odkazů, řádkování (nejen pro editaci STI v systému SINPRO, aktualizováno: 25. 6. 2015) v 2.0 Obsah TABULKY Úprava tabulek...

Více

Předmluva 11 Typografická konvence použitá v knize 12. 1 Úvod do Excelu 2003 13

Předmluva 11 Typografická konvence použitá v knize 12. 1 Úvod do Excelu 2003 13 Předmluva 11 Typografická konvence použitá v knize 12 1 Úvod do Excelu 2003 13 Spuštění a ukončení Excelu 14 Spuštění Excelu 14 Ukončení práce s Excelem 15 Přepínání mezi otevřenými sešity 16 Oprava aplikace

Více

43 HTML šablony. Záložka Šablony v systému

43 HTML šablony. Záložka Šablony v systému 43 HTML šablony Modul HTML šablony slouží ke správě šablon pro výstupy z informačního systému modularis ve formátu HTML. Modul umožňuje k šablonám doplňovat patičku, dokumentaci a vázat šablony na konkrétní

Více

Migrace na aplikaci Outlook 2010

Migrace na aplikaci Outlook 2010 V tomto průvodci Microsoft Aplikace Microsoft Outlook 2010 vypadá velmi odlišně od aplikace Outlook 2003, a proto jsme vytvořili tohoto průvodce, který vám pomůže se s ní rychle seznámit. Dozvíte se o

Více

Excel tabulkový procesor

Excel tabulkový procesor Pozice aktivní buňky Excel tabulkový procesor Označená aktivní buňka Řádek vzorců zobrazuje úplný a skutečný obsah buňky Typ buňky řetězec, číslo, vzorec, datum Oprava obsahu buňky F2 nebo v řádku vzorců,

Více

Microsoft Office Outlook 2003 s aplikací Business Contact Manager

Microsoft Office Outlook 2003 s aplikací Business Contact Manager Microsoft Office Outlook 2003 s aplikací Business Contact Manager Použití aplikace Business Contact Manager v sadě Microsoft Office Obsah Import sestavy aplikace Business Contact Manager do aplikace Excel...

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

PRACUJEME S TSRM. Modul Samoobsluha

PRACUJEME S TSRM. Modul Samoobsluha PRACUJEME S TSRM Modul Samoobsluha V této kapitole Tato kapitola obsahuje následující témata: Téma Na straně Přehled kapitoly 6-1 Užití modulu Samoobsluha 6-2 Přihlášení k systému 6-3 Hlavní nabídka TSRM

Více

Založení nové karty - základy

Založení nové karty - základy Příručka uživatele systému Museion Založení nové karty - základy Autorská práva Copyright 2012-2013 MUSOFT.CZ, s.r.o.. Všechna práva vyhrazena. Tato příručka je chráněna autorskými právy a distribuována

Více

Archiv elektronických dokumentů Zela

Archiv elektronických dokumentů Zela Archiv elektronických dokumentů Zela Instalace po rozbalení servisního balíčku 38 se automaticky spustí instalační program, který nainstaluje potřebné moduly pro provoz archivu dokumentů. Tyto moduly je

Více

MONITORING OBCHODNÍCH PARTNERŮ

MONITORING OBCHODNÍCH PARTNERŮ MONITORING OBCHODNÍCH PARTNERŮ NÁVOD PRO APLIKACI 1 Obsah: 1. Prvotní spuštění aplikace Část monitoring insolvenčního rejstříku 2. Hlavní okno 3. Monitorované subjekty 3.1 Skupiny monitorovaných subjektů

Více

Obsah. 1 Úvod do Visia 2003 15. 2 Práce se soubory 47. Předmluva 11 Typografická konvence použitá v knize 13

Obsah. 1 Úvod do Visia 2003 15. 2 Práce se soubory 47. Předmluva 11 Typografická konvence použitá v knize 13 Předmluva 11 Typografická konvence použitá v knize 13 1 Úvod do Visia 2003 15 Visio se představuje 16 Výchozí podmínky 16 Spuštění a ukončení Visia 18 Způsoby spuštění Visia 18 Ukončení práce s Visiem

Více

Systémové elektrické instalace KNX/EIB (16. část) Ing. Josef Kunc

Systémové elektrické instalace KNX/EIB (16. část) Ing. Josef Kunc Systémové elektrické instalace KNX/EIB (16. část) Ing. Josef Kunc Projektování systémové elektrické instalace KNX/EIB nastavení ETS a komunikace Dříve, než zahájíme vlastní projektovou činnost, je vhodné

Více

Úvod do MS Access. Modelování v řízení. Ing. Petr Kalčev

Úvod do MS Access. Modelování v řízení. Ing. Petr Kalčev Úvod do MS Access Modelování v řízení Ing. Petr Kalčev Postup při tvorbě aplikace Vytvoření tabulek Vytvoření relací Vytvoření dotazů Vytvoření formulářů Vytvoření sestav Tabulky Slouží k definování polí,

Více

KAPITOLA 3 - ZPRACOVÁNÍ TEXTU

KAPITOLA 3 - ZPRACOVÁNÍ TEXTU KAPITOLA 3 - ZPRACOVÁNÍ TEXTU KLÍČOVÉ POJMY textové editory formát textu tabulka grafické objekty odrážky a číslování odstavec CÍLE KAPITOLY Pracovat s textovými dokumenty a ukládat je v souborech různého

Více

FUNKCE PRO ANALYTICKÉ ZPRACOVÁNÍ DAT

FUNKCE PRO ANALYTICKÉ ZPRACOVÁNÍ DAT FUNKCE PRO ANALYTICKÉ ZPRACOVÁNÍ DAT V PRODUKTECH YAMACO SOFTWARE PŘÍRUČKA A NÁVODY PRO ÚČELY: - RUTINNÍ PRÁCE S DATY YAMACO SOFTWARE 2008 1. ÚVODEM Vybrané produkty společnosti YAMACO Software obsahují

Více