вычисляемое поле в запросе создать нельзя
Работа с данными при помощи запросов
Основные типы запросов
Запрос — объект базы данных, который используется для извлечения информации из одной или нескольких таблиц или для выполнения определенных действий с данными.
По способу формирования запросы можно разделить на два вида:
В действительности любой запрос в Microsoft Access реализуется с помощью языка SQL. И хотя большинство запросов можно создавать в режиме конструктора, используя возможности запроса по образцу, каждый созданный запрос хранится в виде инструкции SQL. При создании запроса по образцу Microsoft Access автоматически формирует соответствующий SQL-запрос. Можно просмотреть инструкцию SQL для существующего запроса и внести в нее изменения. В этом случае автоматически будет обновляться определение соответствующего запроса по образцу в режиме конструктора.
По результатам действий и особенностям выполнения запросы можно разделить следующим образом:
Вычисления в запросе
Запрос на выборку можно использовать не только для того, чтобы выбирать из таблиц базы данных содержащуюся в них информацию, но также чтобы производить вычисления и отображать результаты вычислений в динамической таблице. Сдедует иметь в виду, что результаты вычислений не сохраняются в таблицах базы данных. При выполнении запроса вычисления выполняются всякий раз заново, поэтому результаты всегда отражают текущее состояние базы данных.
Для выполнения вычислений в запросе необходимо в бланке запроса создать новое вычисляемое поле. Для этого следует в пустую ячейку строки Поле ввести вычисляемое выражение, в котором могут использоваться имена полей таблиц, константы и функции, связанные с помощью арифметических операторов. Для изменения порядка вычислений и группировки данных в выражениях используются круглые скобки, а имена полей таблицы должны быть заключены в квадратные скобки. Если в запросе используется несколько таблиц, во избежание ошибок следует указывать полное имя поля, помещая перед именем поля имя таблицы. В этом случае для разделения имен объектов используется !. Таким образом, запись полного имени поля таблицы выглядит следующим образом: [Имя таблицы]![Имя поля]. Имя вычисляемого поля выводится перед выражением и отделяется от него двоеточием. Например,
Выражение1: [Цена]*[Количество], где Цена и Количество — имена полей.
Имя вычисляемого поля — Выражение1 — становится заголовком столбца в таблице с результатами выполнения запроса. Это имя можно изменить.
Для вычисляемых полей допускается сортировка, задание условий отбора и расчет итоговых значений, как и для любых других полей.
Для создания вычисляемого выражения можно использовать построитель выражений, окно которого представлено на рисунке
В верхней части окна построителя расположено поле выражения, в котором отображается создаваемое вычисляемое выражение. Microsoft Access часто помещает в это поле прототипы, заключенные в двойные угловые кавычки, вместо которых необходимо подставить нужные элементы. Выражения вводятся с помощью кнопок операторов и списков, расположенных в нижней части окна построителя.
В левом списке отображаются папки, содержащие объекты базы данных, встроенные и определенные пользователем функции, константы, операторы и общие выражения. Для просмотра доступных элементов определенной папки необходимо выполнить двойной щелчок мышью по папке. При этом в среднем поле будет выведен список элементов или категорий элементов выбранной папки. В правом поле выводится список значений (если они существуют) для категории элементов, выбранной в среднем поле. Для вставки элемента в поле выражения следует выбрать его в нижней части окна построителя выражений и щелкнуть по кнопке Вставить или же выполнить двойной шелчок мышью по выбранному элементу. Завершив создание выражения необходимо щелкнуть по кнопке ОК. Microsoft Access вставит созданное выражение в ту позицию бланка запроса, из которой был вызван построитель выражений.
Запросы на выборку можно также использовать для группировки записей и вычисления итоговых значений с помощью так называемых групповых функций:
Для создания итогового запроса в бланк запроса по команде Вид / Групповые операции (кнопка на панели инструментов) добавляется строка Групповая операция, которая позволяет указать, по какому полю должна быть выполнена группировка записей, и какие вычисления итоговых значений по группам данных необходимо провести.
Перекрестный запрос
Перекрестный запрос позволяет представить данные в виде таблицы, в которой отображаются результаты вычислсний (сумма, количество записей, среднее значение и т.п.), выполненных по данным из какого-либо поля таблицы. Результаты вычислений группируются по двум наборам данных, один из которых располагается в лервом столбце таблицы, выступая в качестве заголовков строк, а второй — в верхней строке, образуя заголовки столбцов. Таким образом, при создании перекрестного запроса главная задача — определить роль и местопо ложение каждого поля таблицы.
Пои создании перекрестного з апроса в режиме конструктора необходимо указать поля, значения которых будут заголовками столбцов и строк, а также поле, значения которого следует использовать в вычислениях. Для этого по команде Запрос / Перекрестный в бланк запроса добавляются строки Групповая операция и Перекрестная таблица. Строка Перекрестная таблица используется для определения роли поля в перекрестном запросе (Заголовки строк, Заголовки столбцов, Значение). Строка Групповая операция позволяет указать, какие именно вычисления необходимо произвести в перекрестном запросе.
Запрос на изменение
Запросом на изменение называют запрос, который за одну операцию изменяет или перемещает несколько записей. Существует четыре типа запросов на изменение.
Перед созданием и выпонением запроса на изменение нужно сначала сформировать обычный запрос на выборку, чтобы выбрать необходимые записи, выполнить этот запрос и убедиться в правильности отбора записей. Только после этого запрос на выборку следует преобразовать в любой тип запроса на изменение (запрос на удаление, добавление, обновление или на создание таблицы) и выполнить его.
Запрос на создание таблицы
Запрос на создание таблицы используется для сохранения результата запроса. Этот запрос основан на запросе на выборку, но в отличие от него сохраняет таблицу с результатами запроса. Необходимость в запросе на создание таблицы возникает при построении запроса на обновление полей таблицы с использованием операций группировки данных. В этом случае кроме обновляемой таблицы требуется таблица — источник данных.
Запрос на обновление
Для отбора обновляемых записей надо включить в бланк запроса поля, требующие обновления, а также поля, по которым задаются условия отбора. Условия отбора записываются так же, как при создании запроса на выборку.
Для обновляемого поля в строку Обновление надо ввести значение или выражение, определяющее новое значение поля. Выражение можно создать с помощью построителя выражений.
После выполнения команды Запрос / Запуск или нажатия соответствующей кнопки открывается диалоговое окно с сообщением о числе обновляемых записей и вопросом о продолжении операции обновления.
Запрос на добавление
С помощью запроса на добавление производится добавление записей из таблицы запроса в другую таблицу. Поэтому надо позаботиться, чтобы в запросе были сформированы записи с полями, соответствующими полям в другой таблице. Структура записи таблицы запроса может не полностью совпадать со структурой записи таблицы, в которую добавляются записи. В записи запроса может быть меньше полей, если на поля в таблице, куда добавляются записи, не наложено требование по обязательности их заполнения. Допускается несоответствие типов полей, если возможно преобразование типа данных одного поля в тип данных другого поля.
В этом окне в поле Имя таблицы вводится или выбирается имя таблицы, в которую надо добавить записи.
Для указания в строке Добавление имен полей таблицы получателя, в которые будут добавляться значения из соответствующих полей таблицы запроса, надо в каждой ячейке открыть список и выбрать нужное имя.
Для предварительного просмотра записей, которые планируется добавить в таблицу, надо нажать кнопку Представление запроса на панели инструментов. Возврат в режим конструктора запросов производится по этой же кнопке.
Для добавления записей надо нажать кнопку Запуск на панели инструментов. Открывается диалоговое окно с сообщением о числе обновляемых записей и вопросом о продолжении операции обновления.
Те записи, добавление которых приведет к появлению совпадающих или пустых значений в ключевом поле, не будут добавлены. Записи не добавляются и в случае, если невозможно преобразование типа данных в добавляемых полях или не выполняются условия на значения.
Как сделать вычисляемое поле?
Как сделать запрос с вычисляемым полем в Access?
Рекомендуемый клип · 120 сек.
Как создать ВЫЧИСЛЯЕМЫЕ запросы в базе Access — YouTube
Начало рекомендуемого клипа
Конец рекомендуемого клипа
Что такое вычисляемое поле в запросе?
В отличие от вычисляемых полей таблицы, вычисляемые поля запроса в исходных таблицах базы данных новых полей не создают. При каждом выполнении запроса производятся вычисления на основе текущих значений полей. В выражениях вычисляемых полей помимо имен полей могут использоваться константы и функции.20 мар. 2015 г.
Как сделать запрос на выборку?
Создание запроса на выборку
Что служит источником данных для формы?
Форма в Access — это объект базы данных, который можно использовать для создания пользовательского интерфейса для приложения базы данных. «Связанная» форма напрямую связана с источником данных, например таблицей или запросом, и может использоваться для ввода, редактирования или отображения данных из этого источника.
Как создать вычисляемое поле в запросе?
Создание вычисляемого поля в режиме таблицы
Как создать группировку в Access?
Вы можете сортировать записи в порядке возрастания или убывания по 1–4 полям.
Как создать вычисляемое поле в сводной таблице?
Добавление вычисляемого поля
Что такое построитель выражений?
Выражения используются в Access в множестве различных контекстов и похожи на формулы в Excel. Построитель выражений обеспечивает простой доступ к именам полей и элементов управления в базе данных, а также ко многим встроенным функциям, которые можно включать в выражения.
Как добавить поле в Access?
Добавление связанного текстового поля в форму или отчет путем перетаскивания поля из области «Список полей»
Как сделать выборку?
Рекомендуемый клип · 113 сек.
Как в Excel сделать выборку из табл. по неск. условиям? — YouTube
Начало рекомендуемого клипа
Конец рекомендуемого клипа
Как создать запрос с параметрами?
Создание параметра аналогично добавлению обычного условия в запрос:
Как сделать запрос в SQL?
Рекомендуемый клип · 104 сек.
(SQL запросы) 1. Запрос на выборку данных при помощи
Начало рекомендуемого клипа
Конец рекомендуемого клипа
Как сделать форму в Аксесс?
Инструкции
Как создать кнопочную форму?
Рекомендуемый клип · 114 сек.
Как создать главную кнопочную форму в Microsoft Access за 9
Начало рекомендуемого клипа
Конец рекомендуемого клипа
Как создать форму для заполнения базы данных?
Рекомендуемый клип · 119 сек.
Как создать формы в Microsoft Access за 10 минут — YouTube
Начало рекомендуемого клипа
Конец рекомендуемого клипа
Как создать перекрестный запрос в Access?
Рекомендуемый клип · 112 сек.
Как быстро создать ПЕРЕКРЕСТНЫЙ запрос в базе данных
Начало рекомендуемого клипа
Конец рекомендуемого клипа
Вычисляемые поля в запросах
Запрос можно использовать для выполнения расчетов и подведения итогов из исходных таблиц. Для создания вычисляемых полей используются математические и строковые операторы. При этом Access проверяет синтаксис выражения и автоматически вставляет следующие символы:
• квадратные скобки ([. ]), в них заключаются имена элементов управления;
• знаки номеров (ft), в них заключаются распознанные даты;
• кавычки («»), в них заключается текст, не содержащий пробелов или знаков пунктуации.
Поле, содержимое которого, является результатом расчета по содержимому других полей, называетсявычисляемым полем. Вычисляемое поле существует только в результирующей таблице. Общий формат вычисляемого поля выглядит так: Имя вычисляемого поля: Выражение для создания вычисляемого поля.
Например: Прибыль: [Доход]-[Расход].
Создание вычисляемого поля осуществляется путем простого ввода выражения для вычисления в ячейку «Поле» пустого столбца бланка запроса. После выполнения запроса вычисляемое поле, основанное на этом выражении, выводит на экран результат вычислений, а не само выражение.
1. В строку «Поле» пустого столбца бланка запроса введите выражение, начинающееся со знака «=» и состоящее из имен полей, записанных в квадратные скобки и какой-либо арифметической или другой операции.
2. После выполнения запроса в результирующей таблице появится новое поле с названием «Выражение!», используемым в качестве имени вычисления выражения.
3. В режиме конструктора запроса измените имя «Выражение!» на более значимое.
Для того, чтобы ввести сложные вычисления, используйте окно Построитель выражений, которое вызывается нажатием кнопки Построить панели инструментов, либо соответствующей командой контекстного меню. Построитель выражений облегчает создание выражений, позволяя выбирать его составляющие элементы (арифметические операции, встроенные функции, названия полей имеющихся в БД таблиц и запросов и т.п.) при помощи кнопок и списков.
Итоговые запросы
Запросы позволяют производить итоговые вычисления. Для этих целей в Access 97 предусмотреныстатистические функции SQL (рис. IV.6). Статистическую функцию задают в строке Групповая операция бланка запросов, которая появляется при выполнении команды Вид > Групповые операции.
Функция SQL | Действие |
Sum | Суммирование значений определенного поля |
Avg | Вычисление среднего значения данных определенного поля |
Min | Вычисление минимального значения поля |
Max | Вычисление максимального значения поля |
Count | Вычисление количества записей, отобранных запросом по условию |
First | Определяется первое значение в указанном поле записей, отобранных запросом |
Last | Определяется последнее значение в указанном поле записей, отобранных запросом |
StDev | Вычисляется стандартное отклонение значений данного поля, для всех записей, отобранных запросом |
Var | Вычисляется вариация значений данного поля для всех записей, отобранных запросом |
Для выполнения итогового запроса:
1. Находясь в режиме Конструктора запроса, выберите команду Видä Групповая операция или нажмите кнопку Групповая операция панели инструментов. В результате чего в бланке запроса появится строка «Групповая операция».
2. Для соответствующего поля выберите нужную функцию из списка «Группировка».
Перекрестный запрос применяется в том случае, если необходимо объединить данные в формате строк-столбцов. В качестве заголовков для столбцов при проектировании таких запросов можно указать значения некоторых полей или выражений:
1. В режиме Конструктора сформируйте запрос, добавив таблицу, которая должна лежать в его основе.
2. Выберите команду Запрос – Перекрестный. Строка запроса «Вывод на экран» в бланке запроса изменится на новую строку «Перекрестная таблица» и перед ней появится строка «Групповая операция».
3. В строке «Поле» укажите поле, значения которого в новой таблице должны появиться в виде строк; поле, значения которого в новой таблице должны появиться в виде столбцов, и поле, содержимое которого в перекрестной таблице необходимо индицировать в качестве значения. Полей, которые будут использованы в качестве заголовков может быть несколько.
4. Щелкните мышью в строке «Перекрестная таблица» и выберите соответствующие значениям данных полей опции из разворачивающегося списка.
5. Для поля, содержимое которого индицируется в качестве значений, в строке «Групповая операция» введите необходимую функцию, например, автосуммирования (Sum), определения среднего значения (Avg) или количества (Count). На основе данных перекрестного запроса можно строить диаграммы, представленные в виде формы (см. п. IV. 14.1. Создание формы).
Дата добавления: 2015-12-08 ; просмотров: 1713 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ
Работа с вычисляемыми полями
Для вычисляемого поля можно определить заголовок, ограничение доступности, выражение представления, выражения упорядочивания, тип значения, доступные значения и оформление также как для полей наборов данных. Кроме того, вычисляемое поле может быть определено как ресурс, для этого необходимо добавить данное поле в список ресурсов и указать выражение, по которому будет вычисляться итог.
Пример
В приведенном запросе получаются данные из регистра продаж и регистра планов продаж. Результатом запроса будет таблица, где для каждого подразделения и каждой номенклатуры будет получено плановое и фактическое количество продаж.
Определим вычисляемое поле. Для этого перейдем в конструкторе схемы компоновки данных на вкладку Вычисляемые поля и добавим поле.
Результат отчета будет выглядеть так:
Номенклатура | Подразделение | Стоимость план | Стоимость факт | Перевыполнение плана |
Вентилятор настольный | Отдел оптовой продажи | 238,32 | 737,55 | 209,48 |
Мужские сапоги с искусственным мехом | Отдел оптовой продажи | 234,24 | -100,00 | |
Мишка (конфеты) | Отдел розничной продажи | 114,91 | Не запланировано |
Т.е. для каждой строчки было рассчитано значение вычисляемого поля.
Теперь в итог отчета будет выводиться сумма по полям, в том числе и по полю ПеревыполнениеПлана :
Номенклатура | Подразделение | Стоимость план | Стоимость факт | Перевыполнение плана |
Вентилятор настольный | Отдел оптовой продажи | 238,32 | 737,55 | 209,48 |
Мужские сапоги с искусственным мехом | Отдел оптовой продажи | 234,24 | -100,00 | |
Мишка (конфеты) | Отдел розничной продажи | 114,91 | Не запланировано | |
Итого | 472,56 | 852,46 | 109,48 |
Для того чтобы получить правильный итог по выполнению плана изменим формулу расчета итога по полю Выполнение плана :
В этой формуле уже получается не сумма отношений факта к плану, а отношения суммы факта к сумме плана. Кроме того, в итоге учитываются только те записи, для которых был установлен план.
Введем данную формулу в выражение ресурса:
Теперь результат отчета будет выглядеть так: