Примери на критерии за заявки
Applies ToAccess за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Критериите за заявки ви помагат да отсеете определени елементи в база данни на Access. Ако един елемент съответства на всички критерии, които въведете, той се появява в резултатите от заявката.

За да добавите критерии към заявка на Access, отворете заявката в изглед на проектиране и определете полетата (колоните), за които искате да посочите критерии. Ако полето не е в мрежата за проектиране, щракнете двукратно върху полето, за да го добавите към мрежата, а след това въведете критерий в реда Критерии за това поле. Ако не сте сигурни как да направите това, вижте Въведение в заявките.

Критерият за заявка е израз, който Access сравнява със стойностите на полетата на заявката, за да определи дали да включи записа, който съдържа всяка стойност. Например = "Чикаго" е израз, който Access сравнява със стойностите в текстовото поле на заявката. Ако стойността за това поле в даден запис е "Чикаго", Access ще включи записа в резултатите от заявката.

Ето някои примери за често използвани критерии, които можете да използвате като отправна точка за създаване на вашите критерии. Примерите са групирани по типове данни.

В тази тема

Въведение в критериите за заявка

Критерият е подобен на формула – той е низ, който може да се състои от препратки към полета, оператори и константи. Критериите за заявки се наричат също и изрази в Access.

Таблиците по-долу показват някои примерни критерии и обяснява как работят.

Критерии

Описание

>25 и <50

Този критерий се отнася за числово поле, като например "Цена" или "Наличност". Той включва само записите, където полето "Цена" или "Наличност" съдържа стойност, по-голяма от 25 и по-малка от 50.

DateDiff ("гггг", [Дата на раждане], Date()) > 30

Този критерий се отнася за поле за дата/час, като например "Дата на раждане". В резултата от заявката се включват само записите, където броят години между датата на раждане на лицето и днешната дата е по-голям от 30.

Is Null

Този критерий може да се приложи към всеки тип поле, за да се покажат записите, където стойността на полето е Null.

Както виждате, критериите може да изглеждат много различно в зависимост от типа на данните в полето, към което се прилагат, и от вашите конкретни изисквания. Някои критерии са прости и използват основни оператори и константи. Други са сложни и използват функции, специални оператори и препратки към полета.

Тази тема описва няколко често използвани критерия по тип на данните. Ако примерите, посочени в тази тема, не отговарят на вашите нужди, може да се наложи да напишете свои собствени критерии. За да направите това, трябва първо да се запознаете с пълния списък с функции, оператори и специални знаци, както и със синтаксиса за изрази, препращащи към полета и литерали.

Тук ще видите къде и как да добавяте критериите. За да добавите критерий към заявка, трябва да отворите заявката в изглед за проектиране. След това намерете полетата, за които искате да зададете критерии. Ако полето все още не е в мрежата за проектиране, можете да го добавите, като го плъзнете от прозореца за проектиране на заявки – в мрежата с полета, или като щракнете двукратно върху полето. (Двукратното щракване върху полето автоматично го добавя към следващата празна колона в мрежата с полета.) Накрая въведете критериите в реда Критерии.

Критериите, които сте задали за различните полета в реда Критерии, се комбинират с помощта на оператора "AND". С други думи, критериите, зададени в полетата "Град" и "Дата на раждане", се интерпретират по следния начин:

Град = "Чикаго" AND Дата на раждане < DateAdd (" гггг ", -40, Date())

Критерии за ''Град'' и ''Дата на раждане''

1. Полетата "Град" и "Дата на раждане" включват критерии.

2. На този критерий ще отговарят само записите, където стойността на полето "Град" е "Чикаго".

3. На този критерий ще отговарят само записите за лицата на възраст най-малко 40 години.

4. В резултата ще бъдат включени само записите, които отговарят и на двата критерия.

Какво да направите, ако искате да е изпълнено само едното от тези условия? С други думи, ако имате алтернативни критерии, как да ги въведете?

Ако имате алтернативни критерии или два набора от независими критерии, където е достатъчно записите да отговарят на един от наборите критерии, можете да използвате и двата реда Критерии и или в мрежата за проектиране.

Алтернативни критерии

1. Критерият "Град" е зададен в реда "Критерии".

2. Критерият "Дата на раждане" е зададен в реда "или".

Критериите, зададени в редовете Критерии и или се комбинират с помощта на оператора "OR", както е показано по-долу:

Град = "Чикаго" OR Дата на раждане < DateAdd (" yyyy ", -40, Date())

Ако трябва да зададете повече алтернативи, използвайте редовете под реда или.

Преди да продължите с примерите, обърнете внимание на следното:

  • Ако критерият е временен или се променя често, можете да филтрирате резултатите от заявката, вместо често да променяте критерия за заявката. Филтърът е временен критерий, който променя резултата от заявката, без да променя дизайна й. За повече информация относно филтрите вижте статията Прилагане на филтър за преглед на избрани записи в база данни на Access.

  • Ако полетата за критерии не се променят, но стойностите, които ви интересуват, се променят често, можете да създадете параметризирана заявка. Параметризираната заявка подканва потребителя за стойностите за полетата и след това използва тези стойности, за да създаде критерии за заявки. За повече информация относно параметризираните заявки вижте статията Използване на параметри в заявки и отчети.

Критерии за полета за текст, паметни бележки и хипервръзки

Следващите примери са за полето "СтранаРегион" в заявка, базирана на таблица, в която се съхранява информацията за контакт. Критерият е зададен в реда Критерии на полето в мрежата за проектиране.

Критерий ''СтранаРегион''

Критерият, който задавате за поле "Хипервръзка", по подразбиране се отнася за частта с текст за показване от стойността на полето. За да зададете критерии за частта от стойността URL (еднозначно разположение на ресурса ) местоназначение, използвайте израза HyperlinkPart. Синтаксисът за този израз е както следва: HyperlinkPart([Таблица1].[Поле1],1) = "http://www.microsoft.com/", където "Таблица1" е името на таблицата, съдържаща полето за хипервръзка, "Поле1" е полето за хипервръзка, а "http://www.microsoft.com" URL адресът, искате да съвпада.

За да включите записи, които...

Използвайте този критерий

Резултат от заявката

Съвпадат точно със стойност, например "Китай"

"Китай"

Връща записите, където полето "СтранаРегион" е зададено на "Китай".

Не съвпадат точно със стойност, например "Мексико"

Not "Мексико"

Връща записите, където полето "СтранаРегион" е зададено на страна/регион, различна от "Мексико".

Започват със зададения низ, например "У"

Like У*

Връща записите за всички страни/региони, чиито имена започват с "У", например "Украйна", "Уганда" и т.н.

Забележка: Когато се използва в израз, звездичката (*) представлява произволен низ от знаци – тя се нарича още заместващ символ. За списък на такива символи вижте статията Справка за заместващите символи в Access.

Не започват със зададения низ, например "У"

Not Like У*

Връща записите за всички страни/региони, чиито имена не започват с "У".

Съдържат зададения низ, например "Корея"

Like "*Корея*"

Връща записите за всички страни/региони, които съдържат низа "Корея".

Не съдържат зададения низ, например "Корея"

Not Like "*Корея*"

Връща записите за всички страни/региони, които не съдържат низа "Корея".

Завършват със зададения низ, например "ия"

Like "*ия"

Връща записите за всички страни/региони, чиито имена завършват на "ия", например "Англия", "България".

Не завършват със зададения низ, например "ия"

Not Like "*ия"

Връща записите за всички страни/региони, чиито имена не завършват на "ия", например "Того", "Мали".

Съдържат стойности Null (или липсващи)

Is Null

Връща записите, където в полето няма стойност.

Не съдържат стойности Null

Is Not Null

Връща записите, където в полето има стойност.

Съдържат низове с нулева дължина

"" (чифт кавички)

Връща записите, където полето е зададено с празна стойност (но не Null). Например записите за продажби към друг отдел може да съдържат празна стойност в полето "СтранаРегион".

Не съдържат низове с нулева дължина

Not ""

Връща записите, където стойността на полето "СтранаРегион" не е празна.

Съдържат стойности Null или низове с нулева дължина

"" Or Is Null

Връща записите, където или няма стойност в полето, или за полето е зададена празна стойност.

Не са Null и не са празни

Is Not Null And Not ""

Връща записите, където стойността на полето "СтранаРегион" не е празна и не е Null.

Следват стойност, като например "Мексико", когато са сортирани по азбучен ред

>= "Мексико"

Връща записите за всички страни/региони, като се започне от Мексико и се стигне до края на азбуката.

Влизат в определен диапазон, например от А до Й

Like "[А-Й]*"

Връща записите за страните/регионите, чиито имена започват с буквите от "А" до "Й".

Съвпадат с една от две дадени стойности, например "Сърбия" или "Албания"

"Сърбия" Or "Албания"

Връща записите за САЩ и Великобритания.

Съдържат една от стойностите в списък със стойности

In("Франция", "Китай", "Германия", "Япония")

Връща записите за всички страни/региони, посочени в списъка.

Съдържат определени знаци на определена позиция в стойността на полето

Right([СтранаРегион], 1) = "я"

Връща записите за всички страни/региони, където последната буква е "я".

Удовлетворяват изисквания за дължина

Len([CountryRegion]) > 10

Връща записите за страните/регионите, чието име е с дължина над 10 знака.

Отговарят на определен шаблон

Like "Слов????"

Връща записите за страните/регионите, като например "Словения" и "Словакия", чиито имена са с дължина 8 букви, първите четири от които са "Слов".

Забележка: Знаците ? и _, когато се използват в израз, представляват единичен символ – те се наричат още заместващи символи. Знакът _ не може да се използва в един същ израз със заместващия символ ? или *. Можете да използвате заместващия символ _ в израз, който съдържа и заместващия символ %.

Критерии за числови полета, полета за валута и полета с автоматично номериране

Следващите примери са за полето "Единична цена" в заявка, базирана на таблица, в която се съхранява информацията за продукти. Критерият е зададен в реда Критерии на полето в мрежата за проектиране на заявки.

Критерии ''Цена на дребно''

За да включите записи, които...

Използвайте този критерий

Резултат от заявката

Съвпадат точно със стойност, например 100

100

Връща записите, където единичната цена на продукта е 100 лв.

Не съвпадат точно със стойност, например 1000

Not 1000

Връща записите, където единичната цена на продукта не е 1000 лв.

Съдържат стойност, по-малка от дадена стойност, например 100

< 100 <= 100

Връща записите, където единичната цена е по-малка от 100 лв (<100). Вторият израз (<=100) показва записите, в които цената на дребно на продукта е по-малка или равна на 100 лв.

Съдържат стойност, по-голяма от дадена стойност, например 99,99

>99.99 лв. >= 99,99

Връща записите, където единичната цена е по-голяма от 99,99 лв (>99,99). Вторият израз показва записите, в които цената на дребно на продукта е по-голяма или равна на 99,99 лв.

Съдържат една от две стойности, например 20 или 25

20 or 25

Връща записите, където единичната цена е 20 лв. или 25 лв.

Съдържат стойност, която влиза в диапазон от стойности

>49.99 и <99.99 -Или- Между 50 и 100

Връща записите, където единичната цена е между (но не включва) 49,99 лв. и 99,99 лв.

Съдържат стойност, която излиза извън диапазон

<50 or >100

Връща записите, където единичната цена не е между 50 лв. и 100 лв.

Съдържат една от много конкретни стойности

In(20, 25, 30)

Връща записите, където единичната цена е 20 лв., 25 лв. или 30 лв.

Съдържат стойност, завършваща на зададените цифри

Like "*4,99"

Връща записите, където единичната цена завършва на "4,99", например: 4,99 лв., 14,99 лв., 24,99 лв. и т.н.

Забележка: Знаците * и %, когато се използват в израз, представляват произволен брой знаци – те се наричат още заместващи символи. Знакът % не може да се използва в един същ израз със заместващия символ * или ?. Можете да използвате заместващия символ % в израз, който съдържа и заместващия символ _.

Съдържат стойности Null (или липсващи)

Is Null

Връща записите, където в полето "Единична цена" не е въведена стойност.

Съдържат стойности, които не са Null

Is Not Null

Връща записите, където в полето "Единична цена" има стойност.

Критерии за полета за дата/час

Следващите примери са за полето "Дата на поръчка" в заявка, базирана на таблица, в която се съхранява информацията за поръчки. Критерият е зададен в реда Критерии на полето в мрежата за проектиране на заявки.

Критерий ''Дата на поръчка''

За да включите записи, които...

Използвайте този критерий

Резултат от заявката

Съвпадат точно със стойност, например 02.02.2006 г.

#02.02.2006#

Връща записите за транзакциите, извършени на 2 февруари 2006 г. Не забравяйте да оградите стойностите за дати със знака #, за да може Access да ги различи от текстовите низове.

Не съвпадат със стойност, например 02.02.2006 г.

Not #02.02.2006#

Връща записите за транзакциите, извършени в ден, различен от 2 февруари 2006 г.

Съдържат стойностите, които са преди определена дата, например 02.02.2006 г.

< #02.02.2006#

Връща записите за транзакциите, извършени преди 2 февруари 2006 г.

За да видите транзакциите, извършени на или преди тази дата, използвайте оператора <=, вместо оператора <.

Съдържат стойностите, които са след определена дата, например 02.02.2006 г.

> #02.02.2006#

Връща записите за транзакциите, извършени след 2 февруари 2006 г.

За да видите транзакциите, извършени на или след тази дата, използвайте оператора >= вместо оператора >.

Съдържат стойностите, които попадат в зададен диапазон от дати

>#02.02.2006# and <#04.02.2006#

Връща записите, където транзакциите са извършени между 2 февруари 2006 г. и 4 февруари 2006 г.

Можете също да използвате оператора Between, за да филтрирате по обхват от стойности, включващ крайните точки. Например: Between #02.02.2006# and #04.02.2006# е еквивалентно на: >=#02.02.2006# and <=#04.02.2006#.

Съдържат стойностите, които попадат извън зададен диапазон

<#02.02.2006# or >#04.02.2006#

Връща записите, където транзакциите са извършени преди 2 февруари 2006 г. или след 4 февруари 2006 г.

Съдържат едната от две стойности, например 02.02.2006 или 03.02.2006

#02.02.2006# or #03.02.2006#

Връща записите за транзакциите, извършени на 2 февруари или на 3 февруари 2006 г.

Съдържат една от много стойности

In (#01.02.2006#, #01.03.2006#, #01.04.2006#)

Връща записите, където транзакциите са извършени на 1 февруари 2006 г., 1 март 2006 г. или 1 април 2006 г.

Съдържат дата, която попада в конкретен месец (независимо от годината), например декември

DatePart("m", [SalesDate]) = 12

Връща записите, където транзакциите са извършени през декември на всяка година.

Съдържат дата, която попада в конкретно тримесечие (независимо от годината), например първо тримесечие

DatePart("q", [SalesDate]) = 1

Връща записите, където транзакциите са извършени през първото тримесечие на всяка година.

Съдържат днешната дата

Date()

Връща записите за транзакциите, извършени в текущия ден. Ако днешната дата е 02.02.2006 г., ще видите записите, където полето "Дата на поръчка" е зададено като 2 февруари 2006 г.

Съдържат вчерашната дата

Date()-1

Връща записите за транзакциите, извършени в деня преди текущия. Ако днешната дата е 02.02.2006 г., ще видите записите за 1 февруари 2006 г.

Съдържат утрешната дата

Date() + 1

Връща записите за транзакциите, извършени в деня след текущия. Ако днешната дата е 02.02.2006 г., ще видите записите за 3 февруари 2006 г.

Съдържат датите, които попадат в текущата седмица

DatePart("ww", [SalesDate]) = DatePart("ww", Date()) and Year( [SalesDate]) = Year(Date())

Връща записите за транзакциите, извършени през текущата седмица. Седмицата започва в неделя и завършва в събота.

Съдържат датите, които попадат в предишната седмица

Year([SalesDate])* 53 + DatePart("ww", [SalesDate]) = Year(Date())* 53 + DatePart("ww", Date()) - 1

Връща записите за транзакциите, извършени през миналата седмица. Седмицата започва в неделя и завършва в събота.

Съдържат датите, които попадат в следващата седмица

Year([SalesDate])* 53+DatePart("ww", [SalesDate]) = Year(Date())* 53+DatePart("ww", Date()) + 1

Връща записите за транзакциите, които ще бъдат извършени следващата седмица. Седмицата започва в неделя и завършва в събота.

Съдържат дата, която попада в последните 7 дни

Between Date() and Date()-6

Връща записите за транзакциите, извършени през последните 7 дни. Ако днешната дата е 02.02.2006 г., ще видите записите за периода от 24 януари 2006 г. до 2 февруари 2006 г.

Съдържат дата, която се пада в текущия месец

Year([SalesDate]) = Year(Now()) And Month([SalesDate]) = Month(Now())

Връща записите за текущия месец. Ако днешната дата е 02.02.2006 г., ще видите записите за февруари 2006 г.

Съдържат дата, която се пада в предишния месец

Year([SalesDate])* 12 + DatePart("m", [SalesDate]) = Year(Date())* 12 + DatePart("m", Date()) - 1

Връща записите за предишния месец. Ако днешната дата е 02.02.2006 г., ще видите записите за януари 2006 г.

Съдържат дата, която се пада в следващия месец

Year([SalesDate])* 12 + DatePart("m", [SalesDate]) = Year(Date())* 12 + DatePart("m", Date()) + 1

Връща записите за следващия месец. Ако днешната дата е 02.02.2006 г., ще видите записите за март 2006 г.

Съдържат дата, която попада в последните 30 или 31 дни

Between Date( ) And DateAdd("M", -1, Date( ))

Всички записи за продажбите за месеца. Ако днешната дата е 02.02.2006 г., ще видите записите за периода от 2 януари 2006 г. до 2 февруари 2006 г.

Съдържат дата, която се пада в текущото тримесечие

Year([SalesDate]) = Year(Now()) And DatePart("q", Date()) = DatePart("q", Now())

Връща записите за текущото тримесечие. Ако днешната дата е 02.02.2006 г., ще видите записите за първото тримесечие на 2006 г.

Съдържат дата, която се пада в предишното тримесечие

Year([SalesDate])*4+DatePart("q",[SalesDate]) = Year(Date())*4+DatePart("q",Date())- 1

Връща записите за предишното тримесечие. Ако днешната дата е 02.02.2006 г., ще видите записите за последното тримесечие на 2005 г.

Съдържат дата, която се пада в следващото тримесечие

Year([SalesDate])*4+DatePart("q",[SalesDate]) = Year(Date())*4+DatePart("q",Date())+1

Връща записите за следващото тримесечие. Ако днешната дата е 02.02.2006 г., ще видите записите за второто тримесечие на 2006 г.

Съдържат дата, която попада в текущата година

Year([SalesDate]) = Year(Date())

Връща записите за текущата година. Ако днешната дата е 02.02.2006 г., ще видите записите за 2006 година.

Съдържат дата, която се пада в предишната година

Year([SalesDate]) = Year(Date()) - 1

Връща записите за транзакциите, извършени миналата година. Ако днешната дата е 02.02.2006 г., ще видите записите за 2005 година.

Съдържат дата, която се пада в следващата година

Year([SalesDate]) = Year(Date()) + 1

Връща записите за транзакциите с дата от следващата година. Ако днешната дата е 02.02.2006 г., ще видите записите за 2007 година.

Съдържат дата, която попада между 1 януари и днешния ден (записи от годината до днес)

Year([SalesDate]) = Year(Date()) and Month([SalesDate]) <= Month(Date()) and Day([SalesDate]) <= Day (Date())

Връща записите за транзакциите с дати, които попадат между 1 януари на текущата година и днешната дата. Ако днешната дата е 02.02.2006 г., ще видите записите за периода от 1 януари 2006 г. до 2 февруари 2006 г.

Съдържат дата от миналото

< Date()

Връща записите за транзакциите, извършени преди днешната дата.

Съдържат дата в бъдещето

> Date()

Връща записите за транзакциите, които ще бъдат извършени след днешната дата.

Филтрират стойности Null (или липсващи)

Is Null

Връща записите, където датата на транзакцията липсва.

Филтрират стойности, които не са Null

Is Not Null

Връща записите, където датата на транзакцията е известна.

Критерии за полета "Да/не"

Например, във вашата таблица "Клиенти" има поле от типа "Да/не" с име ''Активен'', което показва дали акаунтът на съответния клиент е активен към момента. Следващата таблица показва как се оценяват стойностите, въведени в реда ''Критерии'' за полето ''Да/не''.

Стойност на полето

Резултат

Да, Истина, 1 или -1

Тествано за стойност ''Да''. Стойността 1 или -1 се конвертира в "Истина" в реда ''Критерии'', след като я въведете.

Не, Неистина или 0

Тествано за стойност ''Не''. Стойността 0 се конвертира в "Неистина" в реда ''Критерии'', след като я въведете.

Няма стойност (null)

Не е тествано

Всяко число, различно от 1, -1 или 0

Няма резултати, ако това е единствената стойност на критерий в полето

Всеки низ от знаци, различни от Да, Не, Истина или Неистина

Заявката не може да се изпълни поради грешка ''Несъответствие на типове данни''

Критерии за други типове полета

Прикачени файлове    – В реда Критерии въведете Is Null, за да включите записите, които не съдържат прикачени файлове. Въведете Is Not Null, за да включите записите, които съдържат прикачени файлове.

Справочни полета    – Има два типа справочни полета: такива, които търсят стойности в съществуващ източник на данни (използвайки външен ключ), и такива, които са базирани на списък със стойности, зададени при създаването на справочното поле.

Справочните полета, които са базирани на списък със зададени стойности, са от текстов тип данни и валидните критериите са същите, както за останалите текстови полета.

Критериите, които можете да използвате в справочно поле, базирано на стойности от съществуващ източник на данни, зависят от типа на данните на външния ключ, а не от типа на данните, които се търсят. Може например да имате справочно поле, което показва името на служител, но използва външен ключ, който е от числов тип данни. Тъй като полето съхранява число, а не текст, можете да използвате критерии, които са подходящи за числа, т.е. >2.

Ако не знаете типа на данните на външния ключ, можете да проверите в таблицата източник в изгледа за проектиране, за да определите типовете на данните на полето. За да направите това:

  1. Намерете таблицата източник в навигационния екран.

  2. Отворете таблицата в изглед за проектиране по един от следните начини:

    • Щракнете върху таблицата и след това натиснете CTRL+ENTER

    • Щракнете с десния бутон върху таблицата и след това щракнете върху Изглед за проектиране.

  3. Типът на данните за всяко поле е посочен в колоната Тип на данните на мрежата за проектиране на таблици.

Многозначни полета    – Данните в едно многозначно поле се съхраняват като редове в скрита таблица, която Access създава и попълва, за да покаже полето. В изгледа за проектиране на заявки това е представено в Списък с полета с помощта на разширяемо поле. За да използвате критерии за многозначно поле, трябва да създадете критерии за един ред на скритата таблица. За да направите това:

  1. Създайте заявка, която съдържа многозначното поле, и я отворете в изглед за проектиране.

  2. Разгънете многозначното поле, като щракнете върху знака плюс (+) до него – ако полето вече е разширено, ще виждате знак минус (-). Точно под името на полето ще видите поле, което показва една стойност от многозначното поле. Това поле ще има същото име като многозначното поле, но с добавен низ . Стойност.

  3. Плъзнете многозначното поле и неговото поле с единична стойност, за да разделите колоните в мрежата за проектиране. Ако искате да виждате в резултатите само цялото многозначно поле, изчистете квадратчето за отметка Показване за полето за единична стойност.

  4. Въведете вашите критерии в реда Критерии за полето за единична стойност, като използвате критерии, които са подходящи за типа на данните, представяни от стойностите.

  5. Всяка стойност в многозначното поле ще се оценява поотделно с използване на критериите, които създавате. Може например да имате многозначно поле, което съхранява списък с числа. Ако зададете критериите >5 AND <3, съответстващи ще бъдат всички записи, където има поне една стойност, по-голяма от 5, и една стойност, по-малка от 3.

Вж. също

Въведение в заявките

Създаване на проста заявка за избиране

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.