Výuka a školení Excelu Výuka a školení Excelu Výuka a školení Excelu
Výuka a školení Excelu Výuka a školení Excelu

neděle 23. prosince 2012

V lednu levnější individuální výuka

Podle loňska se zdá, že po Vánocích se nikomu moc nechce učit se Excel.
Proto v lednu 2013 bude výuka levnější o stovku na dvě hodiny. Takže jestli jste si dali novoroční předsevzetí, že s nedostatky v Excelu už konečně něco uděláte, ozvěte se už během ledna a ušetříte. Prostě povánoční slevy nemusí být jen v obchoďáku :)

pátek 21. prosince 2012

Funkce POZVYHLEDAT / MATCH

Příklad

Potřebuji zjistit, na jaké pozici je v seznamu čísel umístěna určitá hodnota.
Řešení
Použiji funkci POZVYHLEDAT - anglicky MATCH
Funkce je jednoduchá, má jen tři parametry.
  • Prvním parametrem je co se má hledat
  • Druhým parametrem je kde se to má hledat
  • Třetí parametrem je obvykle nula (viz dále)

Návod

V tomto případě hledám, na které pozici je umístěna trojka. Výsledkem je číslo čtyři - je na čtvrté pozici.
Stejně jako pro vyhledávání čísel funguje funkce i pro vyhledávání textů.

Poznámka ohledně třetího parametru

Třetí parametr může různý:
  • 1 - najde největší hodnotu, která je menší nebo rovna hledané hodnotě. Funguje jen když je oblast, kde se hledá, seřazena od nejmenšího po největší.
  • 0 - najde hodnotu, která přesně odpovídá.
  • -1 - najde nejmenší hodnotu, která je větší nebo rovna hledané hodnotě. Funguje jen když je oblast, kde se hledá, seřazena od nejmenšího po největší.




úterý 18. prosince 2012

Převod čísla na text a naopak

Příklad

V buňce mám číslo - např. 1234.
Potřebuji z něj udělat text 1234. Obvykle proto, že s ním dále potřebuji pracovat jako s textem a ne jako s číslem.

Návod

Buď mohu prostě změnit formát buňky - Pravé tlačítko / Formát buňky atd.
Nebo mohu použít funkci HODNOTA.NA.TEXT. (anglicky jednodušeji jen "TEXT")
Hodnota má dva parametry. V prvním je odkaz na buňku s číslem, ve druhém je pak formát, ve kterém má být číslo na text převedeno.
Toto vysvětlení druhého parametru jsem si vypůjčil ze stránek Microsoftu:
http://office.microsoft.com/cs-cz/excel-help/tri-zpusoby-prevodu-cisel-na-text-HA001136619.aspx
  • Výsledkem vzorce =HODNOTA.NA.TEXT(123,25;"0") bude 123.
  • Výsledkem vzorce =HODNOTA.NA.TEXT(123,25;"0,0") bude 123,3.
  • Výsledkem vzorce =HODNOTA.NA.TEXT(123,25;"0,00") bude 123,25.
  • Chcete-li zachovat pouze desetinná místa, která byla zadána, použijte vzorec =HODNOTA.NA.TEXT(A2;"General").
  • Tato funkce je vhodná také k převodům kalendářních dat na formátovaná data. Obsahuje-li buňka A2 datum 29. 5. 2003 a použijete-li vzorec =HODNOTA.NA.TEXT(A2;"d. mmmm rrrr"), dostanete 29. květen 2003.
V mém případě mohu použít např. tuto syntaxi:
=HODNOTA.NA.TEXT(A2;0)
Opačnou funkcí převádějící naopak text na číslo je funkce HODNOTA (anglicky VALUE). Převádění textu na číslo je z mé zkušenosti občas trochu alchymie a je třeba zkoušet různé možnosti. V některých případech může fungovat i to, že k číslu vzorcem přičtete nulu (=A1+0). Nevím proč, ale v jednom případě mě toto opravdu pomohlo...

Video

Kterou verzi Excelu používáte?

Když publikuji návody, většinou nevím, kterou verzi Excelu čtenáři používají. Mohli byste v anketě odkliknout, kterou verzi používáte, a tedy pro kterou verzi hledáte návod?

PowerPoint - kreslení

Tento příspěvek se netýká Excelu, ale PowerPointu. Na krátkém videu je ukázáno, jak se dají využívat některé grafické prvky v této aplikaci.
PowerPoint je velmi silný a hlavně jednoduchý grafický nástroj - když víte, jak ho používat.



Hotový soubor je ke stažení tady.

neděle 16. prosince 2012

Kontingenční tabulky a nástroj Průřez / Slicer

Příklad

Mám kontingenční tabulku a potřebuji ji zobrazovat pro různé parametry. Mohl bych to dělat filtrem, ale zdá se mi to moc pomalé.
Například tuto tabulku chci zobrazovat různě pro různé barvy aut.

Návod

Použiji nástroj Průřez - v anglické verzi Slicer. 
V kartě Nástroje kontingenční tabulky a v kartě Možnosti vyberu Vložit průřez / Vložit průřez.
Zaškrtnu kategorii (sloupec v původních datech), podle kterého chci data zobrazovat. Kliknu na OK.

Pak klikám na jednotlivé řádky v Průřezu a tím filtruji hodnoty zobrazované v kontingenční tabulce.

Tabulku pro vyzkoušení je možné stáhnout na tomto odkazu:
Průřez nepracuje se soubory ve formátu xls - pouze se soubory ve formátu xlsx. Pokud máte soubor ve formátu xls, stačí jej přeuložit do xlsx. To, že jste v xls poznáte mimo jiné podle toho, že Průřez je neaktivní.
Od verze Excelu 2013 je možné Průřez / Slicer používat i mimo kontingenční tabulku.

Kontingenční tabulky a nástroj Průřez / Slicer

Příklad

Mám kontingenční tabulku a potřebuji ji zobrazovat pro různé parametry. Mohl bych to dělat filtrem, ale zdá se mi to moc pomalé.
Například tuto tabulku chci zobrazovat různě pro různé barvy aut.

Návod

Použiji nástroj Průřez - v anglické verzi Slicer. 
V kartě Nástroje kontingenční tabulky a v kartě Možnosti vyberu Vložit průřez / Vložit průřez.
Zaškrtnu kategorii (sloupec v původních datech), podle kterého chci data zobrazovat. Kliknu na OK.

Pak klikám na jednotlivé řádky v Průřezu a tím filtruji hodnoty zobrazované v kontingenční tabulce.

Tabulku pro vyzkoušení je možné stáhnout na tomto odkazu:
Průřez nepracuje se soubory ve formátu xls - pouze se soubory ve formátu xlsx. Pokud máte soubor ve formátu xls, stačí jej přeuložit do xlsx. To, že jste v xls poznáte mimo jiné podle toho, že Průřez je neaktivní.

sobota 15. prosince 2012

Co znamenají výsledky regresní analýzy?

V článku o regresní analýze a jejím výpočtu v Excelu jsem uvedl Analytické nástroje jako jednu z možností výpočtu parametrů regrese. Když je pro regresi použiji, Excel mi zobrazí kromě koeficientů regresní rovnice celou řadu dalších hodnot, které nějak popisují zkoumaná data.

Nejsem statistik a neumím přesně (v některých případech vůbec) určit, co mi tato čísla říkají. Může to někdo chytrý uvést do diskuse?

pátek 14. prosince 2012

Porovnání Google Sites a Webnode

Nějaký čas jsem stránky o výuce Excelu editoval v Google Sites, teď jsem přešel na Webnode.
Každý z těch systémů má něco do sebe. Možná se také rozhodujete, který zvolit pro svůj projekt - proto v tomto článku popíšu výhody jednotlivých systémů tak, jak jsem zatím měl možnost je poznat.

V čem se mi víc líbí Google Sites než Webnode?

  • Je součástí světa Google - tedy nepotřebujete nové přihlašovací údaje, pokud už máte Gmail
  • Jednodušší přidávání stránek
  • Když jsem přihlášený, mohu jen přijít na stránku a rovnou editovat
  • Je možné snadno použít domény registrované u nezávislých poskytovatelů, v mém případě GoDaddy - Webnode trvá na tom, že si doménu musíte koupit od nich nebo ji k nim alespoň převést 
  • Nevnucuje pořád placené služby - to umí Webnode dělat velice otravným způsobem
  • Na internetu je možné dohledat více informací a návodů

V čem se mi víc líbí Webnode než Google Sites?

  • Hezčí připravené šablony
  • Je snadné získat novou vlastní doménu
  • Na stránkách mohu mít diskusní fóra - na Google Sites to sice jde také, ale diskutovat mohou jen registrovaní uživatelé Google.

Porovnání

https://sites.google.com/site/excelentnitriky/
http://www.vyuka-excelu.cz/

Nakonec to u mě vyhrál Webnode - hlavně kvůli hezkým připraveným šablonám (i těm neplaceným). Co vaše zkušenosti?

Lineární regrese v Excelu

V tomto článku si ukážeme, jakými způsoby je možné v Excelu počítat lineární regresi. Pokud vás zajímá regrese nelineární, přejděte na tento článek.

Příklad

Potřebuji posoudit závislost dvou řad hodnot, přičemž předpokládám, že jedna závisí na druhé a tuším, která na které.
V mém případě mám závislost prodeje zmrzliny v určitý den na průměrné teplotě toho dne. Chci zjistit, jaká je závislost, a také odhadnout, kolik zmrzliny prodám další den, kdy má být 17°C.
Pro zjednodušení budu předpokládat, že prodej zmrzliny nezávisí na ničem jiném než na teplotě.
Toto jsou data, která mám k dispozici:


Návod

Pokud je regrese lineární (a já teď budu předpokládat, že je), tak je určena rovnicí:
y = a * x + b
neboli
prodej zmrzliny = a * teplota + b
x je nezávislá proměnná - jinými slovy proměnná, na která závisí ta druhá. V mém případě je to teplota - protože prodej zmrzliny závisí na teplotě, ne naopak. Ještě jinými slovy je to to, co se kresli na ose x - to je ta vodorovná :)
y je závislá proměnná - jinými slovy ta, jejíž hodnoty závisí na nezávislé proměnné. V mém případě je to prodej zmrzliny, protože ten závisí na teplotě. Ještě jinými slovy je to to, co se kreslí na ose y - to je ta nahoru :)
Smyslem regresní analýzy je určit koeficienty "a" a "b".
Mám čtyři způsoby, jak to zjistit - přičemž výsledné koeficienty jsou samozřejmě vždy stejné.

1. Výpočet pomocí funkcí Intercept a Slope, případně Forecast

Tento postup je na blogu už jednou popsaný zde:
http://www.excelentnitriky.com/2012/03/linearni-regrese-v-excelu.html

2. Maticový vzorec LINREGRESE

Funkce LINREGRESE získá koeficienty podobně. Jde ale o maticový vzorec, proto musím pracovat trochu jinak.
Označím dvě buňky vedle sebe. Do řádku vzorců napíšu
=LINREGRESE(C2:C14;B2:B14)
Stisknu Ctrl + Shift + Enter
Tím se mi vzorec rozkopíruje do obou značených buněk. V jedné z nich je koeficient a, ve druhé koeficient b.

3. Graf

Pokud stejně jako já chápete věci lépe když jsou graficky znázorněné, můžete použít následující způsob.
Označíte číselné řady hodnot i se záhlavími a vložíte graf typu XY.


V grafu už je většinou vidět, jestli nějaká závislost existuje - v případě, že "tečky" dávají dohromady "čáru" jako v mém případě.


Kliknu na jednu z těch teček pravým tlačítkem a pak levým na "Přidat spojnici trendu".


Kliknu na Zavřít.


Do grafu už se mi promítla přímka, která znázorňuje závislost. A u ní se zobrazila rovnice, kterou jsem hledal. Už vím, že a = 8,9707 a b = 14,166. Jinými slovy když vynásobím teplotu zhruba devíti a přičtu zhruba 14, dostanu odhadovanou spotřebu zmrzliny.

4. Analytické nástroje 

Pokud chci dostat kromě koeficientů rovnice ještě další údaje, použiji analytické nástroje.
Nejprve je zprovozním. To je popsáno tady:
Na kartě Data pak v Analytických nástrojích vyberu Regrese.
Do hodnot Y zadám čísla týkající se zmrzliny.
Do hodnot X zadám čísla týkající se teploty.

Výstupem je spousta hodnot.

Pokud do diskuse pod tímto článkem napíšete, jak je věcně interpretovat, budu rád.
Mně ale zajímají zase jen koeficienty rovnice. Vidím, že jsou stejné jako v předchozím případě.

Výsledek

Ať postupuji jakoukoliv cestou, vždy dojdu ke stejným hodnotám a a b.
Proto pokud si myslím, že zítra bude 17 stupňů, objednám 166,6675 kopečků zmrzliny - což je 17 * 8,9707 + 14,166. A budu doufat, že regrese funguje :)

Zdrojová data pro zkoušení

https://www.dropbox.com/s/6mx89m4liuzd8vm/vysledek_linearni_regrese.xlsx

Lineární regrese v Excelu

Příklad

Potřebuji posoudit závislost dvou řad hodnot, přičemž předpokládám, že jedna závisí na druhé a tuším, která na které.
V mém případě mám závislost prodeje zmrzliny v určitý den na průměrné teplotě toho dne. Chci zjistit, jaká je závislost, a také odhadnout, kolik zmrzliny prodám další den, kdy má být 17°C.
Pro zjednodušení budu předpokládat, že prodej zmrzliny nezávisí na ničem jiném než na teplotě.
Toto jsou data, která mám k dispozici:


Návod

Pokud je regrese lineární (a já teď budu předpokládat, že je), tak je určena rovnicí:
y = a * x + b
neboli
prodej zmrzliny = a * teplota + b
x je nezávislá proměnná - jinými slovy proměnná, na která závisí ta druhá. V mém případě je to teplota - protože prodej zmrzliny závisí na teplotě, ne naopak. Ještě jinými slovy je to to, co se kresli na ose x - to je ta vodorovná :)
y je závislá proměnná - jinými slovy ta, jejíž hodnoty závisí na nezávislé proměnné. V mém případě je to prodej zmrzliny, protože ten závisí na teplotě. Ještě jinými slovy je to to, co se kreslí na ose y - to je ta nahoru :)
Smyslem regresní analýzy je určit koeficienty "a" a "b".
Mám čtyři způsoby, jak to zjistit - přičemž výsledné koeficienty jsou samozřejmě vždy stejné.

1. Výpočet pomocí funkcí Intercept a Slope, případně Forecast

Tento postup je na blogu už jednou popsaný zde:
http://www.excelentnitriky.com/2012/03/linearni-regrese-v-excelu.html

2. Maticový vzorec LINREGRESE

Funkce LINREGRESE získá koeficienty podobně. Jde ale o maticový vzorec, proto musím pracovat trochu jinak.
Označím dvě buňky vedle sebe. Do řádku vzorců napíšu
=LINREGRESE(C2:C14;B2:B14)
Stisknu Ctrl + Shift + Enter
Tím se mi vzorec rozkopíruje do obou značených buněk. V jedné z nich je koeficient a, ve druhé koeficient b.

3. Graf

Pokud stejně jako já chápete věci lépe když jsou graficky znázorněné, můžete použít následující způsob.
Označíte číselné řady hodnot i se záhlavími a vložíte graf typu XY.

V grafu už je většinou vidět, jestli nějaká závislost existuje - v případě, že "tečky" dávají dohromady "čáru" jako v mém případě.

Kliknu na jednu z těch teček pravým tlačítkem a pak levým na "Přidat spojnici trendu".


Kliknu na Zavřít.

Do grafu už se mi promítla přímka, která znázorňuje závislost. A u ní se zobrazila rovnice, kterou jsem hledal. Už vím, že a = 8,9707 a b = 14,166. Jinými slovy když vynásobím teplotu zhruba devíti a přičtu zhruba 14, dostanu odhadovanou spotřebu zmrzliny.

4. Analytické nástroje 

Pokud chci dostat kromě koeficientů rovnice ještě další údaje, použiji analytické nástroje.
Nejprve je zprovozním. To je popsáno tady:
Na kartě Data pak v Analytických nástrojích vyberu Regrese.
Do hodnot Y zadám čísla týkající se zmrzliny.
Do hodnot X zadám čísla týkající se teploty.

Výstupem je spousta hodnot.

Pokud do diskuse pod tímto článkem napíšete, jak je věcně interpretovat, budu rád.
Mně ale zajímají zase jen koeficienty rovnice. Vidím, že jsou stejné jako v předchozím případě.

Výsledek

Ať postupuji jakoukoliv cestou, vždy dojdu ke stejným hodnotám a a b.
Proto pokud si myslím, že zítra bude 17 stupňů, objednám 166,6675 kopečků zmrzliny - což je 17 * 8,9707 + 14,166. A budu doufat, že regrese funguje :)

Zdrojová data pro zkoušení

https://www.dropbox.com/s/6mx89m4liuzd8vm/vysledek_linearni_regrese.xlsx

středa 12. prosince 2012

Nové stránky o doučování / výuce

Vytvořil jsem nové stránky s nabídkou doučování a konzultací. Doufám, že se budou líbit.
Místo Google Sites používám Webnode. Zdá se mi, že vytvořit hezké stránky s Webnode je snazší než s Google Sites.
Pro informace o výuce a konzultacích Excelu klikněte zde

Korelace v Excelu

Příklad

Potřebuji posoudit, jestli dvě veličiny mají mezi sebou vztah. Chci například zjistit, jestli:
  • Čerpání lepšího paliva ovlivňuje spotřebu auta
  • Počet prodavačů v prodejně ovlivňuje tržby
  • Počet snědených dortů ovlivňuje objem pasu :)
V našem případě chci zjistit, jestli inzerce v rádiu ovlivňuje tržby mé prodejny. A pokud ano, tak ve kterém rádiu ze dvou zkoumaných je tato závislost větší.
Mám za jednotlivé měsíce informace o tom, kolik jsem zaplatil za reklamu ve dvou rádiích a o tom, kolik jsem (možná i díky reklamě) utržil.

Návod

Spočítám takzvaný korelační koeficient. Koeficient se počítá pro dvě skupiny dat a nabývá hodnoty od -1 do 1.
  • Pokud je korelační koeficient kolem -1, znamená to, že závislost je silná, ale nepřímá. Například vztah výkonnosti počítače a času, za který počítač zpracuje úlohu. Tedy čím vyšší výkon, tím kratší čas.
  • Pokud je korelační koeficient kolem 0, znamená to, že závislost není skoro žádná. Například výkon počítače a jeho barva.
  • Pokud je korelační koeficient kolem 1, znamená to, že závislost je silná a přímá. Například vztah výkonu počítače a počtu úloh, které vyřeší za hodinu. Čím vyšší výkon, tím více úloh.
Je ale třeba si uvědomit, že korelace neříká, že jeden zkoumaný parametr musí nutně ovlivňovat druhý. Mohou být oba ovlivněné něčím jiným. Například prodej zmrzliny se vzájemně neovlivňuje s prodejem slunečníků - obojí je vyvolané teplým počasím - ale korelace by se zřejmě objevila.
V našem případě, sledování reklamy, použiji funkci CORREL. Do té stačí pouze zadat dvě oblasti s daty, u kterých chci zjistit vzájemné závislosti. Výsledkem je korelační koeficient.
V mém případě vyšel korelační koeficient pro jedno rádio 0,783914584 a pro druhé 0,397223044. 
Co to znamená?
Reklama v prvním rádiu zlepšuje mé prodeje více. Možná toto rádio poslouchá moje cílová skupina zákazníků a je pro mě zřejmě výhodnější v něm inzerovat.
Nicméně pozitivně se na prodejích projevuje i rádio číslo dva - proto se možná vyplatí inzerovat v obou.

Kritické meze korelačního koeficientu

Když posuzuji, jestli mezi proměnnými závislost existuje nebo ne, musím zohlednit to, jestli mám dostatek dat. V našem případě si mohu spočítat nebo najít v tabulce
Pokud chci pracovat s devadesátipětiprocentní pravděpodobností a mám 31 hodnot, potřebuji korelační koeficient kolem 36%. Obě moje rádia tento limit překročila (i když druhé jen tak tak). Proto si mohu na 95% být jistý tím, že obě rádia ovlivňují prodeje v mé prodejně.

neděle 9. prosince 2012

Access - pátý díl - dropdown box ve formuláři

Tento článek je součástí seriálu o Accessu:
http://www.excelentnitriky.com/p/microsoft-access-navody.html

V tomto díle upravíme formulář, který jsme vytvořili v minulém díle.
Vytvořili jsme tento formulář.

Na formuláři se nám nelíbí to, že jsou rozházená tlačítka, ale ještě jedna věc. Když chci přidat novou knihu nebo upravit stávající, nemohu rozumně vybrat žánr knihy.
Teď musím ručně napsat číslo žánru. Já bych ale chtěl jednak vybírat ze seznamu (místo psaní) a jednak pracovat s názvem místo čísla. To je problém, protože v tabulce s knihami jsou pouze čísla - názvy jsou v jiné tabulce, která je s tabulkou knih propojená v pohledu, který jsme už dříve vytvořili.
Nejprve změníme data, na kterých je formulář postavený. Místo tabulky Knihy budou zdrojová data brána z dotazu Dotaz nad propojenými tabulkami.
Otevřu formulář a kliknu do Návrhového zobrazení.
Smažu pole, která mám od minule.

Kliknu pravým tlačítkem do formuláře a vyberu Vlastnosti formuláře.
V Datových vlastnostech formuláře vyberu jako zdroj záznamů dotaz Dotaz nad propojenými tabulkami a přidám pole, která vycházejí z tohoto dotazu. Tento postup je popsaný v minulém díle.
Výsledkem je takovýto formulář:

Odstraním poslední pole - název žánru.
Kliknu pravým tlačítkem na Číslo žánru a změním ho na Pole se seznamem:

Takto vypadá výsledek:

Už se mi podařilo změnit textové políčko na výklopník, ale ten ještě nefunguje - ničím se neplní.
V jeho Vlastnostech kartě Data smažu Zdroj ovládacího prvku.

Ve Zdroji řádku vyberu tabulku Žánry.

Teď už se výklopník plní - ale ne tak, jak chci - zobrazuje se pouze první sloupec tabulky Žánry. Musím ještě zařídit, aby se uživateli zobrazovaly názvy žánrů - které jsou ve druhém sloupci. To udělám poněkud dřevním způsobem ve Formátových vlastnostech. Nastavím, že první sloupec (to je ten s čísly žánrů) bude mít šířku nula, zatímco druhý sloupec (to je ten s názvy žánrů) bude mít šířku třeba pět centimetrů. Také nastavím, že se budou zobrazovat dva sloupce - tedy ve skutečnosti jen jeden, protože první bude mít nulovou šířku.

A to je vše. Formulář funguje jak má. Je důležité si uvědomit, že ačkoliv uživatel vidí názvy žánrů, do příslušného pole v tabulce Knihy se ukládá číslo žánru.
Výsledek celého snažení je ke stažení tady:
https://www.dropbox.com/s/6ja2n6hq7pqs5t0/access_paty_dil.accdb








Listopad 2012 - poprvé přes 10 000 návštěvníků

V listopadu 2012 tyto stránky zaznamenal poprvé přes 10 000 návštěv - konkrétně 10 017. Resp. ve skutečnosti více, protože několik dní jsem měl špatně nastavené měřící kódy.
Návštěvníci přišli mimo jiné z Mexika, Ázerbájdžánu, Uzbekistánu, Turecka.
Největší zájem byl o tato témata.
    Tak díky za Váš zájem, pokud Vám na těchto stránkách něco chybí, pište do diskuse.

    pátek 7. prosince 2012

    Access - čtvrtý díl - vytvoření formuláře

    V předchozích dílech seriálu o Accessu
    http://www.excelentnitriky.com/p/microsoft-access-navody.html
    jsme se naučili vytvořit tabulku, propojit tabulky a vytvořit pohled.

    Máme tedy už jednoduchou databázi, ale zatím nemáme žádné uživatelské rozhraní, které by umožnilo snadno přidávat seznam knih nebo přidávat nové knihy.
    Uživatelské rozhraní vytvoříme pomocí takzvaného formuláře.
    Vycházíme z tohoto souboru, který jsem vytvořil minule.
    https://www.dropbox.com/s/pyrkldjm2eldop7/access_treti_dil.accdb

    Klikneme na Rozložení / Návrh formuláře. Tím vytvoříme nový formulář.



    Musíme zvolit, která data se budou v tomto formuláře evidovat.
    Klikneme do formuláře pravým tlačítkem a vybereme Vlastnosti formuláře.
    V tabulce vpravo v Datové v položce Zdroj záznamů vybereme "Knihy". Tím říkám, že formulář bude prezentovat data z tabulky "Knihy".


    Klikneme na "Přidat existující pole". Postupně přetáhnu pole z pravé tabulky na formulář.


    A to je všechno. Teď už jen změním zobrazení formuláře z Návrhového na Formulářové. A mám hotový spuštěný formulář, ve kterém mohu procházet knihy a přidávat nové - pomocí tlačítek dole.


    Na formuláři nám zatím jistě vadí, že musíme ručně zapisovat čísla žánrů - a přitom ani nevíme, co se pod kterým číslem skrývá. V dalších dílech si ukážeme, jak se s tím vypořádat.
    Výsledek práce popsané v tomto článku je tady:
    https://www.dropbox.com/s/8ci3sf18iacxei6/access_ctvrty_dil.accdb

    Access - třetí díl - vytvoření dotazu

    Všechny návody týkající se Accessu:
    http://www.excelentnitriky.com/p/microsoft-access-navody.html

    V tomto díle průvodce po Accessu se naučíme vytvářet dotazy.
    Co je to pohled?
    V databázích nazýváme dotazem zobrazení dat z jedné tabulky nebo z několika tabulek.
    Dotaz může na první pohled připomínat tabulku, liší se od ní ale nejméně v těchto dvou bodech:
    • V dotazu se data neukládají, v dotazu se pouze zobrazují. dotaz pouze ukazuje / zobrazuje data tabulky nebo jiného dotazu. Jinými slovy, dotaz vždy potřebuje nějakou tabulku, ve které jsou uvedena data dotazem zobrazovaná.
    • Dotaz umí zobrazit data z více tabulek.
    Vrátíme se k příkladu, který jsme rozpracovali v předchozích dílech. Zatím jsme vytvořili tabulku s knihami a tabulku se žánry a tabulky jsme propojili. 
    Teď bude naším úkolem vytvořit dotaz, který bude zobrazovat data z obou těchto tabulek. Název knihy a Cenu z tabulky Knihy a Název žánru z propojené tabulky Žánry. Tento dotaz bude ve výsledku vypadat takto:


    Jak na to?
    Ve Vytvoření kliknu na Návrh dotazu. 
    Budu pracovat s oběma tabulkami, proto na obě dvojkliknu. Teď vidím obě tabulky s propojením, které jsem vytvořil už dříve.



    Zavřu okno s tabulkami a kliknu na pole, která se mají ve výsledném dotazu objevit. Konkrétně je to Název knihy, Pořizovací cena a Název žánru. 

    Pole se nám tím naskládají do spodní tabulky, která vlastně definuje dotaz.


    Teď už stačí kliknout na Spustit a dotaz je hotový - zobrazuje přesně to co má. V dalších dílech si ukážeme, jak dotazy používat pro formuláře nebo pro sestavy.



    čtvrtek 6. prosince 2012

    Access - druhý díl - návod na propojení dvou tabulek

    V tomto článku se naučíme tabulky propojovat.
    Možnost propojovat tabulky je v zásadě hlavní důvod, proč dělat tabulky v SQL databázi jako Access místo v Excelu.
    V našem případě potřebujeme kromě tabulky knih mít ještě tabulku žánrů knih. V Excelu bychom tabulku zvládli takto:

    Tento přístup má ale několik nevýhod. 
    Za prvé data jsou příliš velká. V názvech žánrů je opakovaně uváděn stejný text (krimi, věda a technika) , což je zbytečné.
    Také bych mohl chtít název některého žánru někdy změnit. Například přejmenovat "krimi" na "kriminalistika". Pak bych to musel přejmenovat ve všech řádkách a nesměl bych nikde udělat chybu - což bych asi dříve nebo později udělal.
    V relačních databázích jako je Access naštěstí můžeme použít lepší způsob. Vytvoříme tabulku všech knih, pak tabulku všech žánrů, a jen je propojíme.
    Jinými slovy uděláme toto:
    V Accessu klikneme na Vytvoření / Tabulka a způsobem, který už známe, vytvoříme tabulku s žánry.

    Původní tabulku s knihami doplníme o čísla žánrů.

    Nyní tedy máme tabulku s knihami a tabulku s žánry a chceme je propojit.
    Kliknu na Databázové nástroje / Relace a u obou tabulek dám "Přidat".
    Vidíme toto:
    -->
    Myší chytím "ID" v žánrech a přetáhnu ho na "Číslo žánru" v knihách:

    V této tabulce Access ověřuje, že chci opravdu propojit ta pole, která propojit chci. 
    Mohu zaškrtnout referenční integritu. Pokud to v našem příkladě udělám, znamená to, že do tabulky s knihami nepůjde zapsat žádné číslo, které není v tabulce žánrů. Tedy půjde jen jednička, dvojka a trojka.

    Kliknu na Vytvořit a vidím toto:

    Jednička a ležatá osmička znázorňují, že jednotlivá čísla žánrů (což je to, podle čeho jsou tabulky propojeny) mohou být v tabulce knih použita vícekrát (mohu mít napříkla více knih "krimi"), ale v tabulce žánrů jen jednou (pouze jeden žánr může mít např. číslo tři).
    Tabulky jsou propojeny. Z toho, co jsme si ukázali zatím není zřejmý smysl propojování tabulek. Příště si ale ukážeme, jak pracovat s dotazy, a tam už ten smysl uvidíme.
    Výsledek ke stažení je tady:
    https://www.dropbox.com/s/rwl90xvzr5yrt2d/access_druhy_dil.accdb

    Access - první díl - vytvoření tabulky

    Microsoft Access je aplikace pro správu databází. Pod slovem databáze si můžeme představit zjednodušeně například seznam klientů firmy, seznam knih v knihovně, přehled pohybů na účtu atd.
    Access slouží pro správu relačních databází a je tedy alternativou například databáze MS SQL nebo Oracle. Oproti nim toho umí méně, ale je zase jednodušší. Navíc to, co se naučíte v Accessu, je pak v jiných databázích z velké části použitelné.
    Do jisté míry je alternativou také k Power Pivotu - ten je ale více zaměřený na Business Intelligence.
    Naším úkolem, v něolika dílech seriálu, bude postupně vytvořit superjednoduchou aplikaci pro správu knihovny.
    V tomto díle si ukážeme, jak vytvořit první tabulku - aplikace se bude skládat z několika takových tabulek. Pak si ukážeme jak tabulky propojit, vytvořit nad nimi dotaz a formulář s vyklápěcím polem.
    V první tabulce bude seznam knih, které knihovna má.

    Otevřu Access.
















    Vyberu si, že chci prázdnou databázi, a vpravo dole kliknu na "Vytvořit". Tím se databáze vytvoří - na rozdíl např. od Wordu nebo Excelu musím příslušný soubor vytvořit ještě než začnu cokoliv dělat.
    Objeví se mi první tabulka.



    Řekněme, že v této tabulce bude název knihy a pořizovací cena knihy - další políčka přidáme později. V tabulce bude také ID - identifikační číslo, které bude pro každou položku (knihu) unikátní. Tím si zajistím, že se mi v budoucnu knihy nebudou plést.
    ID se o sebe postará samo, musím tedy vytvořit pole pro název a pro cenu.
    Ve druhém sloupečku vyberu Text:


    A napíšu, jak se bude pole jmenovat. V tomto případě "Název knihy".



    To samé provedu s pořizovací cenou, jen datovým typem bude místo textu měna.


    Tím jsem si připravil tabulku, kterou si pro jistotu uložím tlačítkem vlevo nahoře. Teď si ji mohu naplnit knihami. Např. takto:


    A tím mám první tabulku hotovou. Všimněte si, že vlevo nahoře (ikona s trojůhelníkem) je možné vybírat možnosti zobrazení tabulky. Nás zatím zajímá zobrazení Datový list a Návrhové zobrazení. První je vhodnější pro prohlížení dat, druhé pro návrh struktury tabulky.



    Tady je soubor ke stažení:
    https://www.dropbox.com/s/j2s9aqy13plw7m1/access_prvni_dil.accdb

    Videonávod