Píšete alebo klikáte dotazy v MS Access? (+video)

Autor: Peter Belko | 20.2.2012 o 7:27 | Karma článku: 4,98 | Prečítané:  2454x

Nedávno som dostal otázku ohľadom mojich skúseností s MS Access. Konkrétnejšie sa to týkalo VBA a tiež tvorby komplikovanejších SQL dotazov založených na viacerých tabuľkách s kritériami. Ďalej si prečítate základné rozdiely ich tvorby pri písaní alebo klikaní. Priložil som aj video s praktickou ukážkou.

Každá DB je založená na tabuľkách, ktoré obsahujú záznamy. Tabuľky sa nepoužívajú na výpočtové operácie. Na tie slúžia najčastejšie dotazy, formuláre a zostavy. Dotazy si môžete predstaviť ako virtuálne tabuľky, ktoré len zobrazujú údaje z reálnej tabuľky alebo viacerých tabuliek. Pomocou dotazov môžete napr. spojiť dve tabuľky a získať tak pohľad na záznamy  na jednom mieste. Taktiež môžete dotazy využiť na filtrovanie údajov pomocou rôznych kritérií. Tie môžu byť fixne zadané, ale môžu to byť aj logické hodnoty a dokonca odkazy na ovládacie prvky vo formulároch (parametrický dotaz).

Dotaz v MS Access sa vytvára niekoľkými spôsobmi - pomocou sprievodcu dotazom  alebo návrhom dotazu. Návrh dotazu je možný v návrhovom zobrazení alebo v zobrazení SQL. Rozdiel medzi týmito spôsobmi je ten, že pri sprievodcovi a návrhovom zobrazení využívate najčastejšie klikanie aby ste dotaz vytvorili. Access z toho čo ste klikali vytvorí SQL dotaz v správnej syntaxi, takže v konečnom dôsledku by ste nemuseli poznať na čo slúži napr. Select, From a pod. Toto samozrejme neodporúčam ignorovať a každý kto vytvára databázu by mal vedieť čo to znamená. Pri písaní SQL dotazu potrebujete v okne editora postupne zapisovať jednotlivé príkazy, polia, ich zobrazované názvy, tabuľky, zoskupenia, spojenia a pod. Už asi tušíte, že pri komplikovanejšom dotaze založenom na viacerých tabuľkách sa pri jeho písaní môžete ľahšie pomýliť. Taktiež postupné vpisovanie údajov je zdĺhavejšie ako ich klikanie. Pri úprave dotazu, kedy potrebujete zmeniť poradie polí je písanie, resp. presúvanie časti kódu tiež menej pohodlné ako presun poľa v návrhovom zobrazení.

Pre potreby ukážky tvorby dotazov som navrhol jednoduchú databázu vytvorenú z dvoch tabuliek. Jedna tabuľka obsahuje údaje o rodičoch a druhá o ich deťoch. Tabuľka T_Rodicia má nasledovné polia: ID, ID_rodica, Priezvisko, Mesto. Tabuľka T_Dieta má tieto polia: ID, ID_dieta, ID_rodic, Meno, datum_narodenia. Všetky polia s ID sú v tomto prípade primárne kľúče okrem ID_rodic, ktoré je cudzím kľúčom. Z týchto tabuliek potrebujete vidieť údaje na jednom mieste (v jednej „virtuálnej"  tabuľke), ktoré môžu byť ovplyvnené kritériami. Taktiež budete potrebovať spraviť základný výpočet z dátumu, napr. oddelenie roku od zvyšných častí dátumu alebo zobrazenie názvu dňa. Ďalej popíšem vytvorenie dotazov a na obrázkoch uvidíte rozdiely medzi návrhovým zobrazením a zobrazením SQL.

Prvý dotaz bude základný a bude obsahovať priezvisko rodiča, meno dieťaťa, mesto a dátum narodenia. Na páse s nástrojmi Vytvoriť kliknite na príkaz Návrh dotazu. (Sprievodcu nie je v tejto chvíli možné použiť, nakoľko nie sú v DB definované relácie, bez ktorých dotaz z dvoch tabuliek nevytvoríte a sprievodca Vás prepne do zobrazenia relácii.) Následne sa zobrazí okno Zobrazenie tabuľky, kde označte obidve a kliknite na Pridať. Tabuľky sa zobrazia v hornej časti návrhového okna. V dolnej mriežkovej časti pridávate polia, výpočty, zoradenie a kritéria. Pole z tabuľky zobrazenej v hornej časti pridáte dvojklikom alebo presunutím myšou.  Aby ste skontrolovali či dotaz zobrazuje správne údaje, tak treba kliknúť na tlačidlo s červeným výkričníkom alebo na údajové zobrazenie.

Prvý dotaz v návrhovom zobrazení, bez spojených tabuliek zobrazí viac údajov ako očakávate. Sú to všetky možnosti z obidvoch tabuliek. Na obrázku je dotaz v návrhovom zobrazení, v zobrazení SQL a výsledky, ktoré vráti.

Dotaz z dvoch tabuliek bez spojenia

V druhom dotaze je už vytvorené spojenie tabuliek a výsledok bude obsahovať len relevantné údaje zo zhodných polí v obidvoch tabuľkách. Tzn. nie je tam rodič, ktorý ešte nemá v DB záznam o dieťati. Na obrázku je dotaz v návrhovom zobrazení, v zobrazení SQL a výsledky, ktoré vráti.

Dotaz z dvoch tabuliek s ich spojením

V treťom dotaze je zmenené spojenie tabuliek (v okne Vlastnosti spojenia, ktoré sa zobrazí dvojklikom na spojnici medzi tabuľkami) a zobrazuje všetkých rodičov aj bez záznamu o deťoch.

Dotaz z dvoch tabuliek s ich spojením

V štvrtom dotaze je zmenené spojenie tabuliek (v okne Vlastnosti spojenia, ktoré sa zobrazí dvojklikom na spojnici medzi tabuľkami) a zobrazuje podobne ako druhý dotaz len rodičov, ktorí majú aspoň jeden záznam dieťaťa.

Dotaz z dvoch tabuliek s ich spojením

Posledný dotaz obsahuje ešte aj výpočty, ktoré sú dostupné v tvorcovi výrazov. Prvý výpočet oddelí z dátumu narodenia len rok a druhý zobrazí z dátumu narodenia názov dňa v týždni (funkcia na poradové číslo dňa v týždni nemá v tomto prípade nastavený argument 2, ktorý platí na pondelok). Okrem toho obsahuje aj kritérium na sobotu a zoradenie podľa priezviska.

Dotaz z dvoch tabuliek s ich spojením, výpočtami a kritériom

Všetky popísané možnosti si môžete pozrieť aj vo videu, ktoré som v tejto súvislosti pripravil.

V tomto článku som sa snažil ukázať rozdiel medzi vytvorením výberového dotazu v návrhovom zobrazení oproti jeho písaniu v zobrazení SQL. Osobne si myslím, že klikanie dotazov v Access je rýchlejšie ako ich písanie v SQL zobrazení. Klikanie taktiež podľa mňa eliminuje vznik chýb, ktoré sa pri písaní SQL môžu vyskytnúť. Stačí spraviť pri písaní jeden preklep napr. v názve poľa a dotaz zobrazí chybu.

Aký je Váš názor na klikanie a písanie dotazov v MS Access pri ich vytváraní alebo úprave? Ktorý spôsob používate pri ich vytváraní/úprave Vy?

Páčil sa Vám tento článok? Pridajte si blogera medzi obľúbených a my Vám pošleme email keď napíše ďalší článok
Pridaj k obľúbeným

Hlavné správy

EKONOMIKA

Firmy nutne potrebujú ľudí, z Ukrajiny im ich vláda dovoliť nechce

Na jar minister práce Ján Richter hovoril o možnosti vpustiť na náš pracovný trh ľudí z tretích krajín v odvetviach, v ktorých to bude potrebné.

EKONOMIKA

Právnici, ktorí radili pri predaji Eurovey a príchode Číňanov

Právnické firmy pre SME a The Slovak Spectator ukázali top obchody, pri ktorých radili.

ŠPORT

Za Slovanom stále cítiť pachuť vytunelovaných harvardov

Medzi majiteľmi je dodnes firma zapletená do tunelovania harvardských fondov.


Už ste čítali?