Примери на изрази

В тази статия са дадени примери на изрази в Access. Изразът е комбинация от математически или логически оператори, константи, функции, полета на таблица, контроли и свойства, който се изчислява в една-единствена стойност. Можете да използвате изрази в Access, за да изчислявате стойности, да проверявате данни и да задавате стойност по подразбиране за поле или контрола.

Забележка : Макар че тази статия дава основните стъпки за създаване на изрази, тя не е подробно ръководство за използване на инструментите, които Access предлага за създаване на изрази. За повече информация за създаването на изрази вж. статията Създаване на израз.

В тази статия

Разбиране на изрази

Примери на изрази, използвани във формуляри и отчети

Примери на изрази, използвани в заявки и филтри

Примери на изрази за стойност по подразбиране

Примери на изрази за валидиращи правила за поле

Примери на изрази за условие на макрос

Разбиране на изрази

В Access терминът израз е синоним на формула. Изразът се състои от редица възможни елементи, които можете да използвате – самостоятелно или в съчетание – за да се получи резултат. Тези елементи включват:

  • Идентификатори – имената на полета на таблица или контроли във формуляри или отчети или свойствата на тези полета или контроли

  • Оператори, като например + (плюс) или - (минус)

  • Функции, например SUM или AVG

  • Константи – стойности, които не се променят – например низове от текст или числа, които не се изчисляват с израз.

Можете да използвате изрази по различни начини, някои от които са за извършване на изчисление, за извличане на стойността на контрола или за създаване на критерии за заявка.

За повече информация как и къде се използват изрази, вж. статията Създаване на израз.

Най-горе на страницата

Примери на изрази, използвани във формуляри и отчети

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

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

Създаване на изчисляема контрола

  1. В навигационния екран щракнете с десния бутон върху формуляра или отчета, който искате да промените, и щракнете върху Режим на проектиране Изображение на бутон в контекстното меню.

  2. Във формуляра или отчета, щракнете върху контролата на текстово поле, която искате да промените (а не върху етикета, асоцииран с текстовото поле) и след това щракнете върху Свойства в контекстното меню.

  3. Ако е необходимо, щракнете или върху раздела Всички, или върху раздела Данни. И в двата раздела е дадено свойството Източник за контролата.

  4. Щракнете върху полето до свойството Източник за контролата и въведете вашия израз. Например можете да копирате и поставите израз от колоната "Изрази" в таблицата в следващата секция.

  5. Затворете списъка със свойства.

Изрази за комбиниране или манипулиране на текст

Изразите в следващата таблица използват оператори & (амперсанд) и + (плюс), за да комбинират текстови низове, вградени функции, да манипулират текстов низ или по друг начин да работят върху текст за създаване на изчисляема контрола.

Израз

Резултат

="Няма"

Показва "Няма"

= [СобственоИме] & " " & [ФамилноИме]

Показва стойностите, които се намират в полета на таблица, наречени "СобственоИме" и "ФамилноИме". В този пример операторът & се използва за комбиниране на полето "СобственоИме", знак за интервал (ограден в кавички) и полето "ФамилноИме".

=Left([ИмеПродукт]; 1)

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

=Right([КодАктив]; 2)

Използва функцията Right, за да покаже последните 2 знака на стойността в поле или контрола, наречена "КодАктив".

=Trim([Адрес])

Използва функцията Trim, за да покаже стойността на контролата "Адрес", като премахва водещите или завършващите интервали.

=IIf(IsNull([Регион]); [Град] & " " & [ПощенскиКод]; [Град] & " " & [Регион] & " " & [ПощенскиКод])

Използва функцията IIf, за да покаже стойностите на контролите "Град" и "ПощенскиКод", ако стойността в контролата "Регион" е празна; в противен случай показва стойностите на контролите "Град", "Регион" и "ПощенскиКод", разделени с интервали.

= [Град] & (" " + [Регион]) & "" & [ПощенскиКод]

Използва оператора + и разпространение на празна стойност, за да покаже стойностите на контролите "Град" и "ПощенскиКод", ако стойността в полето или контролата "Регион" е празна; в противен случай показва стойностите на полетата или контролите "Град", "Регион" и "ПощенскиКод", разделени с интервали.

Разпространение на празна стойност означава, че ако някой компонент на израз е празна стойност, целият израз също е празна стойност. Операторът + поддържа разпространение на празна стойност; операторът & не прави това.

Изрази в горни и долни колонтитули

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

За повече информация относно използването на горни и долни колонтитули във формуляри и отчети вж. статията Вмъкване на номера на страници във формуляр или отчет.

Израз

Примерен резултат

=[Page]

1

="Страница " & [Page]

Страница 1

="Страница " & [Page] & " от " & [Pages]

Страница 1 от 3

=[Page] & " от " & [Pages] & " страници"

1 от 3 страници

=[Page] & "/" & [Pages] & " страници"

1/3 страници

=[Country/region] & " - " & [Page]

UK - 1

=Format([Page]; "000")

001

="Отпечатано на: " & Date()

Отпечатано на: 31.12.07 г.

Изрази, които изпълняват аритметични операции

Можете да използвате изрази за събиране, изваждане, умножение и деление на стойности в две или повече полета или контроли. Можете също да използвате изрази, за да извършите аритметични операции с дати. Да предположим например, че имате поле тип Date/Time в таблица, наименувано "ДатаДължима". В полето или в контролата, обвързана с полето, изразът =[КрайнаДата] - 2 връща стойност на дата/час, равна на два дни преди текущите стойности в полето "ДатаДължима".

Израз

Резултат

=[МеждиннаСума]+[Навло]

Сумата на стойностите на полетата или контролите "МеждиннаСума" и "Навло".

=[ДатаДължима]-[ДатаЕкспедиране]

Интервалът между стойностите на дата на полетата или контролите "ДатаДължима" и "ДатаЕкспедиране".

=[Цена]*1,06

Произведението на стойността на полето или контролата "Цена" и 1,06 (добавя 6 процента към стойността на "Цена").

=[Количество]*[Цена]

Произведението на стойностите на полетата или контролите "Количество" и "Цена".

=[ОбщоСлужители]/[ОбщоСтранаРегион]

Частното на стойностите на полетата или контролите "ОбщоСлужители" и "ОбщоСтранаРегион".

Забележка : Когато използвате аритметичния оператор (+, -, * и /) в израз и стойността на една от контролите в израза е празна, резултатът от целия израз ще бъде празна стойност – това е известно като разпространение на празна стойност. Ако записи в една от контролите, които използвате в израза, може да имат стойност Null, можете да избегнете разпространението на празна стойност чрез конвертиране на празната стойност в нула, като използвате функцията Nz – например =Nz([МеждиннаСума])+Nz([Навло].

За повече информация относно функцията вж. Nz функция.

Изрази, които препращат към стойности в други полета или контроли

Понякога ви е необходима стойност, която съществува някъде другаде, например в поле или контрола в друг формуляр или отчет. Можете да използвате израз, който връща стойността от друго поле или контрола.

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

Израз

Резултат

=Формуляри![Поръчки]![ИДпоръчка]

Стойността на контролата "ИДпоръчка" във формуляра "Поръчки".

=Формуляри![Поръчки]! [Подформуляр поръчки].Формуляр![Междинна СумаПоръчки]

Стойността на контролата "Междинна СумаПоръчки" в подформуляра на име "Подформуляр поръчки" на формуляра "Поръчки".

=Формуляри![Поръчки]![Подформуляр поръчки]![ИДпродукт].Column(2)

Стойността на третата колона в "ИДпродукт", списъчно поле с няколко колони в подформуляра на име "Подформуляр поръчки" на формуляра "Поръчки". (Обърнете внимание, че 0 се отнася до първата колона, 1, се отнася за втората и т.н.)

=Формуляри![Поръчки]![Подформуляр поръчки]![Цена] * 1,06

Произведението на стойността на контролата "Цена" на подформуляра на име "Подформуляр поръчки" на формуляра "Поръчки" и 1,06 (добавя 6 процента към стойността на контролата "Цена").

= Родител![ИДпоръчка]

Стойността на контролата "ИДпоръчка" в основния или родителския формуляр на текущия подформуляр.

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

За повече информация за това свойство вж. статията Свойство за отчет.

Израз

Резултат

= Отчет![Фактура]![ИДпоръчка]

Стойността на контрола, наречена "ИДпоръчка" в отчет, наречен "Фактура".

= Отчет![Резюме]![Резюме подотчет]! [ОбщоПродажби]

Стойността на контролата "ОбщоПродажби" на подотчета на име "Резюме подотчет" в отчета "Резюме".

= Родител![ИДпоръчка]

Стойността на контролата "ИДпоръчка" в основния или родителския отчет на текущия подотчет.

Изрази, които броят, сумират и усредняват стойности

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

Изразите в следващата таблица показват някои от начините за използване на функции, като Avg, Count и Sum.

Израз

Описание

=Avg([Навло])

Използва функцията Avg, за да покаже средната стойност на стойностите на поле или контрола в таблица, наречено "Навло".

=Count([ИДпоръчка])

Използва функцията Count, за да покажете броя на записите в контролата "ИДпоръчка".

=Sum([Продажби])

Използва функцията Sum, за да покаже сумата от стойностите на контролата "Продажби".

=Sum([Количество]*[Цена])

Използва функцията Sum, за да покаже сумата на произведението от стойностите на контролите "Количество" и "Цена".

=[Продажби]/Sum([Продажби])*100

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

Забележка : Ако сте задали свойството Format на контролата на Percent, не включвайте *100 в израза.

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

Изрази, които броят, сумират и търсят стойности по избор с помощта на домейнови агрегатни функции

Можете да използвате вид функция, наречена домейнова агрегатна функция, когато трябва да сумирате или преброяване стойности избирателно. Един "домейн" се състои от едно или повече полета в една или повече таблици или една или повече контроли в един или повече формуляри или отчети. Например можете да съпоставите стойностите в поле на таблица със стойности в контрола на формуляр.

Израз

Описание

=DLookup("[ИмеНаКонтакт]"; "[Доставчици]"; "[ИДдоставчик] = " & Формуляри("Доставчици")("[ИДдоставчик]"))

Използва функцията DLookup, за да върне стойността на полето "ИмеНаКонтакт" в таблицата "Доставчици", където стойността на полето "ИДдоставчик" в таблицата съвпада със стойността на контролата "ИДдоставчик" във формуляра "Доставчици".

=DLookup("[ИмеНаКонтакт]"; "[Доставчици]"; "[ИДдоставчик] = " & Формуляри![Нови доставчици]![ИДдоставчик])

Използва функцията DLookup, за да върне стойността на полето "ИмеНаКонтакт" в таблицата "Доставчици", където стойността на полето "ИДдоставчик" в таблицата съвпада със стойността на контролата "ИДдоставчик" във формуляра "Нови доставчици".

=DSum("[СумаПоръчка]"; "[Поръчки]"; "[ИДклиент] ='RATTC'")

Използва функцията DSum, за да върне общата сума на стойностите в полето "СумаПоръчка" в таблицата "Поръчки", където "ИДклиент" е RATTC.

=DCount("[Отстранен]";"[Активи]";"[Отстранен]=Да")

Използва функцията DCount, за да върне броя на стойностите "Да" в полето "Отстранен" (поле "Да/Не") в таблицата "Активи".

Изрази, които манипулират и изчисляват дати

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

Израз

Описание

=Date()

Използва функцията Date, за да покаже текущата дата, във вид "мм-дд-гг", където мм е месец (от 1 до 12), дд е ден (от 1 до 31), а гг са последните две цифри от годината (от 1980 до 2099).

=Format(Now(); "сс")

Използва функцията Format, за да покаже номера на седмицата на годината за текущата дата, където сс представлява седмици от 1 до 53.

=DatePart("гггг"; [ДатаПоръчка])

Използва функцията DatePart, за да покажете четирицифрената година от стойността на контролата за "ДатаПоръчка".

=DateAdd("г"; -10; [ОбещанаДата])

Използва функцията DateAdd за показване на дата, която е 10 дни преди стойността на контролата за "ОбещанаДата".

=DateDiff("д"; [ДатаПоръчка]; [ДатаЕкспедиране])

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

= [ДатаФактура] + 30

Използва аритметични операции с дати, за да изчисли датата 30 дни след датата на полето или контролата "ДатаФактура".

Условни изрази, които връщат една от две възможни стойности

Примерните изрази в следващата таблица използват функцията IIf, за да върнат една от две възможни стойности. Предавате на функцията IIf три аргумента: Първият аргумент е израз, който трябва да връща стойност True или False. Вторият аргумент е стойността, която трябва да се върне, ако изразът е True, а третият аргумент е стойността, която трябва да се върне, ако изразът е False.

Израз

Описание

=IIf([Потвърдена] = "Да"; "Поръчка потвърдена"; "Поръчка не потвърдена")

Използва функцията IIf (незабавно "Ако"), за да покаже съобщението "Поръчката е потвърдена", ако стойността на контролата за "Потвърдена" е Да; в противен случай показва съобщението "Поръчката не е потвърдена".

= IIf (IsNull([Страна/регион]); " "; [Страна])

Използва функциите IIf и IsNull, за да покаже празен низ, ако стойността на контролата "Страна/регион" е Null; в противен случай показва стойността на контролата "Страна/регион".

=IIf(IsNull([Регион]); [Град] & " " & [ПощенскиКод]; [Град] & " " & [Регион] & " " & [ПощенскиКод])

Използва функциите IIf и IsNull, за да покаже стойностите на контролите "Град" и "ПощенскиКод", ако стойността в контролата "Регион" е празна; в противен случай показва стойностите на полетата или контролите "Град", "Регион" и "ПощенскиКод".

=IIf(IsNull([ДатаДължима]) или IsNull([ДатаЕкспедиране]); "Проверка за липсваща дата"; [ДатаДължима] - [ДатаЕкспедиране])

Използва функциите IIf и IsNull, за да покаже съобщението "Проверка за липсваща дата", ако резултатът от изваждане на "ДатаЕкспедиране" от "ДатаДължима" е празна стойност; в противен случай показва интервала между стойностите на контролите "ДатаДължима" и "ДатаЕкспедиране".

Най-горе на страницата

Примери на изрази, използвани в заявки и филтри

Този раздел съдържа примери на изрази, които можете да използвате за създаване на изчисляемо поле в заявка, или за даване на критерии за заявка. Изчисляемото поле е колона в заявка, която дава израз в резултат. Например можете да изчислите стойност, да комбинирате текстови стойности, като например собствено и фамилно име, или да форматирате част от дата.

Можете да използвате критерии в заявка, за да ограничите записите, с които работите. Например можете да използвате оператор Between, за да дадете начална и крайна дата и да ограничите резултатите от заявката до поръчките, експедирани между тези две дати.

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

Добавяне на изчисляемо поле в режим на проектиране на заявка

  1. В навигационния екран щракнете с десния бутон върху заявката, която искате да промените, и щракнете върху Режим на проектиране в контекстното меню.

  2. Щракнете върху клетката Поле в колоната, в която искате да създадете изчисляемото поле. Можете да въведете име за полето, последвано от двоеточие, или да въведете своя израз. Ако не въведете име, Access добавя Exprn:, където n е пореден номер.

  3. Въведете своя израз.

    -или-

    В раздела Проектиране отидете в Настройка на заявката щракнете върху Конструктор, за да стартирате Конструктор на изрази.

    За повече информация за използването на конструктора на изрази вж. статията Създаване на израз.

Изрази, които манипулират текст в заявка или филтър

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

Израз

Описание

ПълноИме: [СобственоИме] & " " & [ФамилноИме]

Създава поле, наречено "ПълноИме", което показва стойностите в полетата "СобственоИме" и "ФамилноИме", разделени с интервал.

Адрес2: [Град] & " " & [Регион]) & " " & [ПощенскиКод]

Създава поле, наречено "Адрес2", което показва стойностите в полетата "Град", "Регион" и "ПощенскиКод", разделени с интервали.

ИнициалПродукт:Left([ИмеПродукт]; 1)

Създава поле, наречено "ИнициалПродукт", и след това използва функцията Left, за да покаже в полето за "ИнициалПродукт" първия знак на стойността в полето "ИмеПродукт".

КодТип: Right([КодАктив]; 2)

Създава поле, наречено "КодТип", и след това използва функцията Right, за да покаже последните два знака на стойностите в полето "КодАктив".

РегионаленКод: Mid([Телефон],2,3)

Създава поле, наречено "РегионаленКод", и след това използва функцията Mid, за да покаже трите знака, започвайки с втория знак на стойността в полето "Телефон".

Изрази, които изпълняват аритметични операции в изчисляеми полета

Можете да използвате изрази за събиране, изваждане, умножение и деление на стойности в две или повече полета или контроли. Можете да изпълнявате аритметични операции и с дати. Да предположим например, че имате поле тип Date/Time, наречено "ДатаДължима". Изразът =[КрайнаДата] - 2 връща стойност на дата/час, равна на два дни преди стойността в полето "ДатаДължима".

Израз

Описание

ОбщоНавло: [Навло] * 1,1

Създава поле, наречено "ОбщоНавло", и след това показва таксата за навло плюс 10 процента в полето.

СтойностПоръчка: [Количество] * [ЕдиничнаЦена]

Създава поле, наречено "СтойностПоръчка", а след това да показва произведението на стойностите в полетата "Количество" и "ЕдиничнаЦена".

ОставащоВреме: [ДатаДължима] - [ДатаЕкспедиране]

Създава поле, наречено "ОставащоВреме", и след това показва разликата между стойностите в полетата "ДатаДължима" и "ДатаЕкспедиране]".

ОбщаНаличност: [НаличностЕдиници]+[ПоръчаниЕдиници]

Създава поле, наречено "ОбщаНаличност", и след това показва сумата от стойностите в полетата "НаличностЕдиници" и "ПоръчаниЕдиници".

ПроцентНавло: Sum([Навло])/Sum([МеждиннаСума]) *100

Създава поле, наречено "ПроцентНавло", и след това показва процента на таксите за навло във всяка междинна сума. Този израз използва функцията Sum, за да сумира стойностите в полето "Навло", и след това разделя тези суми на сумата от стойностите в полето "МеждиннаСума".

За да използвате този израз, трябва да конвертирате вашата заявка за избиране в заявка "Общи суми", защото трябва да използвате реда Общо в мрежата за проектиране и да зададете клетката Общо за това поле на Израз.

За повече информация относно създаването на заявка "Общи суми" вж. статията Сумиране на данни с помощта на заявка.

Ако сте задали свойството Format на полето на Percent, не включвайте *100.

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

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

Почти всички бази данни съхраняват и проследяват дати и часове. Работата с дати и часове в Access извършвате чрез задаване на полета за дата и час в таблиците на данни тип Date/Time. Access може да изпълнява аритметични изчисления на дати; например можете да изчислите колко дни са изминали от датата на фактурата, за да знаете кога е срокът на вашите вземания.

Израз

Описание

ВремеЗакъснение: DateDiff("д"; [ДатаПоръчка]; [ДатаЕкспедиране])

Създава поле, наречено "ВремеЗакъснение", и след това използва функцията DateDiff, за да покаже броя на дните между дата на поръчка и дата на експедиране.

ГодинаНает: DatePart("гггг",[ДатаНаемане])

Създава поле, наречено "ГодинаНает", и след това използва функцията DatePart, за да покаже годината, в която е нает всеки служител.

МинусТрийсет: Date( )- 30

Създава поле, наречено "МинусТрийсет", и след това използва функцията Date, за да покаже датата 30 дни преди текущата дата.

Изрази, които броят, сумират и усредняват стойности с помощта на SQL или домейнови агрегатни функции

Изразите в следващата таблица, използвайте функциите на SQL (език за структурирани заявки), които агрегират, или обобщават, данните. Тези функции (например Sum, Count и Avg) по-нататък често се наричат агрегатни функции.

В допълнение към агрегатните функции, Access също предоставя "домейнови" агрегатни функции, които използвате за сумиране или преброяване на стойности избирателно. Например можете да преброите само стойностите в определен диапазон или да търсите стойност от друга таблица. Наборът от домейнови агрегатни функции включва функцията DSum, функцията DCount и функцията DAvg.

За да изчислявате общи суми, често трябва да създадете заявка "Общи суми". Например за да обобщите по групи, трябва да използвате заявка "Общи суми". За да разрешите заявка "Общи суми" от мрежата за проектиране на заявки, щракнете върху Суми в менюто Изглед.

Израз

Описание

БройРедове:Count(*)

Създава поле, наречено "БройРедове", и след това използва функцията Count, за да преброи броя на записите в заявката, включително записи с Null (празни) полета.

ПроцентНавло: Sum([Навло])/Sum([МеждиннаСума]) *100

Създава поле, наречено "ПроцентНавло", и след това изчислява процента на навло във всяка междинна сума, като дели сумата от стойностите в полето "Навло" на сумата на стойностите в полето "Междинна сума". (В този пример се използва функцията Sum.)

Забележка : Този израз трябва да използвате със заявка "Общи суми". Ако сте задали свойството Format на полето на Percent, не включвайте *100.

За повече информация относно създаването на заявка "Общи суми" вж. статията Сумиране на данни с помощта на заявка.

СредноНавло: DAvg("[Навло]"; "[Поръчки]")

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

Изрази за работа с полета с липсваща информация (полета със стойност Null)

Изразите, показани тук, работят с полета с потенциално липсваща информация, като например тези, които съдържат стойност Null (неизвестно или неопределено). Често се сблъсквате със стойности Null, например неизвестна цена за нов продукт или стойност, която колега е забравил да добави към поръчка. Възможността за търсене и обработка на стойности Null може да е важна част от операциите на базата данни, а изразите в таблицата по-долу показват някои начини да се обработват стойностите Null.

Израз

Описание

ТекущаСтранаРегион:IIf(IsNull([СтранаРегион]); " "; [СтранаРегион])

Създава поле, наречено "ТекущаСтранаРегион", и след това използва функциите IIf и IsNull, за да покаже празен низ в това поле, когато полето "СтранаРегион" съдържа стойност Null; в противен случай показва съдържанието на полето "СтранаРегион".

ОставащоВреме: IIf(IsNull([ДатаДължима] - [ДатаЕкспедиране]); "Проверка за липсваща дата"; [ДатаДължима] - [ДатаЕкспедиране])

Създава поле, наречено "ОставащоВреме", и след това използва функциите IIf и IsNull, за да покаже съобщението "Проверка за липсваща дата", ако стойността в полето "ДатаДължима" или полето "ДатаЕкспедиране" е Null; в противен случай показва разликата в датите.

ШестмесечниПродажби: NZ([ПродажбиТр1]) + Nz([ПродажбиТр2])

Създава поле, наречено "ШестмесечниПродажби", и след това показва общата сума на стойностите в полетата "ПродажбиТр1" и "ПродажбиТр2", като първо използва функцията Nz за преобразуване на всички стойности Null в нула.

Израз, който използва подзаявка, за да създаде изчисляемо поле

Можете да използвате вложена заявка, наричана още подзаявка, за да създадете изчисляемо поле. Изразът в таблицата по-долу е един пример на изчисляемо поле, което е резултат от подзаявката.

Израз

Описание

Котка: (SELECT [ИмеКатегория] FROM [Категории] WHERE [Продукти].[ИДкатегория]=[Категории].[ИДкатегория])

Създава поле, наречено "Котка", и след това показва "ИмеКатегория", ако "ИДкатегория" от таблицата "Категории" е същото като "ИДкатегория" от таблицата "Продукти".

Изрази, които дефинират критерии и ограничават записите в набора от резултати

Можете да използвате израз, за да дефинирате критерии за заявка. Access връща само тези редове, които отговарят на критериите. Стъпките в този раздел предоставят основна информация за добавянето на критерии към заявка, а таблиците в този раздел съдържат примери на критерии за съвпадащи стойности на текст и дата.

Добавяне на критерии към заявка

  1. В навигационния екран щракнете с десния бутон върху заявката, която искате да промените, и щракнете върху Режим на проектиране Изображение на бутон в контекстното меню.

  2. В реда Критерии на мрежата за проектиране щракнете върху клетката в колоната, която искате да използвате, и след това въведете критериите си.

    Ако искате по-голяма област, в която да въведете израз, натиснете SHIFT+F2, за да покажете полето за мащабиране.

    -или-

    В раздела Проектиране отидете в Настройка на заявката, щракнете върху Конструктор Изображение на бутон , за да стартирате Конструктор на изрази и да създадете своя израз.

Забележка : Когато създавате изрази, които определят критерии, не поставяйте пред израза оператор =.

За повече информация за използването на конструктора на изрази вж. статията Създаване на израз.

Изрази, които съвпадат изцяло или частично с текстови стойности

Примерните изрази в тази таблица показват критерии, които съвпадат изцяло или частично с текстови стойности.

Поле

Израз

Описание

ГрадЕкспедиране

"Лондон"

Показва поръчките, експедирани за Лондон.

ГрадЕкспедиране

"Лондон" или "Хедженд"

Използва оператора или, за да покажете поръчките, експедирани за Лондон или Хедженд.

СтранаРегионЕкспедиране

In("Канада"; "Обединеното кралство")

Използва оператора In, за да покажете поръчките, експедирани за Канада или Обединеното кралство.

СтранаРегионЕкспедиране

Not "САЩ"

Използва оператора Not, за да покаже поръчките, експедирани за страни/региони, различни от САЩ.

ИмеПродукт

Not Like "К*"

Използва оператора Not и заместващия символ *, за да покаже продуктите, чиито имена не започват с К.

ИмеФирма

>="Н"

Показва поръчките, експедирани за фирми, чиито имена започват с буквите от Н до Я.

КодПродукт

Right([КодПродукт]; 2) = "99"

Използва функцията Right, за да покаже поръчки със стойности на "КодПродукт", които завършват с 99.

ИмеЕкспедиране

Like "С*"

Показва поръчките, експедирани за фирми, чиито имена започват с буквата С.

Изрази, които използват дати в съответстващи критерии

Изразите в таблицата по-долу илюстрират използването на дати и свързани функции в изрази на критерии.

За повече информация за въвеждане и използване на стойности на дати вж. статията Въвеждане на стойност на дата или час. За информация относно използването на функции в тези примерни изрази щракнете върху връзките към различни теми за функции.

Поле

Израз

Описание

ДатаЕкспедиране

#2.2.2007#

Показва поръчките, експедирани на 2 февруари 2007 г.

ДатаЕкспедиране

Date()

Показва поръчките, експедирани днес.

ДатаДължима

Between Date( ) And DateAdd("m"; 3; Date( ))

Използва оператора Between...And и функциите DateAdd и Date, за да покаже поръчки, дължими между днешната дата и три месеца след днешната дата.

ДатаПоръчка

< Date( ) - 30

Използва функцията Date, за да покаже поръчки, по-стари от 30 дни.

ДатаПоръчка

Година([ДатаПоръчка]) = 2007

Използва функцията Година, за да покаже поръчки с дати на поръчка през 2007 г.

ДатаПоръчка

DatePart("т"; [ДатаПоръчка])=4

Използва функцията DatePart, за да покаже поръчки за четвъртото календарно тримесечие.

ДатаПоръчка

DateSerial(Year ([ДатаПоръчка]); Месец([ДатаПоръчка]) + 1; 1)-1

Използва функциите DateSerial, Year и Month, за да покаже поръчките за последния ден на всеки месец.

ДатаПоръчка

Year([ДатаПоръчка])= Year(Now()) And Month([ДатаПоръчка])= Month(Now())

Използва функциите Year и Month функции и оператора And, за да покаже поръчки за текущата година и месец.

ДатаЕкспедиране

Between #5.1.2007# And #10.1.2007#

Използва оператора Between...And, за да покаже поръчките, експедирани не по-рано от 5 януари 2007 г. и не по-късно от 10 януари 2007 г.

ДатаДължима

Between Date( ) And DateAdd("M"; 3; Date( ))

Използва оператора Between...And, за да покаже поръчки, дължими между днешната дата и три месеца след днешната дата.

ДатаРаждане

Month([ДатаРаждане])=Month(Date())

Използва функциите Month и Date, за да покаже служителите, които имат дати на раждане през този месец.

Изрази, които отговарят на липсваща стойност (Null) или низ с нулева дължина

Изразите в следващата таблица работят с полета, в които имат потенциално липсваща информация – тези, които може да съдържат стойност Null или низове с нулева дължина. Стойност Null представлява липсата на информация; тя не представлява нито нула, нито каквато и да било стойност. Access поддържа тази идея на липсваща информация, тъй като концепцията е жизнено важна за целостта на базата данни. В реалния свят информация често липсва, дори и ако е само временно (например като все още неопределена цена за нов продукт). Следователно, базата данни, която моделира обект от реалния свят, като например фирма, трябва да може да записва информацията като липсваща. Можете да използвате функцията IsNull, за да определите дали едно поле или контрола съдържат стойност Null, и да използвате функцията Nz, за да конвертирате стойност Null в нула.

Поле

Израз

Описание

РегионЕкспедиция

Is Null

Показва поръчките за клиенти, чиито поле "РегионЕкспедиция" е Null (липсва).

РегионЕкспедиция

Is Not Null

Показва поръчките за клиенти, чиито поле "РегионЕкспедиция" съдържа стойност.

Факс

""

Показва поръчките за клиенти, които нямат факс, зададено с низ със стойност с нулева дължина в полето "Факс", а не стойност Null (липсва).

Изрази, които използват модели за съпоставяне на записи

Операторът Like предоставя голяма гъвкавост, когато се опитвате да съпоставяте редове, които следват даден модел, защото можете да използвате Like със заместващи символи и да дефинирате модели, които Access съпоставя. Например заместващ символ * (звездичка) съответства на поредица от знаци от всякакъв тип и прави лесно намирането на всички имена, които започват с дадена буква. Например можете да използвате израз Like "С*", за да намерите всички имена, които започват с буквата С.

За повече информация вж. статията Оператор Like.

Поле

Израз

Описание

ИмеЕкспедиране

Like "С*"

Намира всички данни в полето "ИмеЕкспедиране", които започват с буквата С.

ИмеЕкспедиране

Like "*импорт"

Намира всички данни в полето "ИмеЕкспедиране", които завършват с думата "импорт".

ИмеЕкспедиране

Like "[А-Д]*"

Намира всички данни в полето "ИмеЕкспедиране", които започват с буквите А, Б, В, Г или Д.

ИмеЕкспедиране

Like "*ар*"

Намира всички данни в полето "ИмеЕкспедиране", които съдържат поредицата от букви "ар".

ИмеЕкспедиране

Like "Maison Dewe?"

Намира всички данни в полето "ИмеЕкспедиране", които включват "Maison" в първата част на стойността и петбуквен низ, в който първите четири букви са "Dewe", а последната буква е неизвестна.

ИмеЕкспедиране

Not Like "А*"

Намира всички данни в полето "ИмеЕкспедиране", които не започват с буквата А.

Изрази, които съответстват на редове въз основа на резултата от домейнова агрегатна функция

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

Поле

Израз

Описание

Навло

> (DStDev("[Навло]"; "Поръчки") + DAvg("[Навло]"; "Поръчки"))

Използва функциите DStDev и DAvg, за да покаже всички поръчки, за които стойността на навлото се е покачила над средната стойност, плюс стандартното отклонение за стойност на навлото.

Количество

> DAvg("[Количество]"; "[Подробни данни за поръчка]")

Използва функцията DAvg, за да покаже продукти, които са поръчани в количества над средното количество за поръчка.

Изрази, които съответстват на условията на базата на резултатите от подзаявки

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

Поле

Израз

Показва

ЕдиничнаЦена

(SELECT [ЕдиничнаЦена] FROM [Продукти] WHERE [ИмеПродукт] = "Анасонов сироп")

Продукти, чиято цена е същата като цената на "Анасонов сироп".

ЕдиничнаЦена

>(SELECT AVG([ЕдиничнаЦена]) FROM [Продукти])

Продукти, чиято единична цена е над средната.

Заплата

> ALL (SELECT [Заплата] FROM [Служители] WHERE ([Длъжност] LIKE "*Директор*") OR ([Длъжност] LIKE "*Вицепрезидент*"))

Заплатата на всеки търговски представител, чиято заплата е по-висока от тази на всички служители, в чиято длъжност има "Директор" или "Вицепрезидент".

ОбщоПоръчка: [Единична цена] * [Количество]

> (SELECT AVG([Единична цена] * [Количество]) FROM [Подробни данни за поръчка])

Поръчки с общи суми, които са по-високи от средна стойност на поръчка.

Изрази за използване в заявките за актуализиране

Можете да използвате заявка за актуализиране, за да промените данните в едно или повече съществуващи полета в база данни. Например можете да замествате стойности или да ги изтриете завинаги. Тази таблица показва някои начини за използване на изрази в заявки за актуализиране. Можете да използвате тези изрази в реда Update To в мрежата за проектиране на заявки за полето, което искате да актуализирате.

За повече информация за създаване на заявки за актуализиране вж. статията Създаване и изпълнение на заявка за актуализиране.

Поле

Израз

Резултат

Длъжност

"Продавач"

Променя текстова стойност на "Продавач".

СтартПроект

#10.08.07#

Променя стойността на датата на 10-авг-07.

Отстранен

Да

Променя стойността "Не" на "Да" в поле от тип "Да/не".

НомерЧаст

"НЧ" & [НомерЧаст]

Добавя "НЧ" в началото на всеки зададен номер на част.

ОбщоЕлементиЛиния

[ЕдиничнаЦена] * [Количество]

Изчислява произведението на "ЕдиничнаЦена" и "Количество".

Навло

[Навло] * 1,5

Увеличава таксите за навло с 50 процента.

Продажби

DSum("[Количество] * [ЕдиничнаЦена]";
"Подробни данни за поръчка"; "[ИДпродукт]=" & [ИДпродукт])

Когато стойностите на "ИДпродукт" в текущата таблица съвпадат със стойностите на "ИДпродукт" в таблицата "Подробни данни за поръчка", актуализира общите суми на продажби въз основа на произведението на колоните "Количество" и "ЕдиничнаЦена".

ПощенскиКодЕкспедиция

Right([ПощенскиКодЕкспедиция]; 5)

Отрязва най-левите знаци, като оставя петте най-десни знака.

ЕдиничнаЦена

NZ([ЕдиничнаЦена])

Променя стойност Null (неизвестна или неопределена) на нула (0) в полето "ЕдиничнаЦена".

Изрази, използвани в SQL команди

Език за структурирани заявки, или SQL, е езикът на заявките, използван от Access. Всяка заявка, която създавате в режим на проектиране на заявки, може да се изрази и с помощта на SQL. За да видите SQL командата за всяка заявка, щракнете върху SQL изглед на менюто Изглед. Следващата таблица показва примерни SQL команди, които използват израз.

SQL команда, която използва израз

Резултат

SELECT [СобственоИме];[ФамилноИме] FROM [Служители] WHERE [ФамилноИме]="Христов"

Показва стойностите в полетата "СобственоИме" и "ФамилноИме" за служителите, чиито фамилно име е Христов.

SELECT [ИДпродукт],[ИмеПродукт] FROM [Продукти] WHERE [ИДкатегория]=Формуляри![Нови продукти]![ИДкатегория];

Показва стойностите в полетата "ИДпродукт" и "ИмеПродукт" в таблицата "Продукти" за записи, в които стойността "ИДкатегория" съответства на стойността "ИДкатегория", зададена в отворен формуляр "Нови продукти".

SELECT Avg([РазширенаЦена]) AS [Средна разширена цена] FROM [Разширени подробни данни за поръчка] WHERE [РазширенаЦена]>1000;

Изчислява средната разширена цена на поръчки, за които стойността в полето "РазширенаЦена" е над 1000, и го показва в поле, наречено "Средна разширена цена".

SELECT [ИДкатегория]; Count([ИДпродукт]) AS [БройИДпродукти] FROM [Продукти] GROUP BY [ИДкатегория] HAVING Count([ИДпродукт])>10;

В поле с име "БройИДпродукти" показва общия брой продукти за категории продукти с повече от 10 продукта.

Най-горе на страницата

Примери на изрази за стойност по подразбиране

Когато проектирате база данни, можете да присвоите стойност по подразбиране на поле или контрола. След това Access поставя стойността по подразбиране, когато се създава нов запис, съдържащ полето, или се създава обект, съдържащ контролата. Изразите в таблицата по-долу представят примерните стойности по подразбиране за поле или контрола.

Добавяне на стойност по подразбиране за поле в таблица

  1. В навигационния екран щракнете с десния бутон върху таблицата, която искате да промените, и щракнете върху Режим на проектиране в контекстното меню.

  2. Щракнете върху полето, което искате да промените, и в раздела Общи щракнете върху полето за свойство Стойност по подразбиране.

  3. Въведете израза или щракнете върху бутона Изграждане Бутон на конструктор вдясно от полето за свойство, за да създадете израз с помощта на конструктора на изрази.

Ако има контрола, обвързана с поле в таблица, и полето има стойност по подразбиране, стойността по подразбиране на контролата има приоритет.

Поле

Израз

Стойност на поле по подразбиране

Количество

1

1

Регион

"MT"

MT

Регион

"Ню Йорк, Ню Йорк"

Ню Йорк, Ню Йорк (Обърнете внимание, че трябва да оградите стойността в кавички, ако включва пунктуация.)

Факс

""

Низ с нулева дължина показва, че по подразбиране това поле трябва да е празно, а не да съдържа стойност Null

Дата на поръчка

Date( )

Днешна дата

КраенСрок

Date() + 60

Датата след 60 дни, считано от днес

Най-горе на страницата

Примери на изрази за валидиращи правила за поле

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

Добавяне на валидиращо правило към поле

  1. В навигационния екран щракнете с десния бутон върху таблицата, която искате да промените, и щракнете върху Режим на проектиране в контекстното меню.

  2. Щракнете върху полето, което искате да промените.

  3. Щракнете върху полето за свойство Валидиращо правило, което се намира в долния край на конструктора на таблици.

  4. Въведете израза или щракнете върху бутона Изграждане Бутон на конструктор вдясно от полето за свойство, за да създадете израз с помощта на конструктора на изрази.

    Забележка : Не поставяйте пред израза оператора =, когато създавате валидиращо правило.

Примерите в таблицата по-долу демонстрират изразите за валидиращото правило за свойството ВалидиращоПравило и свързания с него текст за свойството ВалидиращТекст.

Свойство ВалидиращоПравило

Свойство ВалидиращТекст

<> 0

Моля, въведете ненулева стойност.

0 Or > 100

Стойността трябва да бъде или 0, или по-голяма от 100.

Like "K???"

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

< #1.1.2007#

Въведете дата преди 1.1.2007 г.

>= #1.1.2007# And < #1.1.2008#

Датата трябва да е през 2007 г.

За повече информация за валидиране на данни вж. статията Създаване на валидиращо правило за проверка на данни в поле.

Най-горе на страницата

Примери на изрази за условие на макрос

В някои случаи може да искате да извършите действие или последователност от действия в макрос само ако е изпълнено определено условие. Нека например да искате една макрокоманда да се изпълнява само когато стойността в текстовото поле "Брояч" е 10. За да зададете това правило, използвайте израз, за да дефинирате условието в колоната Условие на макроса: [Брояч]=10.

Добавяне на условие за макрокоманда

  1. В навигационния екран щракнете с десния бутон върху макроса, който искате да промените, и щракнете върху Режим на проектиране в контекстното меню.

  2. Ако не виждате колоната Условие в конструктора на макроси, в раздела Проектиране, в групата Покажи/скрий щракнете върху Условия.

  3. Щракнете върху клетката Условие клетка за макрокомандата, която искате да промените, а след това въведете вашия условен израз.

  4. Запишете промените и затворете макроса.

Както при свойството ВалидиращоПравило, изразът в колоната Условие е условен израз. Той трябва да се изчислява на стойност True или False. Действието се извършва само когато условието е True.

Използвайте този израз, за да изпълните действието

If

[Град]="Париж"

"Париж" е стойността на "Град" в полето на формуляра, от който е изпълнен макросът.

DCount("[ИДпоръчка]", "Поръчка") > 35

Има повече от 35 записа в полето "ИДпоръчка" на таблицата "Поръчки".

DCount("*"; "[Подробни данни за поръчка]"; "[ИДпоръчка]=" & Формуляри![Поръчка]![ИДпоръчка]) > 3

Има повече от три записа в таблицата "Подробни данни за поръчка", за които полето "ИДпоръчка" на таблицата съвпада с полето "ИДпоръчка" във формуляра "Поръчки".

[ДатаЕкспедиране] Between #2-фев-2007# и #2-мар-2007#

Стойността на полето "ДатаЕкспедиране" във формуляра, от който се изпълнява макросът, е не по-стара от 2-фев-2007 и не по-късна от 2-мар-2007.

Формуляри! [Продукти]! ["НаличностЕдиници"]< 5

Стойността на полето "НаличностЕдиници" във формуляра "Продукти" е по-малко от 5.

IsNull([СобственоИме])

Стойността "СобственоИме" във формуляра, от който се изпълнява макросът, е Null (няма стойност). Този израз е еквивалентен на [СобственоИме] Is Null.

[СтранаРегион] = "Обединеното кралство" и Формуляри! [ОбщоПродажби]! [ОбщоПоръчки] > 100

Стойността в полето "СтранаРегион" във формуляра, от който се изпълнява макросът, е "Обединеното кралство" и стойността на полето "ОбщоПоръчки" във формуляра "ОбщоПродажби" е по-голяма от 100.

[СтранаРегион] In ("Франция", "Италия", "Испания") и Len([ПощенскиКод])<>5

Стойността в полето "СтранаРегион" във формуляра, от който се изпълнява макросът, е "Франция", "Италия" или "Испания" и пощенският код не е дълъг 5 знака.

MsgBox("Потвърждаване на промените?";1)=1

Щракнете върху OK в диалогов прозорец, който показва функцията MsgBox. Ако щракнете върху Отказ в диалоговия прозорец, Access игнорира действието.

Забележка : За да накарате Access временно да игнорира действие, въведете False като условие. Принуждаването Access временно да игнорира действие може да е полезно, когато се опитвате да намерите проблеми в макрос.

Най-горе на страницата

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×