Когато искате да изберете конкретни данни от един или повече източници, можете да използвате заявка за избиране. Заявката за избиране ви помага да извлечете само данните, които искате, и също така ви помага да комбинирате данни от няколко източника на данни. Можете да използвате таблици и други заявки за избиране като източници на данни за заявка за избиране. Тази тема предоставя общ преглед на заявките за избиране и дава стъпките за създаване на заявка за избиране с помощта на съветника за заявка или в изглед за проектиране.
Ако искате да използвате примерната база данни за Northwind, за да научите повече за работата на заявките, вж. статията Въведение в заявките.
В тази статия
Общ преглед
Когато искате да използвате данни, рядко искате да използвате всички данни от една таблица. Например когато искате да използвате данни от таблицата "Контакти", обикновено искате да разгледате един определен запис или може би само телефонния номер. Понякога искате да комбинирате данни от повече от една таблица, като например да комбинирате информацията за клиенти с информацията за поръчки. За да изберете данните, които искате да използвате, можете да използвате заявка за избиране.
Заявката за избиране е обект на база данни, която показва информацията в изглед на лист с данни. Заявката не съхранява данни, тя показва данните, които се съхраняват в таблици. Заявката може да показва данни от една или повече таблици, от други заявки или комбинация от двете.
Предимства на използването на заявки
Заявката ви позволява да:
-
Преглеждате данни само от полетата, които ви интересуват за преглед. Когато отворите таблица, виждате всички полета. Заявката е удобен начин да запишете селекция от полета.
Забележка: Заявката само сочи към данни, тя не съхранява данни. Когато запишете заявка, вие не записвате копие на данните.
-
Комбинирате данни от няколко източника на данни. Таблицата обикновено показва само данните, които съхранява. Заявката ви позволява да избирате полета от различни източници и да задавате как трябва да се комбинира информацията.
-
Използвате изрази като полета. Например можете да използвате функцията Date като поле или можете да използвате функцията Format с поле, за да управлявате начина, по който се форматират данните от полето в резултатите от заявката.
-
Преглеждате записи, които отговарят на зададен от вас критерий. Когато отворите таблица, виждате всички записи. Заявката е удобен начин да запишете селекция от записи.
Основни стъпки за създаване на заявка за избиране
Можете да създадете заявка за избиране с помощта на съветника за заявка или в изглед за проектиране. Някои елементи за проектиране не са налични, когато използвате съветника, но можете да добавите тези елементи по-късно с помощта на изгледа за проектиране. Въпреки че двата метода се различават малко, основните стъпки по принцип са едни и същи:
-
Изберете таблиците или заявките, които искате да използвате като източници на данни.
-
Задайте полетата, които искате да включите от източниците на данни.
-
Ако желаете, задайте критерии, за да ограничите записите, които заявката връща.
След като създадете заявка за избиране, я изпълнявате, за да видите резултатите. За да изпълните заявка за избиране, я отваряте в изглед на лист с данни. Ако запишете заявката, можете да я използвате повторно винаги когато е необходимо, например като източник на данни за формуляр, отчет или друга заявка.
Използване на съветника за заявка за създаване на заявка за избиране
Можете да използвате съветника за заявка, за да създадете автоматично заявка за избиране. Когато използвате съветника, имате по-малко контрол върху подробностите при проектиране на заявката, но заявката обикновено се създава по-бързо, отколкото ако не използвате съветника. Освен това съветникът може да хване някои прости грешки при проектиране и да ви подкани да извършите друго действие.
Преди да започнете
Ако използвате полета от източници на данни, които не са свързани помежду си, съветникът за заявки ви пита дали искате да създадете релации. Съветникът отваря прозореца "Релации" вместо вас, но ако редактирате релации, трябва да рестартирате съветника. Следователно, преди да стартирате съветника, помислете за създаване на релациите, от които се нуждае вашата заявка.
За повече информация относно създаването на релации между таблици вж. статията Ръководство за релации на таблици.
Използване на съветника за заявка
-
В раздела Създаване, в групата Заявки щракнете върху Съветник за заявки.
-
В диалоговия прозорец Нова заявка щракнете върху Съветник за прости заявки и след това щракнете върху OK.
-
След това можете да добавяте полета. Можете да добавите до 255 полета от 32 таблици или заявки.
За всяко поле изпълнете тези две стъпки:
-
Под Таблици/заявки щракнете върху таблицата или заявката, съдържаща полето.
-
Под Налични полета щракнете двукратно върху полето, за да го добавите към списъка Избрани полета. Ако искате да добавите всички полета към заявката, щракнете върху бутона с двойната стрелка надясно (>>).
-
Когато сте добавили всички полета, които искате, щракнете върху Напред.
-
-
Ако не сте добавили никакви числови полета (полетата, които съдържат числови данни), преминете към стъпка 9. Ако сте добавили числови полета, съветникът ви пита дали искате заявката да върне подробни данни, или обобщени данни.
Направете едно от следните неща:
-
Ако искате да видите отделните записи, щракнете върху По-подробно и след това щракнете върху Напред. Преминете към стъпка 9.
-
Ако искате да видите обобщени числови данни, като например средни стойности, щракнете върху Резюме и след това щракнете върху Опции за резюме.
-
-
В диалоговия прозорец Опции за резюме задайте кои полета искате да обобщите и как искате да обобщите данните. Само числовите полета се показват в списъка.
За всяко числово поле изберете една от следните функции:
-
Сума Заявката връща сумата от всички стойности на полето.
-
Средно Заявката връща средната стойност от стойностите на полето.
-
Минимум Заявката връща най-малката стойност на полето.
-
Максимум Заявката връща най-голямата стойност на полето.
-
-
Ако искате резултатите от заявката да включват броя на записите в източник на данни, изберете съответното квадратче за отметка Преброй записите в името на източника на данни.
-
Щракнете върху OK, за да затворите диалоговия прозорец Опции за резюме.
-
Ако не сте добавили поле за дата и час в заявката, преминете към стъпка 9. Ако сте добавили поле за дата и час в заявката, съветникът за заявки ви пита как искате да групирате стойностите за дата. Да предположим например, че сте добавили числово поле ("Цена") и поле за дата и час ("Час_транзакция") към вашата заявка и след това сте задали в диалоговия прозорец Опции за резюме, че искате да видите средната стойност на числовото поле "Цена". Тъй като сте включили поле за дата/час, можете да изчислите обобщени стойности за всяка уникална стойност за дата/час, за всеки ден, за всеки месец, за всяко тримесечие или за всяка година.
Изберете периода от време, който искате да използвате, за да групирате стойностите за дата и час, и след това щракнете върху Напред.
Забележка: В изглед за проектиране можете да използвате израз, за да групирате по желания от вас период от време, но съветникът предлага само тези възможности за избор.
-
На последната страница на съветника дайте заглавие на заявката, задайте дали искате да отворите, или да модифицирате заявката, и след това щракнете върху Готово.
Ако изберете да отворите заявката, заявката показва избраните данни в изглед на лист с данни. Ако изберете да модифицирате заявката, заявката се отваря в изглед за проектиране.
Създаване на заявка чрез работа в изглед за проектиране
Можете да използвате изглед за проектиране, за да създадете ръчно заявка за избиране. При използване на изглед за проектиране имате повече контрол върху подробностите при проектирането на заявката, но е по-лесно да направите грешки при проектирането и може да отнеме повече време отколкото при използването на съветника.
Създаване на заявка
Стъпка 1: добавяне на източници на данни
Когато използвате изглед за проектиране, за да добавите източници на данни, добавяте източниците на данни и полетата в отделни стъпки. Въпреки това винаги можете да добавите повече източници на данни по-късно, ако искате.
-
В раздела Създаване, в групата Заявки щракнете върху Проектиране на заявка.
-
Щракнете двукратно върху всеки източник на данни, който искате да използвате, или изберете всеки източник на данни и след това щракнете върху Добави.
Автоматични съединения
Когато добавите източниците на данни, ако източниците вече имат релации, дефинирани между тях, тези релации се добавят автоматично към заявката като съединения. Съединенията задават как трябва да се комбинират данни от свързани източници. Access автоматично създава съединение между две таблици, ако те имат полета, които имат съвместими типове данни, и едното поле е първичен ключ.
Можете да регулирате съединенията, които Access създава. Access определя какъв тип съединение да създаде въз основа на релацията, която съединението представлява. Ако Access създаде съединение, но няма дефинирана релация, Access създава вътрешно съединение.
Ако Access автоматично създаде правилните съединения, когато добавите източниците на данни, можете да преминете към стъпка 3: добавяне на изходни полета.
Използване на един и същ източник на данни няколко пъти
В някои случаи искате да съедините две копия на една и съща таблица или заявка, което се нарича рефлексивно съединение и комбинира записи от една и съща таблица, когато има съответстващи стойности в съединените полета. Да кажем например, че имате таблица със служители, в която полето "Подчинен на" за записа на всеки служител показва ИД вместо името на неговия или нейния ръководител. Можете да използвате рефлексивно съединение, за да се покаже вместо това името на ръководителя в записа за всеки служител.
Когато добавите източник на данни втори път, Access добавя _1 към името на втория екземпляр. Например ако сте добавили таблицата "Служители" два пъти, вторият екземпляр ще се казва 'Служители_1".
Стъпка 2: съединяване на свързани източници на данни
Ако източниците на данни, които добавяте към заявка, вече имат релации, Access автоматично създава вътрешно съединение за всяка релация. Ако е наложена цялост на връзките, Access показва също "1" над линията на съединение, за да покаже коя таблица е от страната "един" на релация "един към много", и символа за безкрайност (∞), за да покаже коя таблица е от страната "много".
Ако добавите заявки към вашата заявка и не сте създали релации между тези заявки, Access не създава автоматично съединения между тези заявки или между заявки и таблици, които не са свързани. Ако Access не създаде съединения, когато добавите източници на данни, трябва обикновено да ги добавите сами. Източници на данни, които не са съединени с друг източник на данни, може да доведат до проблеми с резултатите от заявката.
Може също да искате да промените типа на съединението от вътрешно съединение на външно съединение, така че вашата заявка да включва още записи.
Добавяне на съединение
-
За да добавите съединение, плъзнете поле от един източник на данни в съответното поле на друг източник на данни.
Access показва линия между двете полета, за да покаже, че е създадено съединение.
Промяна на съединение
-
Щракнете двукратно върху съединението, което искате да промените.
Появява се диалоговият прозорец Свойства на съединението.
-
Разгледайте трите опции в диалоговия прозорец Свойства на съединението.
-
Щракнете върху опцията, която искате да използвате, и след това щракнете върху OK.
След като съединенията са готови, можете да добавите изходни полета – полета, които съдържат данните, които искате в резултатите от заявката.
Стъпка 3: добавяне на изходни полета
Можете лесно да добавите поле от всеки от източниците на данни, които сте добавили в стъпка 1.
-
За да добавите поле, плъзнете полето от източник на данни в горния екран на прозореца за проектиране на заявки в реда Поле на мрежата за проектиране в долния екран на прозореца за проектиране на заявки.
Когато добавите поле по този начин, Access автоматично попълва реда Таблица на мрежата за проектиране, за да отрази източника на данни за полето.
Съвет: Ако искате да добавите бързо всички полета в реда "Поле" на мрежата за проектиране на заявки, щракнете двукратно върху името на таблицата или заявката от горния екран, за да маркирате всички полета в този източник, и след това ги плъзнете едновременно в мрежата за проектиране.
Използване на израз като изходно поле
Ако искате да извършите изчисления или да използвате функция, за да получите резултат от заявка, можете да използвате израз като изходно поле. Изразът може да използва данни от всеки от източниците на данни на заявката, както и функции, като например Format или InStr, и може също да съдържа константи и аритметични оператори.
-
В празна колона на мрежата за проектиране на заявката, щракнете с десния бутон върху реда Поле и след това щракнете върху Мащабиране в контекстното меню.
-
В полето Мащабиране въведете или поставете своя израз. Пред израза поставете името, което искате да използвате за резултата от израза, последвано от двоеточие. Например ако искате изразът да е с етикет "Последна актуализация", трябва да започнете своя израз с Последна актуализация:.
Забележка: Можете да направите доста неща с помощта на изрази. Подробното обяснение на изразите е извън обхвата на тази статия. За повече информация относно създаването на израз вж. статията Създаване на израз.
Стъпка 4: задаване на критерии
Тази стъпка е по желание.
Можете да използвате критерии, за да ограничите записите, които връща вашата заявка, въз основа на това дали стойностите на полето отговарят на критериите, които задавате.
Задаване на критерии за изходно поле
-
В мрежата за проектиране на заявки в реда Критерии на полето, съдържащо стойностите, които искате да ограничите, въведете израз, на който трябва да отговарят стойностите на полето, за да бъдат включени в резултатите. Например ако искате да ограничите заявка, така че само записите, където стойността на полето "Град" е Лас Вегас, въведете Лас Вегас в реда Критерии под това поле.
За много примери на критерии за заявки за различни типове данни вж. статията Примери на критерии за заявки.
-
Задайте всички алтернативни критерии в реда Или под реда Критерии.
Ако зададете алтернативни критерии, стойността на полето може да отговаря на някой от изброените критерии, за да бъде включена в резултата от заявката.
Критерии с множество полета
Можете да използвате критерии с множество полета. Когато го направите, всички критерии в даден ред Критерии или Или трябва да бъдат изпълнени за записа, за да бъде включен.
Задаване на критерии с помощта на поле, което не искате да бъде изведено в резултата
Можете да добавите поле към проекта на своята заявка и да изключите данните на полетата в резултата от заявката. Можете да направите това, ако искате да използвате стойностите на полето, за да ограничите резултатите от заявката, но не искате да видите стойностите на полето.
-
Добавете полето към мрежата за проектиране.
-
Изчистете квадратчето за отметка в реда Покажи за полето.
-
Задайте критерии както за изходно поле.
Стъпка 5: обобщаване на данни
Тази стъпка е по желание.
Можете да искате да обобщите данните, особено ако данните са числови. Например можете да искате да видите средната цена или общата сума на продажбите.
За обобщаване на данни в заявка използвате реда Общо. По подразбиране редът Общо не се показва в изглед за проектиране.
-
Когато заявката е отворена в изглед за проектиране , в раздела Проектиране на заявка , в групата Показване/скриване щракнете върху Общи суми.
Access показва реда Общо в мрежата за проектиране на заявката.
-
За всяко поле, което искате да обобщите, изберете функцията, която да се използва, от списъка в реда Общо. Функциите, които са налични, зависят от типа на данните в полето.
За да научите повече за функционалността за сумарен ред в заявки, вж. статията Показване на суми на колони в лист с данни чрез сумарен ред.
Стъпка 6: Преглед на резултатите
За да видите резултатите от заявката, в раздела Проектиране на заявка щракнете върху Изпълни. Access показва резултатите от заявката в изглед на лист с данни.
За да направите по-нататъшни промени в заявката, щракнете върху Начало > Изглед > Режим на проектиране, за да превключите обратно към изглед за проектиране.
Променете вашите полета, изрази или критерии и изпълнете отново заявката, докато тя не върне данните, които искате.