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

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.

Písmo: A- | A+
Diskusia  (2)

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).

SkryťVypnúť reklamu
SkryťVypnúť reklamu
Článok pokračuje pod video reklamou
0 seconds of 0 secondsVolume 0%
Press shift question mark to access a list of keyboard shortcuts
00:00
00:00
00:00
 

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í.

SkryťVypnúť reklamu

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.

SkryťVypnúť reklamu

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.

SkryťVypnúť reklamu

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
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
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
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
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
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?

Peter Belko

Peter Belko

Bloger 
  • Počet článkov:  345
  •  | 
  • Páči sa:  15x

Môžete ho stretnúť ako lektora na počítačových školeniach, pri IT konzultáciách vo firmách, na letných terasách a v kaviarňach ako pozoruje dianie okolo seba, ale aj na potulkách po gréckych ostrovoch, pretože počítače nie sú jediné čo ho zaujíma.Ostrovné správy popisuje na osobnej stránke www.dovolenkar.skAktívne prispieva na svoj portál Tipy a triky v MS Office.. Zoznam autorových rubrík:  Tipy a triky MS Office 2013/20Externé tipy a triky MS OfficeSharePoint, spolupráca,Office3Tipy a trikyNávodyStalo sa ...Office 2010/2013 BetaMicrosoft KB článkySúkromnéNezaradené

Prémioví blogeri

Matúš Sarvaš

Matúš Sarvaš

3 články
Lucia Nicholsonová

Lucia Nicholsonová

207 článkov
Anna Brawne

Anna Brawne

103 článkov
Monika Nagyova

Monika Nagyova

299 článkov
Jiří Ščobák

Jiří Ščobák

765 článkov
Pavel Macko

Pavel Macko

188 článkov
reklama

SME si všimli

Ako CIA hľadala Archu zmluvy – Donald Trump odtajnil dokumenty

Vladimír Benčík

Ako CIA hľadala Archu zmluvy – Donald Trump odtajnil dokumenty

Príbeh ako z thrilleru - CIA na diaľku odhalila polohu Archy zmluvy

  • 4. apr
  • Páči sa: 19x
  • Prečítané: 949x
  • 1
Zavraždený Marek bol stelesnením slušného človeka

Jozef Foltýn

Zavraždený Marek bol stelesnením slušného človeka

Marek Glodič bol ten najslušnejší človek akého som v živote stretol

  • 3. apr
  • Páči sa: 122x
  • Prečítané: 3 125x
  • 4
Včelárske tradície a zvyky na Slovensku

Matúš Radusovsky

Včelárske tradície a zvyky na Slovensku

Bohaté včelárske tradície Slovenska – od historických postupov po súčasné metódy odovzdávané z generácie na generáciu.

  • 26. mar
  • Páči sa: 6x
  • Prečítané: 387x
  • 0
O Západnom brehu...

Dávid Polák

O Západnom brehu...

...alebo o Judei a Samárii, ako tomuto územiu niektorí hovoria, sa veľa rozpráva, ale oveľa menej naozaj vie.

  • 7. mar
  • Páči sa: 17x
  • Prečítané: 1 022x
  • 2
John Portasik (Ján Portášik) - Príbeh (ne)obyčajného človeka

Miloš Majšík

John Portasik (Ján Portášik) - Príbeh (ne)obyčajného človeka

Životný príbeh chalana, potomka slovenských prisťahovalcov do USA, ktorý napriek svojej chorobe šiel za svojím cieľom.

  • 27. feb
  • Páči sa: 43x
  • Prečítané: 2 254x
  • 1
Hlava XXII v štátnom IT

Marcel Rebro

Hlava XXII v štátnom IT

Spolu s "katastrálnym vírusom" skvelá kombinácia ako stráviť pracovný deň v nekonečnom cykle

  • 17. feb
  • Páči sa: 106x
  • Prečítané: 2 128x
  • 2

Hlavné správy zo SME.sk

Návrh Hlasu, o ktorom sa hovorí, ale nikto ho nevidel, presunuli o ďalší týždeň

Marek Moravčík

Návrh Hlasu, o ktorom sa hovorí, ale nikto ho nevidel, presunuli o ďalší týždeň

Chcú vraj "zjemniť" novelu zákona o mimovládkach, opozícia avizuje podanie na Ústavný súd.

  • 34m
Slováci sa len sťažujú a Danko si hľadá politickú tému. Ako reaguje koalícia na transakčnú daň
Tvrdia, že oživili vyhynutého pravlka. Kráčame po tenkom ľade, hovoria výskumníci
Aj v koalícii sa platí transakčná daň (komentár)

Peter Tkačenko

Aj v koalícii sa platí transakčná daň (komentár)

Kto ju platiť nechce, v žiadnej koalícii nebude.

  • 3h
reklama
SkryťZatvoriť reklamu