Създаване на параметрични запитвания
Ако често се стартира едно селектиращо запитване, но е нужно то да се стартира с различни критерии, трябва да се отдели време за да се създаде параметрично запитване. При стартиране на едно такова запитване, Access отваря диалогов прозорец в който се посочват стойности за критериите при текущото изпълнение на запитването.
Създаване на параметрично запитване за един критерий
Описанието на цялостния процес е представен на Фиг. 7.1.
Създаване на параметрично запитване за няколко критерия
Допустимо е създаване на запитване, което изисква въвеждането на няколко параметрични стойности. При това може да бъдат задавани параметри за отделните полета или няколко параметъра за едно поле.
На Фиг. 7.2. е представено запитване, в което има едновременно задавене на параметри в едно поле и на параметър в две полета, чрез което се извличат записи от таблицата Stud, като се иска извличане на записите, които отговарят на условието - факултетните номера на студентите да са между 900000 и 910000, и същевременно да са от град Свищов.
Обратно към началото
Създаване на Crosstab query
Възможно е създаване на Crosstab query (кръстосано запитване, запитване за сечение) за представяне на данните в компактен вид, във формат на електронна таблица. Този вид запитване представя голям обем от данни в лесен за възприемане вид.
За създаване на запитване от този вид, трябва да се включат в запитването полетата от таблицата (таблиците) на базата на които се създава запитването. След това, с изпълнение на командата Query | Crosstab query в QBE мрежата се визуализират редовете Total и Crosstab. На следваща стъпка се уточнява с падащият списък от Crosstab полето за всеки запис кое поле (полета) ще се ползват като редове (Row Heading) и кое поле (полета) ще се ползват като колони (Column Heading). В Total клетката на полето, на базата на което ще се пресмятат стойности, от падащият списък се избира Count (както е в примера на Фиг. 7.3.) за преброяване на стойностите (или Sum, Max и т.н.), а в клетката Crosstab стойността Value.
На Фиг. 7.3. е представен пример за създаване на кръстосано запитване, като в редовете са изброени градовете, от където са студентите, а в колоните - (номерата на) специалностите на студентите. В пресечните точки на колоните и редовете е изведен броя на студентите от съответната специалност и град, получаващи стипендия. Предимствата на кръстосаното запитване не могат да проличат ясно от този пример, тъй като самата изходна таблица Stud, съдържа ограничено количество записи.
Обратно към началото
Използване на SQL в Access
Structured Query Language (SQL) е език, често използван в запитванията, актуализациите и управлението на данните в релационните бази от данни. Към всяко запитване създавано от потребителя чрез QBE мрежата Access автоматично генерира SQL оператор. За потребители запознати с SQL е по-удобно да създават запитванията си чрез него, вместо да изучават особеностите на работа с QBE мрежата на запитванията в Access.
За да се отвори диалогов прозорец, съдържащ съответният на зададеното QBE мрежата запитване SQL SELECT оператор, е нужно от прозореца в който е разработвано запитването (с QBE мрежата) да се изпълни командата View | SQL View. След като се направят нужните корекции в SQL прозореца, той се затваря чрез ново превключване към QBE мрежата чрез View | Design View. Направените промени в SELECT оператора се отразяват в QBE мрежата.
Общият вид на оператор SELECT е:
SELECT [predicate] { * | table.* | [table.]field1 [AS alias1] [, [table.]field2 [AS alias2] [, ...]]}
FROM tableexpression [, ...] [IN externaldatabase]
[WHERE criteria]
[GROUP BY groupfieldlist]
[HAVING groupcriteria]
[ORDER BY field1 [ASC | DESC ][, field2 [ASC | DESC ]][, ...]]] ]
[WITH OWNERACCESS OPTION]
SELECT операторът има следните части:
Част
Описание
predicate
Един от следните предикати: ALL, DISTINCT, DISTINCTROW или TOP. Използват се за ограничаване на броя на връщаните от оператора записи. Ако не е уточнено - по подразбиране се приема ALL.
*
Задава, че се извличат всички полета от посочената таблица.
table
Името на таблицата от която се извличат записи.
field1, field2
Имена на полета, съдържащи нужните данни. Ако са няколко полета - то чрез последователността им се задава и последователността на връщаните данни.
alias1, alias2
Имена използвани за имена на колоните в резултатната таблица вместо оригиналните имена от изходната таблица.
tableexpression
Име на таблица или таблици от които се извличат данни.
externaldatabase
Име на външна база от данни.
criteria
Условия на които трябва да отговарят записите, за да бъдат включени в резултатната таблица.
groupfieldlist
Имена на полета (максимум 10) използвани за групиране на записите в резултатната таблица. Поредността на тези полета определя и нивата на групиране от най-високото към най-ниското ниво.
groupcriteria
Израз, определящ кои групиращи записи да бъдат включени в резултатната таблица.
field1, field2
Имена на полета по които се сортират записите в резултатната таблица.
OWNERACCESS
OPTION
При работа в група тази декларация се използва заедно със запитването, за да се даде на потребителя стартиращ запитването същите права, както на останалите членове на групата.