Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
28,2. Создание выражений.docx
Скачиваний:
18
Добавлен:
27.09.2019
Размер:
247.83 Кб
Скачать

Добавление выражения в существующую группировку или сортировку

  1. Повторите шаг 1 предыдущего раздела, чтобы открыть отчет в режиме конструктора.

  2. Выберите группировку или сортировку, которую необходимо изменить.

  3. Щелкните стрелку вниз рядом с пунктом Группировка (уровни группировки) или Сортировка (порядок сортировки).

Откроется окно, содержащее доступные поля.

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

  2. Введите выражение в поле выражения построителя выражений. Убедитесь, что выражение начинается с оператора равенства (=).

Дополнительные сведения об использовании построителя выражений приведены в следующем разделе.

Для получения дополнительных сведений о группировке и сортировке данных в отчетах см. статью Создание отчета с группировкой или сводного отчета.

 К НАЧАЛУ СТРАНИЦЫ

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

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

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

Построитель выражений можно запустить из большинства мест, где выражения вводятся вручную, например, из свойства Данные (Control Source)элемента управления или из свойства Условие на значение (Validation Rule)поля таблицы. Как правило, если отображена кнопка Построить (  ), можно нажать ее для запуска построителя выражений.

Приведенные ниже рисунок и текст иллюстрируют построитель выражений.

 Поле выражения

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

 Кнопки операторов

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

 Элементы выражения

В нижней части окна построителя находятся три столбца.

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

  • В среднем столбце выводится список определенных элементов или типов элементов для папки, выбранной в левом столбце. Например, если в левом столбце выбрать Встроенные функции, в среднем столбце будет отображен список типов функций.

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

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

При вставке идентификаторов (имен полей таблицы или элемента управления) в выражение построитель выражений вставляет только те его части, которые необходимы в текущем контексте. Например, при запуске построителя выражений из окна свойств формы «Клиенты» и вставке идентификатора для свойства Вывод на экран (Visible) будет вставлено только имя свойства Вывод на экран (Visible). При использовании данного выражения вне контекста формы необходимо включать полный идентификатор: Forms![Клиенты].Visible.

Запуск построителя выражений в таблице, форме и отчете

  1. В области переходов щелкните правой кнопкой мыши таблицу, форму или отчет, который необходимо изменить, и в контекстном меню выберите команду Конструктор.

  2. При открытии таблицы в столбце Имя поля выберите поле, которое необходимо изменить, а затем на вкладке Общие выберите свойство, которое будет содержать выражение, и нажмите кнопку Построить рядом с этим свойством.

-или-

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

Запуск построителя выражений в запросе

  1. В области переходов щелкните правой кнопкой мыши запрос, который необходимо изменить, и в контекстном меню выберите командуКонструктор.

-или-

Если запрос уже открыт, щелкните правой кнопкой мыши вкладку документа запроса и в контекстном меню выберите команду Конструктор.

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

  2. На вкладке Конструктор в группе Настройка запроса нажмите кнопкуПостроитель.

Дополнительные сведения о создании выражений, включая примеры выражений и их синтаксис, см. в статье Введение в синтаксис выражений.

 К НАЧАЛУ СТРАНИЦЫ

Применение выражений для практических целей

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

АВТОМАТИЧЕСКОЕ ВНЕСЕНИЕ ТЕКУЩЕЙ ДАТЫ И ВРЕМЕНИ В НОВУЮ ЗАПИСЬ

В некоторых таблицах важно отслеживать дату (или дату и время), когда была добавлена запись. Чтобы эти значения вносились автоматически, можно создать поле с типом данных «Дата/время», а свойству Значение по умолчанию (DefaultValue) поля задать значение Date() или Now(). ФункцияDate возвращает текущую дату, а функция Now возвращает текущее значение даты и времени в соответствии с системными часами на компьютере пользователя.

В следующих инструкциях описано добавление нового поля в таблицу, задание типа данных «Дата/время» для поля и добавление в поле функцийNow или Date.

Добавление поля даты/времени

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

Таблица будет открыта в режиме таблицы.

  1. Выберите первый пустой столбец таблицы. Пустой столбец — это столбец с надписью Добавить поле в заголовке.

  2. Дважды щелкните заголовок столбца и введите имя поля, например,Добавлено, а затем нажмите клавишу ВВОД.

-или-

Щелкните столбец правой кнопкой мыши, выберите команду Переименовать, введите имя поля, а затем нажмите клавишу ВВОД.

  1. На вкладке Режим таблицы в группе Форматирование и тип данныхнажмите стрелку раскрытия списка Тип данных и выберите пунктДата/время.

  2. Сохраните изменения, оставьте таблицу открытой и перейдите к следующим действиям.

Добавление выражения даты в поле даты/времени

  1. Щелкните правой кнопкой мыши вкладку документа таблицы, а затем в контекстном меню выберите команду Конструктор.

  2. В столбце Имя поля выберите созданное поле.

  3. На вкладке Общие выберите ячейку свойства Значение по умолчанию (Default Value).

  4. Введите Now() или Date().

  5. Выберите ячейку свойства Отображать элемент выбора даты (Show Date Picker) и задайте ему значение Никогда.

  6. Сохраните изменения и закройте таблицу.

Теперь при добавлении новой записи в таблицу в поле «Добавлено» будет автоматически вноситься значение даты или даты и времени.

ОБЪЕДИНЕНИЕ ТЕКСТОВЫХ ЗНАЧЕНИЙ

При необходимости объединения значений в двух и более текстовых полях используется оператор амперсанд (&). Предположим, имеется форма «Сотрудники». Имена и фамилии сотрудников содержатся в разных полях таблицы, однако необходимо отобразить полное имя сотрудника в заголовке формы.

Чтобы отобразить полное имя, используйте следующее выражение:

=[Имя] & " " & [Фамилия]    

В выражении применяется оператор & для объединения значений полей «Имя» и «Фамилия». В выражении используется также пара прямых кавычек, разделенных пробелом, чтобы между именем и фамилией сотрудника был пробел. Помните, что пробелы между именами полей и операторами «амперсанд» не влияют на отображение данных (они лишь делают выражение более удобным для восприятия). При необходимости вставить какие-либо знаки между полями, например, пробел, знаки пунктуации или текстовые литералы, их следует заключать в прямые кавычки.

В качестве примера рассмотрим выражение, где имена и фамилии разделяются запятой.

=[Фамилия] & ", " & [Имя]    

В данном случае значения, заключенные в прямые кавычки, вставляют между именем и фамилией запятую и пробел.

Действия, описанные в данном разделе, естественно, основаны на предположении, что существует форма, а также таблица с полями «Имя» и «Фамилия». Выражение можно изменить и использовать его с другими данными.

Добавление текстового поля с выражением для полных имен

  1. В области переходов щелкните правой кнопкой мыши форму или отчет, который необходимо изменить, а затем в контекстном меню выберите команду Конструктор.

  2. На вкладке Конструктор в группе Элементы управления щелкнитеПоле.

  1. Перетащите указатель в форму или отчет, чтобы создать текстовое поле.

  2. Щелкните текстовое поле правой кнопкой мыши и выберите командуСвойства.

-или-

На вкладке Конструктор в группе Сервис выберите команду Окно свойств.

  1. Перейдите на вкладку Данные.

  2. Измените значение в ячейке свойства Данные (ControlSource) на =[Имя] & " " & [Фамилия], а затем нажмите клавишу TAB.

  3. Закройте окно свойств и сохраните изменения.

Иногда могут объединяться записи, не имеющие значения в поле. Отсутствие значения называется значением типа Null. При использовании оператора & с полем, не имеющим значения, для этого поля будет возвращена пустая строка. Например, если запись о сотруднике содержит только фамилию, выражение, приведенное в предыдущем примере, будет возвращать пустую строку для поля «Имя», пробел и значение в поле «Фамилия».

При объединении значений может понадобиться включить какое-либо значение, например, запятую, только если в конкретном поле содержаться данные. Для этого следует использовать оператор + вместо оператора &.

Предположим, имеется таблица «Клиенты», в которой содержатся поля «Город», «Страна» и «Почтовый индекс». Эти поля необходимо объединить для отчета, но при этом некоторые записи могут не содержать значений в поле «Страна». В этом случае при использовании оператора & будет отображаться ненужная запятая перед значением почтового индекса.

Чтобы исключить ненужную запятую, используйте оператор «плюс» (+), как показано в следующем выражении:

=([Город] & (", " + [Страна]) & " " & [ПочтовыйИндекс])    

Оператор + объединяет текст таким же образом, как и оператор &. Однако оператор + также поддерживает распространение значения Null. Это означает, что если компонент выражения имеет значение Null, выражение также возвращает значение Null. Рассмотрим часть выражения из предыдущего примера: (", " + [Страна]). Т. к. используется оператор +, выражение во внутренних скобках включает запятую только при наличии значения в поле «Страна». Если значения не существует, действует принцип распространения значения Null, и все выражение во внутренних скобках возвращает значение Null, таким образом скрывая запятую.

Создание вычисляемых элементов управления для выполнения арифметических операций

Выражения могут использоваться для добавления, вычитания, умножения и деления значений в двух и более полях или элементах управления. Предположим, записывается дата, когда клиент хочет получить заказ, и дата исполнения заказов. Чтобы вычислить, насколько дней раньше (или позже) был доставлен заказ, следует вычесть значение поля «ДатаВыполнения» из значения поля «ДатаНазначения». Это возможно благодаря тому, что в Access поддерживаются арифметические операции над датами.

Результат вычислений над значениями дат называется интервалом. Это значение содержит компонент дни слева от точка в десятичной дроби и компонент время — справа. Если возвращенное значение — положительное число, оно показывает, на сколько дней раньше заказ был доставлен. Если значение — отрицательное число, оно показывает, на сколько дней позже он был доставлен. Если значение равно 0, заказ был доставлен вовремя.

Действия, описанные в данном разделе, основываются на предположении, что существует форма, связанная с таблицей данных о заказах. Таблица «Заказы» содержит поля «ДатаНазначения» и «ДатаВыполнения». Выражение можно изменить для использования с конкретной базой данных.