OpenOffice.org Calc pod drobnohľadom (7) - Zošit ako zdroj dát pre Base

OpenOffice.org Calc pod drobnohľadom (7) - Zošit ako zdroj dát pre Base
05.12.2007 22:00 | Články | Július Pastierik

Potrebujete externe zbierať údaje pre databázu? Potom na to môžete použiť zošity (tabuľky) Calcu, ktoré sa môžu priamo použiť ako zdroj údajov pre databázový modul Base.

Po tom, ako sme si predstavili funkcie zošitu, prerušíme na chvíľu predstavovanie funkcií (aby sme si od nich na chvíľu oddýchli) a ukážeme si, ako dokážeme použiť zošit ako zdroj dát pre databázový modul Base. Toto prerušenie funkcií však nie je až také veľké, pretože v podstate naväzujeme na funkcie zošitu – aj keď trochu nepriamo. Prečo je to tak, to sami uvidíte v nasledujúcich riadkoch.

Určite mnohí z Vás používajú databázový modul Base, pričom potrebujú zbierať údaje na viacerých nezávislých miestach. Jedno z riešení je nosiť zo sebou notebook a získané údaje zapisovať do databázy v ňom. Toto riešenie je však obmedzené na to, že príslušnú databázu tam musíme mať nainštalovanú a ďalej nemôžeme takto paralelne získavať údaje z viacerých miest. Napokon, my sami môžeme údaje iba spracovávať, pričom ich získanie je vecou iných používateľov.

V takomto (ale, pravdaže, nielen v takomto) prípade sa hodí použiť ako zdroj údajov tabuľka. Ako príklad si môžeme predstaviť podnik s viacerými pobočkami, kde chceme získať povedzme údaje o úspešnosti nejakej reklamnej kampane. Stačí, ak pripravíme zošit s údajmi, ktoré nás zaujímajú, rozošleme ho na jednotlivé pobočky a počkáme na výsledky.

Pomocou funkcií zošitu, ktoré sme si predstavili v minulej časti tohto seriálu dokážeme následne spojiť údaje s rôznych zošitov do jedného zošitu bez toho, aby sme údaje museli prepisovať a v prípade, že jednotlivé pobočky máme prepojené cez sieť, nemusíme príslušné súbory ani sťahovať na náš počítač, ale stačí, ak budú umiestnené v nami požadovaných adresároch na jednotlivých pobočkách (čo sa dá jednoducho organizačne zariadiť).


Osobné údaje na liste „Adresy“
 

Údaje o príjmoch na liste „Príjmy“

Pozrime sa teraz na to, ako má vyzerať zošit, aby sa dal vhodne použiť ako zdroj pre modul Base. Pre jednoduchosť nebudeme teraz robiť nejaký komplikovaný zošit s prepojením na iné súbory, ale urobíme si iba jednoduchý zošit z dvomi listami. Na prvý list, ktorý nazveme „Adresy“, budeme zapisovať osobné údaje (meno, priezvisko, titul a adresu) a na druhý list,ktorý nazveme „Príjmy“, budeme zapisovať mesiac, rok a výšku príjmu, ktorý sme v tom období dosiahli.

Základné pravidlá

Hneď na úvod si musíme povedať niekoľko základných pravidiel, ktoré musíme dodržať, pretože Base predpokladá, že zošit je tak vytvorený a neumožňuje iné usporiadanie. Základné pravidlo je, že názov položky, pod ktorou uvidíme údaj v databáze je napísaný v prvom riadku. Tento spôsob nazývania stĺpcov buniek sme si už spomínali v tretej časti tohto seriálu a práve v prípade prepojenia tabuľky s databázou ho musíme použiť.

Ak chceme do databázy uložiť naraz viacero zošitov, tieto musíme mať na samostatných listoch jedného spoločného zošitu. Názvy tabuliek v databáze budú potom pomenované podľa názvov listov. Naopak, pokiaľ niektorý list do databázy vložiť nechceme, musíme ho skryť (menu „Formát – List – Skryť“).

Databáza, ktorá je vytvorená zo zošitu je určená iba pre čítanie a nie je ju možné nielen editovať, ale nemôžeme v nej vytvárať ani rôzne pohľady, ale iba výbery („Dotazy“), výstupné formuláre a zostavy. Preto, ak potrebujeme vytvoriť určitý pohľad nad tabuľkou, musíme to urobiť priamo v zošite pri jeho definícii v module Calc. Na to nám slúži nástroj definovania databázových oblastí (aj o tomto sme sa zmieňovali v už spomínanej tretej časti tohto seriálu).


Definovanie databázovej oblasti bez popisov stĺpcov
 

Definovanie databázovej oblasti s popismi stĺpcov

V prípade definovania oblastí pre databázu však musíme mať neustále na pamäti, že Base implicitne predpokladá, že prvý riadok obsahuje názov položky. Toto nám však nemusí vždy vyhovovať, pretože niekedy potrebujeme urobiť taký výber, v ktorom prvý riadok jednoducho nie je alebo ani nemôže byť obsiahnutý. Aj na toto nám ponúka modul Calc riešenie – pri definícii oblasti stlačíme tlačidlo „Viac“ a zrušíme zaškrtnutie voľby „Obsahuje popisky stĺpcov“. Vo výbere budú potom príslušné položky nazvané písmenami stĺpcov počínajúc písmenom „A“ a to bez ohľadu na to, akú skutočnú oblasť definujeme.

Vytvorenie databázy

Po vytvorení zošitu a zadefinovaní prípadných databázových oblastí nám nezostáva nič iné, ako vytvoriť vlastnú databázu. Dáme vytvoriť novú databázu, pričom sa spustí sprievodca. Na prvej stránke sprievodcu zadáme, že sa chceme pripojiť k existujúcej databáze, pričom ako zdroj vyberieme voľbu „Zošit“.


Pripojenie zošitu ako zdroja databázy

Na druhej stránke vyberieme zošit, ktorý chceme použiť ako zdroj pre databázu. Môžeme si všimnúť, že práve tu nás OpenOffice.org upozorňuje, že zošit sa otvorí iba pre čítanie.


Výber konkrétneho zošitu ako zdroja

Na tretej stránke môžeme určiť, aby sa databáza „zaregistrovala“, t.j. stala sa nedeliteľnou súčasťou OpenOffice.org, čím ju budeme môcť využiť aj v iných moduloch. V našom príklade si databázu dáme zaevidovať, aby sme si ukázali aj možnosť jej použitia v textovom procesore Writer. Po stlačení tlačidla „Dokončiť“ zadáme názov databázy a táto sa automaticky vytvorí.


Zaregistrovanie databázy
 

Uloženie databázy

Teraz, pokiaľ chceme, si môžeme vytvoriť výbery („Dotazy“) nad databázou, prípadne výstupné zostavy. Pretože sa táto činnosť týka modulu Base, ktorému sa budeme venovať v budúcnosti, nebudeme sa teraz touto problematikou zaoberať.


Definícia dotazu v databáze

Databáza, ktorú sme vytvorili pomocou zošitu sa zároveň pomocou zošitu aj udržiava a mení. Stačí, ak prevedieme príslušné zmeny v zošite, tieto sa následne prejavia aj v databáze a tým ich uvidíme aj v ostatných častiach OpenOffice.org, pokiaľ sme databázu zaregistrovali. Pravdaže, vždy je potrebné zošit aj uložiť a niekedy je potrebné otvoriť a zatvoriť príslušný databázový súbor. Zmeny je vhodné prevádzať vtedy, ak nerobíme s inými dokumentami.


Zoznam tabuliek databázy

Použitie databázy

Hoci práca s databázou nepatrí do dnešnej témy, ukážme si aspoň to, ako ju dokážeme využiť napr. v textovom procesore Writer. Po spustení textového procesora si môžeme cez voľbu „Zobraziť – Zdroje dát“ (klávesová skratka F4) zobraziť databázy, ktoré máme v OpenOffice.org zaregistrované. V zozname sa nám zobrazia všetky tabuľky a databázové oblasti, ktoré sme definovali v zošite a aj prípadné dotazy, ktoré sme definovali v module Base.


Zdroje dát v textovom procesore

Jednotlivé údaje z databázy dokážeme do dokumentu vkladať veľmi jednoducho – pomocou voľby „Vložiť – Polia – Iné“ (klávesová skratka Ctrl+F2) si otvoríme pracovné okno „Polia“, kde prejdeme na záložku „Databáza“. V zozname „Typ“ vyberieme voľbu „Polia hromadnej korešpodencie“, v zozname „Výber databázy“ si otvoríme príslušnú databázu, prejdeme na údaj, ktorý chceme vložiť a stlačíme tlačidlo „Vložiť“. Po vložení jedného údaju môžeme ihneď vyberať ďalší, pretože toto pracovné okno sa nezavrie, takže si môžeme naraz vložiť všetky potrebné údaje. Po ich vložení okno „Polia“ zatvoríme.


Otvorenie pracovného okna „Polia“
 

Výber polí databázy

Teraz môžeme vložené údaje v písanom texte ľubovoľne popremiesťovať, pokiaľ potrebujeme niektorý údaj viackrát (typické je napríklad meno – používame ho nielen v adrese, ale aj v oslovení), môžeme ho jednoducho skopírovať (Ctrl+C – Ctrl+V) atď.


Pripravený textový súbor s poliami databázy

Pravdaže, pri práci nevidíme vlastné údaje, ale iba názvy položiek databázy. Príslušné údaje sa totiž vkladajú až v procese tlače, pričom nám OpenOffice.org oznámi, že v liste máme databázové polia a či ich chceme vyplniť údajmi z databázy. Otázka je však v slovenskej jazykovej lokalizácii formulovaná trochu nešťastne: „Chcete vytlačiť formulárový list?“, v českej jazykovej lokalizácii je formulovaná trochu lepšie: „Chcete vytisknout sériový dopis?“.


Oznámenie o tom, že súbor obsahuje polia databázy

Po potvrdení „Áno“ môžeme zadať, ktoré polia z databázy sa majú použiť. Máme možnosť automatického výberu všetkých záznamov, záznamy môžeme označiť aj manuálne, resp. môžeme zadať rozsah záznamov. Tlač nemusíme previesť priamo na tlačiareň, ale môžeme si vytvoriť aj súbory, v ktorých už budú vložené skutočné údaje z databázy – a to buď spoločný súbor pre všetky položky, alebo osobitný súbor pre každý záznam. Týmto spôsobom môžeme následne upraviť každý súbor individuálne podľa toho, ktorý záznam z databázy je použitý.


Nastavenie tlače vybraných položiek databázy do samostatných súborov
 

Súbor s vloženými údajmi z vybranej položky databázy

V prípade, že chceme databázu z OpenOffice.org odstrániť, toto vykonáme v nastaveniach OpenOffice.org (menu „Nástroje – Možnosti“). Na záložke „OpenOffice.org Base – Databázy“ označíme príslušnú databázu a tlačidlom „Zmazať“ zrušíme jej registráciu. Týmto zrušením však fyzicky nevymažeme súbor, kde je definovaná, takže v prípade potreby ju môžeme znovu použiť.


Možnosti práce so zoznamom registrovaných databáz

Nabudúce: Databázové funkcie nie sú databáza Base.

Stránky OpenOffice.org: www.openoffice.sk

    • Base ako zdroj dat pre Calc 06.12.2007 | 09:20
      Martin   Návštevník
      Zdravim,

      V prvom rade musim napisat, ze sa mi Vas serial velmi paci a som rad, ze sa najdu taki ochotni ludia, ktori pomahaju zaciatocnikom.

      Moja otazka sa tyka problemu, ktory sa snazim vyriesit:
      v Base neviem urobit z dat graf. Tak ma napadlo, ze by som ten graf mohol urobit v Calc-u. Samozrejme, jednoduche riesenie by bolo vyexportovat data z Base do Calc-u a nad nimi urobit graf. Na jednorazovu tvorbu grafu je to v poriadku. Zial, ked sa data v Base menia, cely proces tvorby grafu sa musi zopakovat a ked sa data menia kazdy den, je to uz nepouzitelny postup...

      Preto sa pytam, ci nepoznate nejaky sposob na vyriesenie tohoto problemu.

      S pozdravom,
      Martin
      • Re: Base ako zdroj dat pre Calc 06.12.2007 | 18:56
        Avatar Július Pastierik   Používateľ
        V Base sa grafy nerobia, ale ide to urobiť tak, aby ste dosiahli zmenu grafu v Calcu prakticky na jedno potiahnutie myšou. Napíšem o tom článok v rámci tohto seriálu (ďakujem za inšpiráciu), je to zaujímavá téma, teraz iba veľmi stručne:

        Vytvorenú databázu si zaregistrujete, aby ste ju videli v iných moduloch. V Calcu si zobrazíte zdroj dát (klávesová skratka F4), tam si nájdete Vašu tabuľku (napr. Tabulka1), dáte myš na tento názov a potiahnete to do tabuľky povedzme na pozíciu A1. Vloží sa Vám tam automaticky celá tabuľka - všetky názvy a aj položky. Vytvoríte potrebný graf a súbor si uložíte.

        Po zmene databázy otvoríte v Calcu tabuľku aj s grafom, zobrazíte si zdroj dát a znovu potiahnete názov tabuľky z Base na pozíciu A1. Potvrdíte prepísanie a graf máte automaticky zmenený podľa nových údajov.
        • Re: Base ako zdroj dat pre Calc 07.12.2007 | 08:06
          Martin   Návštevník
          Dakujem za odpoved - skusil som a funguje to, dokonca aj s Query definovanymi v Base.
          Este raz dakujem a drzim Vam palce pri pisani dalsich dielov serialu

          Martin
          • Re: Base ako zdroj dat pre Calc 09.12.2007 | 08:45
            Avatar Július Pastierik   Používateľ
            Deviaty diel bude mať názov "Base ako zdroj údajov pre Calc".