Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

1. diel - Rozdelenie databázy MS Access

Vitajte u prvej lekcie tutoriálu venovanému pokročilé prácu s programom MS Access. V rámci poslednej lekcie kurzu základov sme sa zoznámili s obmedzením veľkosti dátových výstupov, zvýraznením odchýlok od štandardu a naučili sme sa ovládať parametre tlačového výstupu. V dnešnej lekcii si oddelíme dátové tabuľky od ostatných objektov databázy, importujeme objekty MS Access do našej databázy a zabezpečíme programový kód objektov.

Úvod

V úvodnej lekcii tohto kurzu som vyhlásil, že databáza je jeden súbor, ktorý obsahuje dáta vo forme tabuliek a všetky ostatné objekty databázy. To je výhodné pri práci s databázou lokálne, na jednom počítači. Vo firme, ale dnes aj v rodine, je bežné, že k dátam potrebuje mať prístup viac ľudí a preto je databáza umiestnená na serveri.

Po sieti sa pri práci prenášajú nielen dáta, ale aj ostatné objekty databázy a dochádza nielen k spomaľovaniu komunikácie, ale aj ku konfliktom v prístupe k objektom. Možnosť zlepšenie je databázu rozdeliť. Ďalší dobrý dôvod k oddeleniu dátových tabuliek a dát od ostatných objektov databázy môže byť v prostom zálohovanie stále sa meniacich dát. V oddelenom usporiadaní potom môžu mať používatelia na svojom lokálnom počítači (tí, ktorí pristupujú k dátam na serveri), každý inú databázu objektov, teda otázok, formulárov a zostáv, podľa funkcie vo firme.

Teraz sa naučíme databázu rozdeliť na dátové tabuľky a ostatné objekty do dvoch súborov a ukážeme si niektoré detaily takéhoto rozdelenia. Rovnako sa zoznámime s väčšou ochranou nami vytvorených objektov v databáze.

Vysvetlenie pojmov:

  • front-end databázy - databáza, ktorá obsahuje objekty databázy pre prácu nad dátami, ale neobsahuje dátové tabuľky a dáta v nich obsiahnuté.
  • back-end databázy - databáza dátových tabuliek a dát, ku ktorým front-end databázy pristupuje ako k prepojeným objektom.
  • kompilovaný binárny súbor - databázy, ktorá je prevedená do binárne formy a nemožno v nej uskutočňovať zmenu programu, ani meniť objekty s výnimkou dátových tabuliek. Typicky to býva front-end databázy. Prípony súborov sú *.accde, v prípade starších verzií databázy *.mde.

Upozorňujem: obe časti rozdelenej databázy sú súbory s príponou *.accdb, sú to teda plnohodnotné databázy. V princípe nič nebráni tomu, aby rozdelené časti obsahovali aj objekty z tej druhej časti rozdelenia, teda back-end databázy, napr. Otázky alebo programové moduly, rovnako ako front-end databázy i ďalšie tabuľky.

Iné zvláštnosti prepojených tabuliek

  • U prepojené tabuľky nemožno meniť štruktúru, ani vlastnosti jednotlivých polí v nej uložených
  • Pri každom otvorení programu MS Access a v nej front-end databázy program načíta štruktúru prepojených tabuliek, takže ak bola štruktúra tabuľky alebo vlastnosti polí v back-end databázu zmenené, sú vo front-end databázu načítané a používané v novej štruktúre.
  • Dáta v prepojené tabuľke môže meniť iný užívateľ, takže od ukončenia programu po jeho otvorení sa môžu dáta zmeniť. To už je ale problematika programovanie sieťových nastavení.

Rozdelenie databázy

Prvým krokom, skôr než sa pustíme do praktickej ukážky, je vytvorenie kópie súboru databázy, v našom prípade súboru db1.accdb. Dnešná lekcia je ukážková, v ďalších lekciách budeme pokračovať v práci na pôvodnej, nerozdelené databázu.

Z našej otvorenej databázy v menu databázovom NÁSTROJE v skupine Presunúť dáta klikneme na ikonu Databáza programu Access. Otvorí sa sprievodca Rozdelenie databázy, ktorý na prvom formulári zobrazuje poučenie k nasledujúcim krokom, klikneme na Rozdeliť databázu.

Microsoft Access pre pokročilých

Program otvorí prehľadávanie zložiek, aby sme vyhľadali umiestnenia a zadali názov databázy back-end, teda jej dátovej časti. Program ponúkne názov db1_be, ja ho ponechal. Ak máme vyhľadané a zadaný nový názov, klikneme na Rozdeliť. Operácie prebehne automaticky a na konci sa zobrazí oznámenie Databáza bola úspešne rozdelená.

Dáta máme prevedená do oddelenej databázy, v databáze front-end je vidíme prepojená. Ak chceme ich umiestnenie skontrolovať, vykonáme to nasledujúcim postupom:

V menu EXTERNÉ DATA v skupine Importovať a prepojiť klikneme na ikonu Správca prepojených tabuliek, otvorí sa rovnomenný dialóg.

Microsoft Access pre pokročilých

Je zobrazený zoznam všetkých prepojených tabuliek našej front-end databázy a ich nové umiestnenie vrátane názvu novej databázy. Upozorňujem na prepínač Vždy zobraziť dotaz na zadanie umiestnenia, ktorý umožňuje pre označenej tabuľky vyhľadať cestu k back-end databázu s dátovými tabuľkami. Tak si v prípade zmeny ich umiestnenia vyhľadáte nové umiestnenie a program vykoná prepojenie tabuliek v novom umiestnení.

Prepojené tabuľky sú v zozname označené malou šípkou, viď obrázok nižšie:

Microsoft Access pre pokročilých

Tu upozorňujem na nemožnosť zmeny v prepojených tabuľkách. Príklad: Tabuľku tb0Params som otvoril v návrhovom zobrazení a pridal polia NovePole, ale pri uložení zmien program hlási Microsoft Access nemôže uložiť zmeny vlastností prepojených tabuliek. Zmeny sa neuložia.

Microsoft Access pre pokročilých

V takto nastavených databázach sme stratili jednu veľkú výhodu - vlastné parametrickú tabuľku, nastavenú podľa svojich potrieb. Program nám nedal možnosť vybrať iba niektoré tabuľky, vykonal rozdelenie bez dotazu a bezo zvyšku.

Import objektov z databázy MS Access

Program dáva možnosť databázy rozdeliť, na druhej strane možno tiež tabuľky, alebo iné objekty, do databázy načítať, importovať. V tejto časti si ukážeme import prepojené tabuľky tb0Params späť do front-end databázy, možno teda mať časť tabuliek vo front-end databázu a druhú časť tabuliek v back-end databázu.

V menu EXTERNÉ DATA v skupine Importovať a prepojiť klikneme na ikonu Access, otvorí sa dialóg Načítať externé údaje - Databáza programu Access. V položke Názov súboru nájdeme našu back-end databázu db1_be. Prepínač Importovať tabuľky ... ponecháme zapnutý a klikneme na Ok.

Microsoft Access pre pokročilých

V ďalšom kroku sa otvorí dialóg Import objektov, my klikneme na záložku Tabuľky a vyberieme položku tb0Params a klikneme na Ok.

Microsoft Access pre pokročilých

Posledné dialóg nám umožňuje uložiť kroky importu a následne ho opakovať. My túto možnosť odmietneme a sprievodca ukončíme kliknutím na Zavrieť.

Microsoft Access pre pokročilých

Výsledok nás nepoteší, máme dve tabuľky tb0Params vo front-end databázu, jednu uloženú a druhú prepojenú. Pomoc je ľahká, v ľavom paneli klikneme na prepojenú tabuľku tb0Params s malou šípkou na ikone, neotvoríme ju a klikneme na kláves Delete. Program zobrazí otázka Chcete odobrať prepojenie na objekt tabuľka tb0Params ? Kliknutím na Áno je problém vyriešený.

Microsoft Access pre pokročilých

Nie celkom, ešte musíme importovanú tabuľku premenovať na tb0Params z programom zmeneného názvu tb0Params1. To dosiahneme v Microsofte známym postupom - klávesou F2 na názve tabuľky.

Toto je skôr taký školský príklad, reálne by sme najskôr zrušili prepojenie na tb0Params a až následne túto tabuľku importovali.

Je potrebné upozorniť na jedno úskalia. K tabuľke tb0Params v back-end databázu bolo vymazané prepojenie, ale samotná tabuľka tam bola ponechaná. Je potrebné zvážiť, či parametrickú tabuľku budeme distribuovať s každou front-end databáz a v súbore databázy back-end ju vymastíme úplne, alebo ju tam ponecháme a budeme pamätať, že niekde je prepojená a inde je importovaná.

Import ďalších objektov MS Access

Podobne, ako sme importovali do našej front-end databázy tabuľku tb0Params, možno importovať tiež ďalšie objekty databáz MS Access. Má to však svoje pravidlá a obmedzenia.

Tu len stručne, databázy sú rovnakého typu, majú rovnaké formálne zázemie a export sa väčšinou podarí bez problémov:

  • k importu musíte mať príslušné oprávnenia v sieti, cieľová databáza nesmie byť určená len pre čítanie
  • z binárne kódovaných databáz *.accde alebo *.mde možné importovať iba tabuľky
  • prepojiť možno iba tabuľky, ostatné objekty treba importovať
  • tabuľky možno importovať ako definíciu, teda bez dát, alebo ako celú tabuľku vrátane dát
  • ak importujeme otázky, treba s nimi importovať tiež podkladové tabuľky
  • dotaz možno importovať aj ako tabuľku, to znamená importujeme priamo výsledok dotazu

Vytvorenie binárne kódované databázy

Ak chceme vo front-end databázu zabrániť používateľom (ale aj sebe!) V zmene objektov (ide o ostatné objekty mimo tabuľky), uložíme našu databázu ako binárne kódovanú.

Ako na to?

Z menu SÚBOR sa zobrazí formulár so zoznamom funkcií v ľavom stĺpci. My klikneme na Uložiť ako a v nasledujúcom formulári zvolíme funkciu Uložiť databázu ako, tým sa otvorí pole ikon a my v skupine Spresnenie klikneme na ikonu Vytvoriť databázu ACCDE. Ďalej klikneme na dolnej ikonu Uložiť ako, ktorá otvorí klasického sprievodcu nastavením umiestnenia a názvu a celú akciu vykoná.

Microsoft Access pre pokročilých

To je v dnešnej lekcii všetko.

Úloha: Vráťte si pôvodné nerozdelenú databázu do pôvodného umiestnenia, ktorej kópiu ste si zaobstarali v úvode tejto lekcie, nabudúce budeme pokračovať na nej.

V lekcii budúci, Importy dát z prostredia MS Excel do MS Access , sa naučíme importovať dáta z prostredia MS Excel.


 

Všetky články v sekcii
Microsoft Access pre pokročilých
Preskočiť článok
(neodporúčame)
Importy dát z prostredia MS Excel do MS Access
Článok pre vás napísal Luboš Marvan
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Snahou autora je žít podle svého
Aktivity