Zobrazují se příspěvky se štítkemAccess. Zobrazit všechny příspěvky
Zobrazují se příspěvky se štítkemAccess. Zobrazit všechny příspěvky

pátek 8. března 2013

Co dál po tabulkách? Relační databáze!

Během konzultací nebo výuky se často setkávám se zákazníky, kteří už v Excelu umí vše, co potřebují, a přemýšlejí, co dál.
Logicky se chtějí zaměřit na makra a Visual Basic. Na první pohled to dává smysl. S pomocí maker se dají vytvářet zajímavé aplikace a uživatelé čekají, že jim tyto aplikace výrazně usnadní práci.
Makra rád učím a o jejich užitečnosti nepochybuji.
Osobně se ale domnívám, že je ještě jedna oblast, kam po tabulkách pokračovat, a je praktičtější. A tou oblastí jsou relační databáze. Osobně bych se na databáze zaměřil dříve než na makra z těchto důvodů:
  • Základní pochopení a využití relačních databází není těžké
  • Když se naučíte databáze, budete moci efektivněji využít své znalosti Excelu - třeba tak, že v Excelu budete využívat data z databází
  • Prakticky všechny systémy, se kterými se v práci potkáte, jsou na relačních databázích postavené. Pokud pochopíte databáze, pochopíte snadněji i ty systémy
  • Základy práce s databází mohou být v zaměstnání nebo u přijímacích pohovorů vaší významnou výhodou oproti ostatním uchazečům
  • Není těžké naučit se vytvářet makra. Naučit se ale vytvářet makra, která opravdu usnadní reálné pracovní úkoly, často těžké je a je to práce spíše pro programátory než pro běžné uživatele
Pokud se chcete s databázemi naučit, doporučuji začít s aplikací MS Access. Ta se sice v praxi moc nepoužívá, pro výuku je ale velmi vhodná, protože:
  • Není třeba složitě instalovat
  • Máte ji zřejmě na svém počítači
  • Základy, které se v Accessu naučíte, můžete dobře použít ve "velkých" systémech jako Oracle, MS SQL nebo DB2
Takže, až budete mít pocit, že je vám běžný Excel malý, zvažte, jestli se dále nenaučit něco o databázích - ať už sami, nebo s námi.


úterý 22. ledna 2013

Import dat z databáze do Excelu


Příklad

Potřebuji do Excelu importovat data ze standardní relační databáze. V našem případě použijeme pro jednoduchost MS Access, ale s jinou databází by se pracovalo podobně.
Databáze, ze které potřebuji importovat, je velmi jednoduchá. Skládá se ze dvou tabulek.
V jedné je seznam zaměstnanců - jejich ID, jména a ID oddělení, do kterého patří, ve druhé je seznam oddělení - ID oddělení a jeho název.
Tabulka se zaměstnanci:
Tabulka s odděleními:
Tabulky jsou tedy propojeny přes číslo oddělení, které tvoří primární klíč tabulky "Oddělení".
Do Excelu potřebuji dostat tuto tabulku:


Pokud bych zůstal v Accessu, definoval bych ji tímto dotazem:

SELECT Zaměstnanci.Jméno, Oddělení.[Název oddělení]
FROM Oddělení INNER JOIN Zaměstnanci ON Oddělení.ID = Zaměstnanci.[ID Oddělení];