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.

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.

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.

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.

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.

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?