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

Запрос с параметрами

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

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

Решение. Создать запрос на выборку, включив поля: фамилия, номер группы, семестр, название предмета, оценка. По строке Условие отбора для поля Номер группы ввести в квадратных скобках текст [Номер группы], для поля Название предмета: [ Название предмета], для поля Семестр: [Семестр], д ля поля Оценка: 4 or 5.

Далее надо установить для полей параметров тип поля: вкладка Конструктор - группа Показать или скрыть – кнопка Параметры. Появится окно Параметры. В левый столбец ввести (в три строки) тексты: Номер группы, Название предмета, Семестр. Для каждого поля задать тип данных: для первых двух – Текстовый, для СеместраБайт.

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

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

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

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

Теория. Для создания поля ФИО в запросе нужно построить сложное выражение, предусматривающее использование функции LEFT и оператора объединения текстовых значений (&). Для этих целей используется мощное программное средство, имеющееся в Access - Построитель выражений.

Окно Построителя выражений состоит из нескольких частей. В верхней части будет отражаться создаваемое выражение. Ниже ее расположена строка с кнопками операторов, используемых при создании выражений (+, -, *, /, <, >, AND, OR и др.). Под этой строкой расположена зона, состоящая из трех частей (левой, средней и правой). В левой части выводится вверху имя создаваемого запроса, далее папки: Таблицы, Запросы, Формы, Отчеты (для последующего выбора полей с данными), Функции, Константы, Операторы. В зависимости от того, какая папка выбрана в левой части содержимое средней и правой частей будет различным. Первоначально в средней части выводятся поля создаваемого запроса.

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

Пример. Создать поле ФИО на основании полей Фамилия, Имя, Отчество

Решение. Сначала создадим в режиме Конструктора условную таблицу, включающую поля Номер группы, Фамилия, Имя, Отчество. Назовем таблицу туслСтуд. Тип данных для всех полей – Текстовый, размер для поля Номер группы – 10 символов, для остальных – 20 символов. Таблица не содержит ключевое поле. Далее надо ввести в таблицу несколько строк, заполнив поля Фамилия, Имя, Отчество. Сохранить таблицу.

Теория. Поле ФИО будем создавать за полем Отчество. Оно должно иметь вид, например: Иванов И.И. Для этого должно быть построено выражение, включающее: Фамилию- пробел - первую букву имени - знак точки - первую букву отчества - знак точки. Кроме того, надо объединить: фамилию и пробел, пробел и первую букву имени, первую букву имени и знак точки, знак точки и первую букву отчества, первую букву отчества и знак точки. Таким образом выражение должно содержать: фамилия & «»& первая буква имени & «.» & первая буква отчества & «.» Кроме того, выражение должно содержать (дважды) функцию LEFT для выбора первой буквы имени и первой буквы отчества.

Рассмотрим как это сделать.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: