Создание вычисляемых элементов управления
Для отображения результатов вычислений в формах и отчетах в базах данных Access можно использовать вычисляемые элементы управления. Например, если в отчете отображается количество проданных товаров и цена каждого товара, можно добавить вычисляемую текстовое поле, в которое перемножатся эти два поля, чтобы отобразить общую цену. Свойство «Данные» вычисляемого текстового поля содержит выражение, в которое умножаются два поля (количество элементов, умноженное на цену за единицу), чтобы получить результат.
В этой статье
- Создание вычисляемых элементов управления
- Изменение связанного управления на вычисляемой
- Узнайте, какие типы элементов управления можно использовать в качестве вычисляемого
Создание вычисляемых элементов управления
Эта процедура позволяет создать вычисляемую дес.в., не используя мастер.
- В области навигации щелкните форму или отчет правой кнопкой мыши и выберите «Конструктор».
- На вкладке «Конструктор» в группе «Элементы управления» выберите нужный тип элементов управления. Список типов элементов управления, которые можно использовать в качестве вычисляемого, см. в разделе «Узнайте, какие типы элементов управления можно использовать в качестве вычисляемого.»
- Наведите указатель мыши на форму или отчет и щелкните форму или отчет, чтобы вставить его.
- Если запускается мастер управления, нажмите кнопку «Отмена», чтобы закрыть его.
- Выберите его, нажмите F4, чтобы отобразить окно свойств, а затем введите выражение в поле свойства «Control Source». Чтобы использовать Построитель выражений для создания выражения, щелкните рядом с полем свойства «Control Source».
- Переключиться в представление формы или отчета и убедитесь, что вычисляемая система управления работает так, как вы ожидаете.
- Перед каждым выражением должен быть оператор =. Например: =[UnitPrice]*.75.
- Дополнительные сведения о создании выражений см. в статье Создание выражений.
- Если вам нужно больше места для ввести выражение в поле свойства «Control Source», нажмите shift+F2, чтобы открыть окно «Масштаб».
- Если форма или отчет основаны на запросе, вы можете поместить выражение в запрос, а не в вычисляемый элемент управления. Это повышает производительность и, если вы собираетесь вычислять итоги для групп записей, проще использовать имя записи вычисляемое поле в агрегатная функция.
- При сортировке вычисляемого объекта управления в форме или отчете убедитесь, что свойство Format (Формат) этого объекта задано соответствующим образом. В противном случае вычисляемая числовая или дата может отсортироваться по алфавиту, а не по числу.
Изменение связанного управления на вычисляемой
Чтобы создать вычисляемую рамку, можно сначала создать связанный (например, перетащив поле из области «Список полей» в форму или отчет), а затем отредактировать его свойство «Источник», чтобы создать выражение. Это работает хорошо, если имя этого управления не конфликтует ни с одним из имен полей, содержащихся в выражении. Дополнительные сведения о создании связанного управления путем перетаскиния поля из области «Список полей» см. в статье «Добавление поля в форму или отчет».
Если связанный контроль уже создан, воспользуйтесь процедурой ниже, чтобы сделать его вычисляемой и избежать конфликтов имен.
- В области навигации щелкните форму или отчет правой кнопкой мыши и выберите «Конструктор».
- Щелкните поле, который вы хотите изменить, и нажмите F4, чтобы открыть лист свойств.
- Если свойство «Имя» на вкладке «Все» в окне свойств соответствует свойству «Источник управления», отредактируем его так, чтобы оба свойства не совпадали. Убедитесь, что имя не является зарезервированным словом или именем другого поля базы данных. Дополнительные сведения о зарезервированных словах см. в статье о зарезервированных словах и символах Access.
- Отредактируем строку в поле свойства «Данные», чтобы она содержала нужное выражение.
- Чтобы сохранить изменения, нажмите сочетание клавиш CTRL+S.
- Переключение в представление макета или формы и убедитесь, что вычисляемая система управления работает так, как вы ожидаете.
Если в средстве управления не отображаются нужные данные (например, если Access отображает #Name? в этом средстве), проверьте источник записей формы или отчета, чтобы убедиться, что все поля, используемые в выражении, доступны. Если источником записей является запрос, для работы выражения может потребоваться добавить в запрос одно или несколько полей.
- Перед каждым выражением должен быть оператор =. Например: =[UnitPrice]*.75.
- Если вам нужно больше места для ввести выражение в поле свойства «Control Source», нажмите shift+F2, чтобы открыть окно «Масштаб».
- Если форма или отчет основаны на запросе, вы можете поместить выражение в запрос, а не в вычисляемый элемент управления. Это повышает производительность и, если вы собираетесь вычислять итоги для групп записей, проще использовать имя записи вычисляемое поле в агрегатная функция.
- При сортировке вычисляемого объекта управления в форме или отчете убедитесь, что свойство Format (Формат) этого объекта задано соответствующим образом. В противном случае вычисляемая числовая или дата может отсортироваться по алфавиту, а не по числу.
Узнайте, какие типы элементов управления можно использовать в качестве вычисляемого
Текстовые поля являются наиболее популярным вариантом для вычисляемого управления, так как в них может отображаться большое количество различных типов данных. Тем не менее любой объект управления, который имеет свойство «Исходный объект», можно использовать в качестве вычисляемой. Во многих случаях не имеет смысла использовать определенный тип управления в качестве вычисляемого, так как его нельзя обновить так, как вы можете обновить связанный или связанный. Например, если вы поместите в форму поле «поле с квадратиконом» и введите выражение в его свойство «Источник управления», то его больше нельзя будет выбрать или очистить, щелкнув его. На основе результатов выражения этот поле будет выбрано или очищено. Если вы щелкнули этот поле, в панели состояния Access отобразилось оповещение «Не может быть изменено» —оно привязано к>. Однако в отчете может быть полезно использовать элемент управления «квадрат» на основе результатов вычисления, так как элементы управления в отчетах используются только для отображения данных.
Создание вычисляемых полей в запросах
Создание запросов интересно не только тем, что вы можете в виде одной таблицы представить данные из нескольких связанных таблиц и отобрать нужные записи из этих таблиц. Вы можете создавать столбцы в запросе, которые являются результатом вычислений над значениями других столбцов. Такие столбцы называются вычисляемыми. Это существенно расширяет возможности запросов. Простейшим примером вычисляемого поля в запросе может быть поле, которое объединяет имя и фамилию человека. На рис. 4.18 показан пример такого поля в запросе, созданном на базе таблиц «Сотрудники» (Employees) и «Заказы» (Orders).
Чтобы создать вычисляемое поле, нужно ввести выражение, которое вычисляет требуемое значение, в строку Поле (Field) свободного столбца бланка запроса. В данном примере это выражение представляет собой конкатенацию полей, содержащих имя и фамилию сотрудника, с пробелом между ними. В этом выражении мы используем ссылки на поля таблицы, которые в выражении заключаются в квадратные скобки. Перед выражением нужно написать имя поля: ФИО и отделить его двоеточием от выражения.
Рис. 4.18. Вычисляемое поле в запросе
Если выражение длинное, его неудобно писать в строке Поле (Field). Нажмите комбинацию клавиш +. Появится диалоговое окно Область ввода (Zoom) (рис. 4.19), в котором вводить выражение удобнее. Можно также использовать Построитель выражений, вызвав его щелчком по кнопке Построить (Build) на панели инструментов. (Подробнее об использовании Построителя выражений и о правилах составления выражений в Access см. последний раздел данной главы.)
Рис. 4.19. Диалоговое окно Область ввода
Вы можете создать сколько угодно вычисляемых столбцов в запросе, используя при этом сколь угодно сложные выражения. С другими примерами создания таких столбцов вы познакомитесь в следующих главах книги.
Как создать вычисляемое поле в access
На этом шаге будет рассмотрено создание вычисляемых полей.
При создании запросов часто возникает необходимость не только использовать имеющиеся поля таблиц, но и создавать на их основе другие поля, которые называются вычисляемыми. Например, если в таблице какого-либо магазина имеется поле цены на товар и поле количества этого товара, то, исходя из этого, можно создать вычисляемое поле, в котором будет подсчитываться общая стоимость для каждого товара путем перемножения значений цены и количества. Другими словами, в вычисляемом поле могут использоваться арифметические операторы.
С другой стороны, при создании вычисляемого поля на основе содержимого текстовых полей, как правило, используется операция объединения текстовых значений, которая называется конкатенацией. В таблице 1 приведены операторы, которые используются в Access при построении выражений:
Очевидно, что рассмотренные операторы предоставляют достаточно узкий спектр возможностей по созданию выражений. Чтобы создать сложное выражение, используют мощное средство, которое носит название Построитель выражений. Эта программа позволяет построить выражение любой сложности с использованием самых разнообразных функций (рис. 1).
Рис. 1. Построитель выражений
С ее помощью можно выполнять различные вычисления с использованием данных, находящихся в БД — полей таблиц, запросов, форм и отчетов. Все перечисленные объекты БД находятся, соответственно, в папках Таблицы, Запросы, Forms и Reports в левой части Построителя.
Чтобы выбрать требуемый объект, например, таблицу, необходимо выполнить двойной щелчок на папке Таблицы, в результате чего раскроется список всех таблиц БД. После выбора нужной таблицы (или другого объекта) в средней части Построителя отображается список ее полей, значения которых можно включить в создаваемое выражение. Для этого необходимо выбрать требуемое поле и нажать в окне Построителя кнопку Вставить.
При построении выражения кроме названий полей могут использоваться различные операторы (таблица 1), добавление которых выполняется при нажатии соответствующих кнопок в окне Построителя.
Также существует возможность использования в выражении различных функций Access. Для этого в левой части окна необходимо открыть папку Функции и выбрать пункт Встроенные функции. Затем следует в средней части Построителя определить категорию, в которой находится требуемая функция, и выбрать после этого в правой части окна название искомой функций (рис. 2, 3). Создаваемое таким образом выражение отображается в верхней части окна Построителя выражений.
Рис. 2. Построитель выражений. Встроенные функции
Рис. 3. Построитель выражений. Текстовая функция Left
Например, необходимо в запросе ПреподавателиПредметы вместо поля Фамилия добавитъ вычисляемое поле, в котором содержались бы фамилия и инициалы преподавателя.
Для этого необходимо открыть запрос в режиме конструктора. Затем установить курсор в строку Поле первого столбца, т.е. в поле Фамилия. После этого необходимо воспользоваться кнопкой Построить , в результате чего будет отображено окно Построитель выражений (рис. 1).
Примечание. Кнопка Построить позволяет не только создавать новые выражения, с ее помощью можно также изменять уже существующее выражение, которое в этом случае должно находиться в текущем поле.
Названия полей в выражении должны указываться в квадратных скобках, однако если поле будет указано без скобок, то Access их добавит автоматически.
Для создания текстовой строки с фамилией и инициалами необходимо несколько раз последовательно выполнить операцию конкатенации следующей структуры:
Фамилия & Символ Пробела & Инициал имени & Символ точки & Инициал отчества & Символ точки.
Все текстовые символы указываются в двойных кавычках, поэтому структура выражения примет такой вид:
Фамилия & » » & Инициал имени & «.» & Инициал отчества & «.».
Таким образом, начало выражения будет следующим:
Фамилия & » » &
Для работы с текстовыми значениями используются функции категории Текстовые. Чтобы получить инициал имени, необходимо воспользоваться одной из функций данной категории, а именно — функцией Lеft, которая возвращает первые n символов указанной строки.
Чтобы добавить функцию в выражение, необходимо дважды щелкнуть на папке Функции и выбрать после этого раздел Встроенные функции (рис. 2).
Затем во втором столбце необходимо выбрать требуемую категорию, в данном случае Текстовые, и после этого в третьем столбце выбрать нужную функцию, т.е. Left (рис. 3).
После того как функция выбрана, необходимо установить курсор в то место выражения, куда она должна быть вставлена, и нажать кнопку Вставить в окне Построителя выражений. В результате этих действий в выражение будет добавлен шаблон функции Left:
Left («stringexpr»; «n») ,
в котором необходимо указать значения требуемых параметров. В частности, вместо stringexpr нужно указать поле Имя, а вместо n — количество символов, которые необходимо получить из строки, т.е. 1. Таким образом, текущее выражение примет вид:
Необходимо отметить, что для поля Имя не указывалось название таблицы Преподаватели, так как оно было выбрано ранее в строке Имя таблицы окна конструктора запросов. С другой стороны, чтобы добавить в выражение имя поля конкретной таблицы, можно раскрыть папку Таблицы, и выбрать в таблице Преподаватели поле Имя (рис. 4), после чего установить курсор в соответствующее место выражения и нажать кнопку Вставить.
Рис. 4. Построитель выражений. Поле Имя таблицы Преподаватели
Таким образом, название поля с указанием имени таблицы необходимо отображать в следующем формате:
[Имя таблщы] ! [Название поля]
После указания первого инициала необходимо поставить точку, т.е. указать в выражении строку «.». Затем аналогичным способом добавить инициал отчества и снова поставить точку. Таким образом, будет получено следующее выражение:
Чтобы вернуться в окно конструктора запросов, необходимо нажать кнопку ОК. В результате созданное выражение будет находиться в строке Поле первого столбца запроса. Для выполнения запроса следует воспользоваться кнопкой Запуск , после чего в запросе будет создано вычисляемое поле Выражение1, в котором содержатся фамилия и инициалы преподавателя.
Названия полей запроса формируются автоматически. Для полей таблиц названия совпадают с названиями соответствующих полей запроса (например, поле Название). С другой стороны, названия вычисляемых полей формируются автоматически; Выражение1, Выражение2 и т. д. Очевидно, что такие названия не являются информативными.
Чтобы установить подпись для поля в таблице или запросе, необходимо в режиме конструктора установить курсор в требуемое поле (в частности, в поле Выражение1) и нажать кнопку Свойства . После этого в диалоговом окне Свойства поля можно на вкладке Общие указать в строке Подпись то название поля, которое будет использоваться вместо исходного в режиме редактирования запроса (или таблицы), а также в формах и отчетах. В частности, для вычисляемого поля Выражение1 можно указать подпись ФИО (рис. 5).
Рис. 5. Диалоговое окно Свойства поля
Таким образом, был создан и выполнен запрос на выборку с использованием вычисляемого поля (рис. 6).
Рис. 6. Запрос на выборку с вычисляемым полем ФИО
Создание запроса с вычисляемым полем можно увидеть здесь, а взять клип здесь.
На следующем шаге вы узнаете о групповых операциях, которые можно использовать при создании запроса.
Как создать вычисляемое поле в access
Запрос можно использовать для выполнения расчетов и подведения итогов из исходных таблиц. Для создания вычисляемых полей используются математические и строковые операторы. При этом Access проверяет синтаксис выражения и автоматически выставляет следующие символы:
1. квадратные скобки ([…]), в них заключаются имена элементов управления;
2. знаки номеров (#), в них заключаются распознанные даты;
3. кавычки («»), в них заключается текст, не содержащий пробелов или знаков пунктуации.
Поле, содержимое которого является результатом расчета по содержимому других полей, называется вычисляемым полем. Вычисляемое поле существует только в результирующей таблице. Общий формат вычисляемого поля выглядит так: Имя вычисляемого поля: Выражение для создания вычисляемого поля.
Например: Прибыль: [Доход] – [Расход].
Создание вычисляемого поля осуществляется путем простого ввода выражения для вычисления в ячейку «Поле» пустого столбца бланка запроса. После выполнения запроса вычисляемое поле, основанное на этом выражении, выводит на экран результат вычислений, а не само выражение.
1. В строку «Поле» пустого столбца бланка запроса введите выражение, начинающееся со знака «=» и состоящее из имен полей, записанных в квадратные скобки и какой-либо арифметической или другой операции.
2. После выполнения запроса в результирующей таблице появится новое поле с названием «Выражение1», используемым в качестве имени вычисления выражения.
3. В режиме конструктора запроса измените имя «Выражение1» на более значимое.
Для того, чтобы ввести сложные вычисления, используйте окно Построитель выражений, которое вызывается нажатием кнопки Построить панели инструментов, либо соответствующей командой контекстного меню.
В этой части рассмотрим процесс поиска необходимой информации в базе данных на основе критериев поиска. Например, при работе с таблицей Клиенты можно задать критерий, позволяющий отыскать имена всех клиентов, проживающих в Астане. Достаточно указать название города (Астана) в качестве критерия поиска для поля Город.
18.07.2010 20:47 Информатика Артем 20384 0
Похожие статьи
- Запросы в Microsoft Access
- Запрос на выборку Microsoft Access
- Запрос с параметром (параметрический запрос)
- Проектирование запроса Access
- Окно запроса Access
- Формирование запроса Access
- Включение полей в запрос Access
- Задание критериев Access
- Сортировка в Access
- Выполнение запроса Access