-------------------------------------------------------------------------------------------------------------
Функция Group by Sum (Сумма) Count (Количество)
(Группировка)
Условия "Фунт"
отбора
Функция Count в поле Номер записи позволяет определить число записей в группе.
- Какой оборот дал каждый клиент?
Поле Продавец Объем операций Номер записи
---------------------------------------------------------------------------------
Функция Count Sum Group by
Функция Count в поле Продавец позволяет оценить в колонке Со unt_Продавец количество покупок для указанного объема продаж.
- Каков полный объем продаж?
Поле Продавец Объем операций Номер записи
------------------------------------------------------------------------------------
Функция Count Sum Count
На листе данных в полях Со unt_Продавец и Со unt_Номер записи индицируется общее число торговых операций.
ЗАПРОСЫ К НЕСКОЛЬКИМ ТАБЛИЦАМ
Запросы можно создавать для отбора данных как из одной, так и из нескольких таблиц. При этом следует учитывать наличие связей между таблицами. В качестве примера рассмотрим, как составляется запрос для двух таблиц - Адреса и Торговля. Запрос должен включать поля, перечисленные в таблице ниже.
Таблица Поле Поле
Адрес Фамилия Телефон
Торговля Продавец Объем операций
Цель данного запроса - получение сведений об объеме продаж и о номерах телефонов клиентов, участвующих в операциях.
Для реализации этого запроса необходимо создать небольшую таблицу с именем Адреса с полями: Номер записи (Счетчик), Фамилия (Текстовый-15 символов), Адрес (Текстовый -10), Телефон (Текстовый -8) и ввести данные: 1. Шариков 12/15-415 23-34-56; 2.Фунт 40/02-15 58-12-56; 3. Корейко 07/01-48 51-20-52; 4. Бендер 28/06-21 32-56-86; 5. Воробьянинов 07/03-38 57-89-23.
Модель реляционной базы данных работает правильно лишь в том случае, если корректно установлено отношение между полями таблиц базы. Обязательным условием установки связи между таблицами является наличие двух одинаковых полей.
В таблице Торговля идентификация клиентов осуществляется посредством поля Номер записи, содержащего ссылку на запись с данными о клиенте в таблице Адреса. Поле Номер записи в таблице Адреса и одноименное поле в таблице Торговля различаются типом данных. В таблице Адреса для поля Номер записи задан тип данных Счетчик. В таблице Торговля для этого поля установлен числовой тип данных и формат Длинное целое. Такой подбор параметров обусловлен следующим. Поскольку один клиент может участвовать в нескольких торговых операциях, содержимое поля Номер записи повторяется в различных записях. Поэтому тип данных Счетчик, исключающий повторы, для этого поля не подходит.
Для установки связи между полями Номер записи таблиц Адреса и Торговля необходимо выполнить следующие действия:
- Закрыть все таблицы, между которыми существует связь.
- Активизировать команду Схема данных в меню Сервис или нажать соответствующую кнопку на панели инструментов.
- Если вместо диалогового окна Добавление таблицы откроется окно Схема данных (это может произойти при наличии связей между таблицами, установленных ранее), необходимо выбрать в меню Связи команду Добавить таблицу или нажать соответствующую кнопку на панели инструментов.
- Выбрать таблицу Адреса в списке, расположенном на вкладке Таблицы или Таблицы и запросы, и нажать кнопку Добавить. Затем добавить таблицу Торговля и нажать кнопку Закрыть. В окне Схема данных появятся два небольших окна со списками полей таблиц Адреса и Торговля.
- С помощью мыши перетащить поле Номер записи из списка полей таблицы Адреса к соответствующему полю таблицы Торговля. Это поле является ключевым (выделено в списке жирным шрифтом) и принадлежит к главной таблице. Таблица Торговля в данном случае является подчиненной.
- На экране появится диалоговое окно Связи, в котором отображаются имена связываемых полей обеих таблиц.
При необходимости их можно изменить.
- Активизировать опцию Обеспечение целостности данных. При этом будет установлено отношение One-To-Many (один ко многим), что отразится в области Тип отношения. Это означает, что одной записи главной таблицы Адреса могут быть поставлены в соответствие несколько записей подчиненной таблицы Торговля. Такое отношение является наиболее распространенным в реляционных базах данных.
- В заключение нажать кнопку Создать. В окне Связи программа графически обозначит связь между полями таблиц.
Запрос для таблиц, между которыми установлена связь, создается следующим образом:
- Нажать кнопку Создать на вкладке Запросы окна базы данных.
- В окне Новый запрос выбрать конструктор.
- Выполнить двойной щелчок на имени главной таблицы, Адреса в диалоговом окне Добавление таблицы, вследствие чего она будет помещена в QBE-область окна Запрос на выборку.
- Повторить эту операцию для подчиненной таблицы Торговля.
- Закрыть диалоговое окно Добавление таблицы посредством кнопки Закрыть.
- Включить в запрос поля Фамилия, Телефон, Продавец и Объем операции.
- Присвоить запросу имя Запрос Адреса_Торговля.
- Запустить запрос. Благодаря однозначности отношения между полями таблиц осуществляется корректное сопоставление записей, идентифицируемых посредством поля Номер записи.
СОЗДАНИЕ ЗАПРОСА С ПОМОЩЬЮ МАСТЕРА
Рассмотрим работу мастера по созданию запросов Простой запрос, и составим запрос Операции с клиентами, предоставляющий информацию о сумме продаж (поле Объем операций таблицы Торговля}, произведенных продавцами (поле Продавец таблицы Торговля), клиентам, перечисленным в поле Фамилия таблицы Адреса.
Составить такой запрос с помощью Мастера несложно. Для этого в окне базы данных необходимо перейти на вкладку Запросы, затем щелкнуть на кнопке Создать. В диалоговом окне Новый запрос выбрать значение Простой запрос и нажать кнопку ОК.
В первом диалоговом окне мастера выбрать в списке Таблицы/Запросы таблицу, поля которой будут анализироваться при выполнении запроса (Адреса). В списке Доступные поля отметить поле Фамилия и перенести его в список Выбранные поля. Те же действия выполнить для таблицы Торговля и полей Продавец и Объем операции. В завершение нажать кнопку. Далее.
В следующем окне мастера можно задать подробный (вывод каждого поля каждой записи) или итоговый (суммирование полей запросом). Остановимся на первом варианте.
В последнем окне мастера необходимо присвоить запросу имя, например, Операции с клиентами. После этого необходимо проверить, как выполняется созданный запрос.
СОЗДАНИЕ ЗАПРОСОВ ДРУГИХ ТИПОВ
В Access существуют и запросы других типов: запросы действия, параметрические запросы и перекрестные запросы.
Запрос на изменение
Запросы на изменение используют для изменения и переноса данных в таблицах, для обновления, добавления и удаления групп записей, а также для создания новой таблицы на основе одной или нескольких таблиц. Различают четыре типа запросов на изменение: запрос на добавление, запрос на удаление, запрос на обновление и запрос на создание таблицы,
Примечание:В окне базы данных перед именем запроса на изменение Access устанавливает восклицательный знак (!).
Запрос на добавление
С помощью запроса на добавление записи из одной таблицы (все или отобранные запросом) можно поместить в конец другой таблицы. Обе таблицы могут находиться как в одной, так и в разных базах данных.
Если необходимо добавить записи к таблице из другой базы данных, сначала следует присоединить таблицу-источник к базе, содержащей целевую таблицу, с помощью команды Связь с таблицами из подменю Внешние данные меню Файл. Для отбора добавляемых записей нужно составить запрос на выборку. Затем надлежит выполнить составленный запрос и оценить результат, переключившись в режим таблицы с помощью команды Объекты базы данных из меню Вид. После этого необходимо вернуться в режим конструктора и активизировать команду Добавление из меню Запрос.
В открывающемся при этом диалоговом окне Добавление необходимо задать в поле Имя таблицы имя таблицы, к которой нужно присоединить данные из результирующего набора записей запроса. Закрытие диалогового окна посредством кнопки ОК приводит к тому, что Access добавляет в бланк запроса строку Добавление. В эту строку автоматически (или вручную) вставляются имена тех полей целевой таблицы, которые совпадают с именами полей запроса. Далее следует выполнить запрос, нажав кнопку Запуск на панели инструментов. В специальном диалоговом окне Access укажет, сколько записей будет добавлено к целевой таблице, и потребует подтвердить выполнение этой операции.
Запрос на удаление
Запросы этого типа служат для удаления из таблицы групп записей, соответствующих некоторому критерию отбора. Поскольку записи, удаленные посредством запроса, нельзя восстановить, следует тщательно анализировать критерии отбора.
В этом случае необходимо, прежде всего, разработать запрос на выборку удаляемых записей, указав критерии в строке Критерии; выполнить этот запрос, чтобы проверить корректность заданных критериев, и вернуться в режим конструктора.
После этого надлежит активизировать в меню Запрос команду Удаление. Access добавит в бланк запроса строку Удаление и введет в ее ячейки значение Условие. Это означает, что пользователь может установить дополнительные критерии отбора. Далее следует выполнить запрос, нажав кнопку с изображением восклицательного знака на панели инструментов. В специальном диалоговом окне Access укажет, сколько записей удаляется из таблицы, и потребует подтвердить удаление.
Запрос на обновление
Используя запрос на обновление, пользователь может изменить группу записей, отобранную на основе определенных критериев. При разработке запроса на обновление прежде всего создается и проверяется запрос на выборку. После этого в режиме конструктора активизируется команда Обновление из меню Запрос, вследствие чего Access добавляет в бланк запроса строку Обновление, которая предназначена для указания новых значений полей таблицы. В качестве таковых могут выступать и вычисляемые выражения. После нажатия кнопки Выполнить Access укажет в специальном диалоговом окне, сколько записей изменится в таблице, и потребует подтвердить изменения.
Запрос на создание таблицы
На основе результирующего набора записей запроса можно построить новую таблицу с помощью запроса на создание таблицы. Такие запросы обычно применяют для архивирования старых записей или для сохранения резервных копий таблиц.
Сначала необходимо подготовить запрос на выборку и получить динамический набор данных Recordset, заодно проверив корректность запроса. Если результирующий набор записей соответствует поставленным требованиям, необходимо вернуться в режим конструктора и в меню Запрос выбрать команду Создание таблицы. Access откроет диалоговое окно Создание таблицы, в которое следует ввести имя новой таблицы. Далее нужно выполнить запрос, нажав кнопку с восклицательным знаком на панели инструментов. В специальном диалоговом окне Access укажет, сколько записей добавляется в новую таблицу, и потребует подтвердить выполнение этой операции.
Дата: 2018-12-28, просмотров: 251.