Tooprogram.ru

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Access построитель выражений примеры

Построение выражений в Access

В Access выражения используются тогда, когда надо выполнить одно из следующих действий:

· Вычислить значения, не содержащиеся в данных в явном виде. Можно вычислить значения для полей таблицы, запросов и элементов управления в форме или отчете.

· Задать значение по умолчанию для поля таблицы или элемента управления в форме или отчете. Значения по умолчанию отображаются при открытии таблицы, формы или отчета.

· Задать условие на значение. Условия на значение контролируют значения, которые могут быть введены в поле или элемент управления.

· Задать условие отбора в запросе.

Каждое выражение может содержать один или несколько операторов и одну или несколько констант, идентификаторов или функций. Выражение может быть сколь угодно сложным.

Константы — характеризуют неизменные значения. Их часто используют для создания значений по умолчанию и для сравнения значений в полях таблиц. Значения констант определяются пользователем при вводе выражения. (Например, 09, страна фирмы изготовителя Швеция.)

Идентификаторы — это имена объектов в Access (например, полей таблиц или запросов), которые при вычислении выражений заменяются их текущими значениями (для определения этой операции обычно используется термин возвращают). Например, идентификатор имени поля [Household Inventory] в выражении возвращает значение поля Household Inventory из текущей выделенной записи. Именованные константы и переменные, применяемые в программах Visual Basic для приложений (VBA), тоже являются идентификаторами. Существует несколько встроенных именованных констант, служащих идентификаторами: True, False, Yes, No, Null.

Если имя поля или таблицы содержит пробелы, его идентификатор обязан в выражении заключаться в квадратные скобки. Чтобы упростить ввод идентификаторов, рекомендуется не использовать пробелы в названиях таблиц, полей в таблицах и названиях других объектов Access.

Функции возвращают в выражение значение вместо имени функции. В отличие от идентификаторов, большинство функций требуют заключать в скобки свои-аргументы — идентификаторы или значения подвыражений. Например, функция Date (), имеющая пустой список аргументов, возвращает текущую дату.

Операторы — обычные значки арифметических операций (+, -, *, /) и другие символы и аббревиатуры. Большинство из них эквивалентны операторам традиционных языков программирования типа Basic. Некоторые — специфичны для Access или SQL, например Between или Like. Используемые в операции константы, идентификаторы и функции называются операндами.

Для создания выражений в Access существует шесть категорий операторов: арифметические, операторы присваивания, логические операторы, операторы конкатенации, идентификации и сравнения с образцом.

Таблица 5. Арифметические операторы

ОператорПримерОписание
+[Итог] + [Надбавка]Складывает два операнда
Date () — 7Считает разность двух операндов
— (унарный)-12345Меняет знак операнда
*[Коробок] * [Цена коробки]Перемножает два операнда
/[Количество] / 12.55Делит один операнд на другой
Делит один целый операнд на другой нацело. При использовании деления нацело операнды с десятичными дробями округляются до целого, а дробные части отбрасываются[Коробок] 2
Mod[Коробок] Mod 12Возвращает остаток от деления нацело. Например, 15 Mod 12 равно 3
^Возводит операнд Основание в степень Показатель^ [Показатель]

Таблица 6. Операторы сравнения

ОператорПримерРезультатОписание
=100 >= 1TrueБольше либо равно
>100 > 100FalseБольше
<>1 <> 100TrueНеравно

Логические (булевы) операторы используются для объединения результатов двух или более выражений сравнения в единое целое:

And — конъюнкции (логического И);

Or — дизъюнкции (логического ИЛИ);

Not — логического отрицания;

Хог — исключающего ИЛИ;

Eqv — логической эквивалентности;

Imp — логической импликации.

Они могут состоять только из выражений, возвращающих логические значения True, False или Null.

Таблица 7. Зависимость значения логических операторов от значения операндов

A=True B=FalseA=True B=TrueA=False B=FalseA=False B=True
A And ВFalseTrueFalseFalse
A Or ВTrueTrueFalseTrue
Not AFalseFalseTrueTrue
А Хог ВTrueFalseFalseTrue
A Eqv ВFalseTrueTrueFalse
A Imp ВFalseTrueTrueTrue

Операторы слияния строковых значений (конкатенации)

Стандартный значок оператора конкатенации SQL, амперсант (&), является более предпочтительным, чем значок плюса (+), хотя оба они приводят к одинаковому результату: объединению двух текстовых значений в единую строку символов. Применение значка плюс (+) двусмысленно, его основное назначение — сложение двух числовых операндов.

Пример: слияние «Visual » & «Basic» дает «Visual Basic». Обратите внимание на дополнительный пробел в первом слове, без него результат выглядел бы несколько иначе: «VisualBasic».

Операторы сравнения с образцом

Таблица 8. Операторы сравнения с образцом

ОператорПримерОписание
BetweenBetween (-100) And (100)Определяет, находится ли числовое значение в определенном диапазоне значений
IsIs Null Is Not NullПри использовании вместе с Null определяет, является ли значение Null или Not Null
InIn («Москва», «Киев», «Санкт-Петербург»)Определяет, является ли строковое значение элементом списка значений
LikeLike «Ив*» Like «db??»Определяет, начинается ли строковое значение с указанных символов (для правильной работы Like нужно добавить символ шаблона «*» или один или несколько символов «?»)
Читать еще:  Базы данных access видео уроки

Символ «*» замещает любое число знаков, а символ шаблона «?» замещает только один знак, поэтому Like «Ив*» вернет True для значений «Иванов», «Иващенко», «Иволгин». Для «dbl» или «dbl00» значение оператора Like «db??» будет False, но тот же оператор вернет для «dbl0» и «dbXX» значение True. Символы шаблона «*» и «?» могут стоять в любом месте шаблонной строки.

Вопросы для самоконтроля:

1. Когда в Access используются выражения?

2. Что такое константы?

3. Что такое идентификаторы?

4 Что такое операторы?

5.Перечислите категории операторов, используемых для создания выражений в Access.

Дата добавления: 2014-11-06 ; Просмотров: 4803 ; Нарушение авторских прав?

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Примеры выражений

В этой статье приведено множество примеров выражений Access. Выражение — это сочетание математических или логических операторов, констант, функций, полей таблицы, элементов управления и свойств, результатом вычисления которого является одно значение. Выражения применяются для вычисления значений, проверки данных и задания значений по умолчанию.

Формы и отчеты

Таблицы, приведенные в этом разделе, содержат примеры выражений, вычисляющих значение в элементе управления в форме или отчете. Чтобы создать вычисляемый элемент управления, введите выражение в свойство Данные элемента управления, а не в поле таблицы или запроса.

Примечание Выражения также можно использовать в формах или отчетах при выделении данных с помощью условного форматирования.

Операции с текстом

В выражениях, приведенных в таблице ниже, используются операторы & (амперсанд) и + (плюс) для объединения текстовых строк, а также встроенные функции для обработки текстовых строк или выполнения с ними других действий с целью создания вычисляемого элемента управления.

Отображает результат N/A.

Отображает значения, хранящиеся в полях таблицы FirstName и LastName. В данном примере оператор & используется для объединения значения в поле «Имя», пробела (заключенного в кавычки) и значения в поле «Фамилия».

Функция Left используется для отображения первого знака в значении поля или элемента управления ProductName.

Функция Right используется для отображения последних двух знаков в значении поля или элемента управления AssetCode.

Функция Trim используется для отображения значения в элементе управления Address и удаления всех пробелов в начале или конце строки.

=IIf(IsNull([Region]), [City] & » » & [PostalCode], [City] & » » & [Region] & » » & [PostalCode])

Функция IIf используется для отображения значений элементов управления City и PostalCode, если элемент управления Region имеет пустое значение; в противном случае отображаются значения в элементах управления City, Region и PostalCode, разделенные пробелами.

=[City] & (» » + [Region]) & » » & [PostalCode]

Оператор + и распространение значений Null используются для отображения значений в элементах управления «Город» и «Индекс», если элемент управления или поле «Область» имеет значение Null; в противном случае отображаются значения в элементах управления или полях «Город», «Область» и «Индекс», разделенные пробелами.

Распространение значений Null означает, что если хотя бы один компонент выражения возвращает значение Null, то и все выражение также возвращает Null. Оператор + поддерживает распространение значений Null, а оператор & — нет.

Колонтитулы

Для отображения или печати номеров страниц в отчетах или формах используются свойства Page и Pages. Свойства Page и Pages доступны только во время печати или предварительного просмотра, поэтому они не отображаются на странице свойств формы или отчета. Обычно эти свойства используются путем перемещения текстового поля в область верхнего или нижнего колонтитула в форме или отчете и применения выражения, например из приведенной ниже таблицы.

Дополнительные сведения об использовании колонтитулов в формах и отчетах см. в статье Вставка номеров страниц в форму или отчет.

Построитель выражений в Access 2010

Технический уровень : Базовый

Практический пример использования Построителя выражений в Access 2010

Построитель выражений

Построитель выражений предназначен для создания выражений. Запустить Построитель выражений можно практически из любого места в приложении Microsoft Access, где требуется создание выражений. В таблицах и полях, в запросах, в свойствах форм и отчётов, в элементах управления, запросах и макросах — во всех этих элементах используются выражения для вычислений с данными и управления поведением приложения. Построитель выражений предоставляет простой доступ к именам полей и элементам управления в базе данных, а также ко многим встроенным функциям, доступным при написании выражений. С помощью Построителя выражений можно как создавать выражения с нуля, так и выбирать готовые выражения для вывода, например, номеров страниц, текущей даты или даты и времени.

Читать еще:  Оформление слайдов в powerpoint

В Access 2010 Построитель выражений претерпел существенные изменения. Усовершенствованный Построитель выражений позволяет создавать выражения быстрее и с меньшим количеством ошибок:

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

Кроме того, новый пользовательский интерфейс поддерживает прогрессивное раскрытие, т. е. отображение только функций и свойств, существующих в определенном контексте. В предыдущих версиях Microsoft Access для всех контекстов, в которых использовалось выражение, применялся единый общий вычислитель выражений. Это означает, что независимо от того, где используется выражение, доступные пользователю функции и операторы будут в большинстве случаев одни и те же. В Access 2010 Построитель выражений является контекстно-зависимым. Также обратите внимание, что кнопки операторов исчезли. Операторы теперь доступны на панели «Элементы выражений». Все эти изменения позволяют не загромождать интерфейс, предоставить пользователям более осмысленный выбор и увеличить область редактирования.

В конструкторе макросов и других местах Access 2010, где необходимо создавать выражения, по щелчку значка:

открывается Построитель выражений.

Рассмотрим использование Построителя выражений для оператора ЕСЛИ с условием от 50 до 100 Примера, для чего вводим букву Т и из раскрывшегося списка выбираем Товары:

ставим точку и вновь из раскрывшегося списка выбираем Количество:

Для ввода нашего условия «от 50 до 100», выбираем и вставляем оператор сравнения Between (между) двойным кликом левой лапки мышки, в результате получим:

в поля «Выражение» вводим значения нашего условия — 50 и 100 соответственно:

Нажав кнопку «ОК«, в строке «ЕСЛИ» мы увидим введённую нами формулу с условием если количество Товара между 50 и 100, то сработает ветвь оператора ЕСЛИ:

Дополнительные сведения о выражениях и о работе с Построителем выражений можно найти в справке к Access 2010.

Лекция 6 Тема: Запросы. Вычисления и групповые операциию

6.1. Вычисляемые поля.

6.2. Создание выражений с помощью Построителя выражений.

6.3. Обзор встроенных функций СУБД MS Access.

6.4. Итоговые запросы.

6.5. Перекрестные запросы.

Очень часто при формировании набора записей требуется произвести вычисления над данными (определить возраст сотрудника, стоимость заказа, процент от продаж, выделить часть номенклатурного кода и т. п., т. е. вывести информацию, которая не хранится в базе данных) или выполнить определенные операции по непосредственной обработке отбираемых данных.

В QBE СУБД MS Access такие возможности предоставляются через вычисляемые поля и групповые операции.

6.1. Вычисляемые поля

Вычисляемое поле представляет собой выражение, состоящее из операторов (арифметических, сравнения, логических, конкатенации) и операндов. В качестве операндов могут быть использованы константы, встроенные или определенные пользователем функции и идентификаторы, например

Стоимость: Товары! Цена * Количество * (1-Скидка)

КоличествоМужчин: Sum(IIf(Пол = «м»; 1; 0))

Стоимость, КоличествоМужчин и ФИО являются именами вычисляемых полей и отображаются в режиме таблицы в заголовке столбца, символ двоеточие исполняет роль разделителя между именем вычисляемого поля и выражением.

Если имя таблицы или поля содержит пробелы, то его идентификатор обязан в выражении заключаться в квадратные скобки, например

Стоимость: Цена*[Количество товара]

Вычисляемое поле создается прямо в бланке QBE путем внесения выражения в ячейку Поле любого свободного столбца. Результаты вычислений, выводящиеся в поле, не запоминаются в базовой таблице. Вычисления снова производятся всякий раз, когда выполняется запрос, поэтому результаты всегда представляют текущее содержимое базы данных.

Обновить вычисленные результаты вручную невозможно.

Для построения сложных выражений в СУБД MS Access входит утилита, называемая Построитель выражений.

6.2. Создание выражений с помощью Построителя выражений

Построитель выражений можно запустить щелкнув по клавише Построить на панели инструментов Конструктор запросов или выбрав в контекстном меню поля бланка запроса QBE команду меню Построить….

Рис.6.1. Диалоговое окно Построитель выражений

Рис.6.2. Диалоговое окно Построителя выражений
со сформированным выражением

6.3. Обзор встроенных функций СУБД MS Access

СУБД MS Access содержит более 100 встроенных функций (рис.6.3), которые можно использовать при формировании вычисляемого поля или при задании условия отбора.

Рис.6.3. Диалоговое окно Построителя выражений
со списком встроенных функций

Все встроенные функции в Построителе выражений сгруппированы по функциональному назначению.

При выборе функции в правом окне построителя, в нижней области окна Построителя выражений отображается синтаксис этой функции. Для более детальной справки необходимо щелкнуть по клавише Справка.

Обзор всех встроенных функций выходит за рамки лекции, поэтому рассмотрим наиболее используемые.

Таблица 6.1

Функции категории Дата/время

Читать еще:  База данных больница access

Возвращает значение дня месяца от 1 до 31

Возвращает значение месяца от 1 до 12

Возвращает название месяца соответствующего номеру месяца: 1 – январь, 2 – февраль, и т. д. Если значение аргумента флаг Истина, то функция возвращает аббревиатуру месяца: 1 – янв, 2 – фев и т. д.

Возвращает значение года от 100 до 9999

Если аргумент число не указан, возвращает значение дня недели от 1 (воскресенье) до 7 (суббота). Если аргумент число имеет значение 0, то возвращает значение дня недели от 1 (понедельник) до 7 (воскресенье)

Возвращает целое число от 0 од 23, представляющее значение часа

Возвращает числовое значение в зависимости от значения аргумента интервал:

«q» – квартал (от 1 до 4);

«m» – месяц (от 1 до 12);

«yyyy» – год (от 100 до 9999);

«ww» – неделя (от 1 до 53);

и т. п. (см. справку по функции).

Возвращает текущую системную дату

Функции категории Проверка

Возвращает значение Истина если значение переменной (значение поля в источнике данных) равно Null

Возвращает значение Истина если значение переменной (значение поля в источнике данных) имеет один из числовых типов данных

Функции категории Управление

IIf(условие; выр1; выр2)

Возвращает значение выражения выр1 если значение аргумента условие Истина и возвращает значение выражения выр2 если значение аргумента условие Ложь. Данная функция аналогична функции ЕСЛИ в MS Excel.

Продолжение таблицы 6.1

Функции категории Текстовые

Возвращает n левых символов аргумента текст

Возвращает n правых символов аргумента текст

Mid(текст; нач_поз[; n])

Возвращает n символов начиная с позиции нач_поз аргумента текст. Если аргумент n не указан, то возвращает все символы до конца строки начиная с позиции нач_поз аргумента текст.

Возвращает количество символов (длину строки) в аргументе текст

Возвращает строковое значение аргумента текст без начальных пробелов

Возвращает строковое значение аргумента текст без заключительных пробелов

Возвращает строковое значение аргумента текст без начальных и заключительных пробелов

Возвращает строковое значение аргумента число

Возвращает значение аргумента переменная в формате заданным аргументом формат

6.3. Итоговые запросы

При анализе данных очень часто интересуют не отдельные записи, а итоговые значения по группам данных, например:

— количество сделок с Партнерами за определенный промежуток времени;

— средний объем продаж по каждому месяцу за предыдущий год.

Ответы на такие вопросы дает итоговый запрос.

Для вычисления итоговых значений необходимо нажать кнопку Групповые операции на панели инструментов Конструктор запросов, чтобы в бланке QBE появилась строка Групповая операция (после имени таблицы).

По умолчанию для каждого поля, занесенного в бланк запроса, устанавливается значение Группировка (итоги не подводятся).

Для подведения итогов необходимо заменить установку Группировка на конкретную итоговую функцию. В СУБД MS Access предусмотрено 9 функций (табл. 6.2), обеспечивающих выполнение групповых операций.

Таблица 6.2

Функции категории Статистические

Возвращает сумму набора значений

Возвращает среднее арифметическое набора значений

Возвращает наименьшее значение из набора значений

Возвращает наибольшее значение из набора значений

Возвращает количество записей в наборе значений отличных от Null

Возвращает первое значение поля в группе

Возвращает последнее значение поля в группе

Возвращает среднеквадратичное отклонение набора значений

Возвращает дисперсию набора значений

В раскрывающемся списке строки Групповая операция имеется установка Выражение. Данная установка применяется, когда в выражении (строка Поле) используется несколько итоговых функций.

В раскрывающемся списке строки Групповая операция имеется установка Условие. Данная установка применяется, когда в строке Условие отбора записано условие выборки, но данные столбца (поля) не должны участвовать в групповой операции.

Для решения более сложных статистических задач в СУБД MS Access предусмотрен специальный тип запроса – перекрестный запросов.

6.4. Перекрестные запросы

Перекрестный запрос – это специальный тип группового запроса, в котором отражаются результаты статистических расчетов по значению одного поля таблицы.

Для построения перекрестного запроса достаточно трех полей базового источника. По повторяющимся значениям одного поля формируются названия заголовков строк итоговой (сводной) таблицы (рис.6.4). По повторяющимся значениям другого поля формируются названия заголовков столбцов итоговой (сводной) таблицы. Результаты статистической обработки по третьему полю отображаются в ячейках сводной таблицы (область значений). Пример перекрестного запроса в режиме конструктора представлен на рис.6.5, а результаты выполнения запроса на рис. 6.6.

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

В перекрестном запросе допускается указание условий отбора. Сортировка может проводиться только по полям, размещенным в области заголовков строк.

Рис.6.4. Макет перекрестной таблицы

Рис.6.5. Сформированный перекрестный запрос в QBE

Рис.6.6. Результат выполнения запроса в режиме Таблицы

Ссылка на основную публикацию
Adblock
detector