Создание запросов в access. виды запросов
Содержание:
- Как сделать перекрестный запрос в access 2010?
- Запросы на выборку
- Создание запроса с несколькими таблицами
- Создание запросов в Microsoft Access 2003 — база MS SQL Server
- Типы данных в Access
- Архитектура и объекты
- Запросы на выборку
- Запросы на изменение
- Запросы в СУБД Access
- Назначение запросов, их виды и использование в СУБД Access.txt
- 1.3. Создание запроса с параметром
- О Microsoft Access
- Ключи в Access
- Групповые операции в запросах Access
- Что представляет собой БД?
Как сделать перекрестный запрос в access 2010?
На этом шаге будут рассмотрены перекрестные запросы.
В Access имеется возможность создания запросов, в которых используются групповые операции, в виде электронных таблиц, т.е. в качестве названий строк и столбцов такой «таблицы» используются те или иные поля таблиц, а в ее «ячейках» будут отображаться вычисляемые значения, которые соответствуют значениям, указанным в названии строки и столбца. Например, в качестве примера подобной электронной таблицы можно рассмотреть набор оценок, которые получил каждый студент по всем предметам. Другими словами, заголовками строк такой таблицы будут фамилии студентов, заголовками столбцов — названия предметов, а на пересечении строк и столбцов будет отображаться оценка того или иного студента по данному предмету, аналогично расположению данных в рабочих листах Excel.
Примечание. Вычисляемые значения не могут быть отредактированы, поэтому перекрестный запрос нет смысла использовать с целью изменения данных. Однако перекрестные запросы могут оказаться весьма полезными при создании отчетов.
Для создания перекрестного запроса, отображающего таблицу оценок студентов по предметам, следует, вначале создать новый запрос в режиме конструктора. Затем нужно в макет запроса добавить таблицы, в которых содержатся исходные данные запроса: Студенты, Успеваемость и Предметы.
После этого необходимо выполнить команду Запрос | Перекрестный, в результате чего в макете запроса среди параметров появится строка Перекрестная таблица, в которой для полей запроса можно с помощью разворачивающегося списка выбрать одно из следующих значений.
- Заголовки строк — выбирается для поля запроса, значения которого нужно использовать в качестве заголовков строк. В качестве заголовков строк необходимо определить хотя бы одно поле, при этом в строке Групповые операции необходимо выбрать значение Группировка, одну из итоговых функций или Выражение.
- Заголовки столбцов — выбирается для поля запроса, значения которого нужно использовать в качестве заголовков столбцов. С этой целью используется только одно поле, требования к которому аналогичны требованиям к полю, в котором установлено значение Заголовки Строк.
- Значение — выбирается для поля запроса, в котором вычисляется итоговое значение, отображаемое в «ячейках» перекрестного запроса. Такое поле должно быть единственным, при этом в строке Групповые операции для него необходимо выбрать одну из итоговых функций или задать выражение, в котором используются итоговые функции.
- (не отображается) — выбирается для того поля, значения которого не должны отображаться в перекрестном запросе.
В первом столбце запроса нужно выбрать поле Фамилия таблицы Студенты, при этом следует задать для него значение Группировка в поле Групповая операция, а также Заголовки строк в поле Перекрестная таблица. Также можно выбрать направление сортировки по возрастанию.
Для второго столбца запроса необходимо выбрать поле Название таблицы Предметы и установить для него значение Группировка в поле Групповая операция и Заголовки столбцов в поле Перекрестная таблица.
В третьем столбце запроса нужно выбрать поле Оценка таблицы Успеваемость и задать для него функцию Sum в поле Групповая операция, а также Значение в поле Перекрестная таблица.
Созданный запрос можно сохранить под именем ОценкиПоПредметам (рис. 1).
ОценкиПоПредметам
В результате выполнения перекрестного запроса ОценкиПоПредметам будет получена электронная таблица, содержащая оценки студентов по всем предметам (рис. 2). Данный запрос может быть использован, например, в отчете, который должен отображать итоги прошедшей сессии.
ОценкиПоПредметам
Создание перекрестного запроса можно увидеть здесь, а взять клип здесь.
На следующем шаге вы узнаете о запросах на изменение.
Предыдущий шаг
Запросы на выборку
Наиболее востребованная операция в БД – это получение данных из таблиц, для чего предназначены запросы на выборку. Эти команды позволяют посмотреть нужные данные из БД согласно введенным условиям. Для этого пользователь «Конструктора запросов» или программист указывает список полей (столбцов), которые он хочет получить, присваивает им наименования, расставляет в нужном порядке.
Команда может быть безусловной либо с заданными параметрами. В первом случае пользователю будет возвращен массив данных, состоящий из всех строк таблицы. Во втором – только те строки, которые отвечают введенному требованию. Таким образом можно задавать ограничения – устанавливать фильтр на необходимые данные.
Полученную информацию можно также отсортировать по одному или нескольким полям, объединить строки по какому-то признаку, произвести подсчеты с использованием функций. Это агрегатные функции, подсчитывающие количество, сумму, среднее арифметическое значение полей и другие итоги.
В выборках объединяют несколько таблиц, связывая их между собой по необходимому признаку и получая итоговую таблицу, содержащую информацию из нескольких источников.
Попробуем сделать выборку в Access, для чего предназначены запросы в «Конструкторе». Создадим в нашей базе данных таблицу «Студенты».
Код | Имя студента | Фамилия студента | Дата рождения | Факультет | Курс |
1 | Иван | Иванов | 16.05.1999 | Технологический | 3 |
2 | Сергей | Козлов | 19.01.1999 | Экономический | 3 |
3 | Валерий | Пяткин | 22.12.2000 | Экономический | 2 |
4 | Тимофей | Трещоткин | 01.05.2001 | Юридический | 1 |
Открываем вкладку «Создание» и выбираем пункт «Конструктор запросов». Добавляем таблицу «Студенты». Для выбора нужных полей дважды кликаем на них. Внизу окна добавляем сортировку, если она необходима, и дополнительные условия отбора.
После нажатия на кнопку «Выполнить» вкладки «Конструктор» в окне появляются результаты выборки.
Такие же результаты можно получить с использованием SQL-запроса. Переход в режим SQL происходит по контекстному пункту меню. Наша операция здесь выглядит так:
SELECT Студенты., Студенты., Студенты.
FROM Студенты
ORDER BY Студенты.;
Аналогично можно создать и выполнить команды на выборку из нескольких таблиц, с параметрами и итогами.
Создание запроса с несколькими таблицами
Теперь, когда мы запланировали наш запрос, мы готовы его спроектировать и запустить. Если вы создали письменные планы для своего запроса, обязательно обращайтесь к ним часто в процессе разработки запроса.
Чтобы создать запрос с несколькими таблицами:
- Выберите команду « Конструктор запросов» на вкладке « Создать » на ленте.
В появившемся диалоговом окне « Показать таблицу » выберите каждую таблицу, которую вы хотите включить в свой запрос, затем нажмите « Добавить» . После того, как вы добавили все нужные таблицы, нажмите « Закрыть» . Когда мы планировали наш запрос, мы решили, что нам нужна информация из таблицы Customers и Orders , поэтому мы добавим их.
Таблицы появятся в панели «Связывание объектов» , которая связана линией соединения . Дважды щелкните тонкий раздел линии соединения между двумя таблицами, чтобы изменить направление соединения.
Регистрация Свойства диалоговое окно. Выберите вариант, чтобы выбрать направление вашего соединения.
- Выберите вариант 2: для объединения слева направо . В нашем запросе левая таблица — таблица Customers , поэтому выбор этого означает, что все наши клиенты, которые соответствовали нашим критериям местоположения, независимо от того, разместили ли они заказ, будут включены в наши результаты. Мы не хотим выбирать этот вариант для нашего запроса.
- Выберите вариант 3: для запроса справа налево . Поскольку наш правильный стол является нашей таблицей Orders , выбор этого параметра позволит нам работать с записями для всех заказов и только для клиентов, разместивших заказы. Мы выберем этот вариант для нашего запроса, потому что это именно те данные, которые мы хотим видеть.
В окнах таблицы дважды щелкните имена полей, которые вы хотите включить в свой запрос. Они будут добавлены в дизайнерскую сетку в нижней части экрана.
В нашем примере мы будем включать большинство полей из таблицы Customers : имя , фамилия , адрес , город , штат , почтовый индекс и номер телефона . Мы также будем включать идентификационный номер из таблицы Orders .
Установите критерии поля , введя требуемые критерии в строке критериев каждого поля. Мы хотим установить два критерия:
- Во-первых, чтобы найти клиентов, которые не живут в Роли, мы будем вводить Not In («Raleigh») в поле City.
- Во-вторых, чтобы найти клиентов , которые имеют телефонный номер , начинающийся с кодом 919 , мы вводим Like ( «919 *») в номер телефона поле.
После того, как вы установили критерии, запустите запрос, нажав команду « Выполнить» на вкладке « Дизайн запросов ».
Результаты запроса будут отображаться в представлении Datasheet запроса , которое выглядит как таблица. Если вы хотите, сохраните запрос, нажав команду « Сохранить» на панели быстрого доступа. Когда появится запрос на его имя, введите нужное имя и нажмите «ОК» .
Новые статьи
- Проектирование собственной базы данных в Access — 21/08/2018 15:16
- Форматирование форм в Access — 21/08/2018 15:11
- Создание форм в Access — 21/08/2018 15:05
- Изменение таблиц в Access — 21/08/2018 14:58
- Дополнительные параметры отчета в Access — 21/08/2018 14:48
- Создание отчетов в Access — 21/08/2018 14:42
- Дополнительные параметры дизайна запроса в Access — 21/08/2018 14:36
Предыдущие статьи
- Сортировка и фильтрация записей в Access — 21/08/2018 04:37
- Работа с формами в Access — 21/08/2018 04:25
- MS Access — Работа с таблицами, создание, удаление, настройка внешнего вида — 20/04/2018 17:18
- MS Access — Управление базами данных и объектами — 30/03/2018 16:18
- Начало работы в Access. Знакомство с Access 2010 — 10/02/2018 18:24
- MS Access: Введение в объекты — Таблицы, формы, запросы и отчеты — 07/02/2018 08:32
- MS Access: Что такое база данных? Отличие Access от Excel. — 03/02/2018 18:18
Создание запросов в Microsoft Access 2003 — база MS SQL Server
Давайте рассмотрим создание новых запросов из клиента Access на базе MS SQL Server (подразумевается, что клиент adp и база данных на основе MS SQL Server у Вас уже есть).
Примечание! Данная статья не подразумевает изучение sql, поэтому на момент прочтения этой статьи Вы уже должны понимать основы sql и понятие основных объектов в базе данных таких как: представление, функция, процедура. Если Вы совсем новичок в этом, то сначала, конечно же, рекомендуется освоить SQL, так как многие термины ниже Вам будут не понятны. Рекомендуемые статьи:
- Видеокурсы по T-SQL
- Самоучитель по языку Transact-SQL
- Основы языка запросов SQL – оператор SELECT
- Как написать функцию на PL/pgSQL?
- Что такое представления VIEWS в базах данных? И зачем они нужны?
Начало все такое же, открывает проект, затем нажимаем на объекты «Запросы» и жмем кнопку «Создать».
И теперь подробней.
Типы запросов в Access 2003 — база MS SQL Server
Конструктор встроенной функции – это, можно сказать, обычное представление, только в нее можно передавать параметры, затем выполняются какие-то запросы на сервере, и возвращается таблица. Это своего рода функция, которая возвращает данные в виде таблицы. К ней обращаются следующим образом (если говорить об sql):
SELECT * FROM my_test_tabl_func(par1, par2 ……)
После нажатие на «OK» для создания этой функции, у Вас появится уже знакомое окно добавления существующих таблиц, представлений. Но я обычно закрываю это окно и пишу запрос вручную в специальное поле, для того чтобы это поле отобразилось, нажмите на панели следующее:
Затем если Вы хотите добавить входящие параметры можете просто в условие ставить знак @ и название переменной, например, так:
SELECT * FROM table WHERE kod = @par
После на панели в свойствах функции
на вкладке «параметры функции» появится те параметры, которые Вы указали, причем передавать их нужно в том порядке, в котором они здесь указанны.
Конструктор представления – это создание обычного представления, в просто народе «Вьюха».
Конструктор сохраненной процедуры – создание процедуры с помощью конструктора, принцип такой же, как и в вышеупомянутых функциях. Напомню процедура — это набор sql операторов, как на выборку, так и на изменение данных.
Ввод сохраненной процедуры – это создание процедуры с помощью текстового редактора, т.е. создание процедуры чисто вручную. В итоге то же самое, что и с помощью конструктора. При создании объектов в текстовом редакторе шаблон создания у Вас уже создается автоматически access-ом.
Ввод скалярной функции – это создание функции, которая возвращает значение. Создается с помощью текстового редактора.
Ввод табличной функции – это создание функции, которая вернет набор записей. Похожа на встроенную функцию.
Для того чтобы в клиенте access их можно было отличать, у них разные иконки, те самые которые Вы видите при создании того или иного объекта.
При создании всех этих объектов они сохраняются на сервере, и Вы их можете использовать не только из своего adp проекта, но и из других клиентов.
Конечно же, все эти объекты Вы можете создать и на сервере с помощью, например, Enterprise Manager (устарел, сейчас SQL Server Management Studio), но мы сегодня рассматриваем возможность создания этих объектов из access клиента.
Нравится1Не нравится
Типы данных в Access
Каждое поле имеет тип данных. Тип определяет данные, которые могут храниться в нём (допустим, вложенные файлы или большие объёмы текста):
Хоть тип данных и является свойством поля, он отличается от других свойств:
• задаётся не в области «Свойства поля», а на бланке таблицы;
• определяет, какие другие свойства существуют у этого поля;
• его нужно указывать при создании поля.
Если хотите создать новое поле в Access, нужно ввести данные в новый столбец, используя режим таблицы. В результате Access автоматически определит тип данных для вашего поля с учётом введённого вами значения. Если значение не будет относиться к определённому типу, Access выберет текстовый тип. В случае необходимости вы сможете его изменить через ленту.
Архитектура и объекты
В Access вызывается всё, что способно иметь имя объекта.
Основные объекты — это:
— таблицы. Используются в целях определения и хранения данных. Также при их создании определяются поля, называемые заголовками столбцов;
— запросы. Запрос — это не только способ по поиску и компиляции данных, но и объект, обеспечивающий представление этих данных из таблиц (как из одной, так и из нескольких);
— формы. Форма предназначена для ввода и отображения данных, а также для контроля выполнения. Также формы используются и в целях настройки представления данных;
— отчёт. Обеспечивает форматирование, расчёт, печать и обобщение данных.
Существуют и дополнительные объекты. Ими являются:
— макросы. Структурированное определение одного либо нескольких действий, которые СУБД должна выполнять в качестве ответа на какое-нибудь событие. То есть это скрипт, обеспечивающий выполнение определённой работы;
— модули. Объект, содержащий пользовательские процедуры, кодируемые посредством Visual Basic. Благодаря модулям обеспечивается дискретность потока действий и обнаружение ошибок.
Во многих других СУБД термин «база данных» применяется лишь для обозначения тех файлов, где конкретно хранятся данные. В Access база данных (.accdb) дополнительно включает в себя и основные объекты, которые связаны с хранимыми данными, в том числе те объекты, которые пользователь определяет для использования данных автоматически.
Что ещё следует знать:
— внешний вид Microsoft Access схож с другими продуктами Microsoft Office;
— до версии MS Access 2007 поддерживалось расширение * .mdb , но уже начиная с MS Access 2007, его изменили на * .accdb;
— более ранние версии не поддерживают расширение .accdb, в то время как новые версии способны читать и работать с .mdb;
— Access — это СУБД, предоставляющая все необходимые функции по определению, манипулированию и управлению большим объёмом данных;
— возможно применение как в качестве автономной СУБД, так и в клиент-серверном режиме по сети.
Запросы на выборку
Наиболее востребованная операция в БД – это получение данных из таблиц, для чего предназначены запросы на выборку. Эти команды позволяют посмотреть нужные данные из БД согласно введенным условиям. Для этого пользователь «Конструктора запросов» или программист указывает список полей (столбцов), которые он хочет получить, присваивает им наименования, расставляет в нужном порядке.
Команда может быть безусловной либо с заданными параметрами. В первом случае пользователю будет возвращен массив данных, состоящий из всех строк таблицы. Во втором – только те строки, которые отвечают введенному требованию. Таким образом можно задавать ограничения – устанавливать фильтр на необходимые данные.
Полученную информацию можно также отсортировать по одному или нескольким полям, объединить строки по какому-то признаку, произвести подсчеты с использованием функций. Это агрегатные функции, подсчитывающие количество, сумму, среднее арифметическое значение полей и другие итоги.
В выборках объединяют несколько таблиц, связывая их между собой по необходимому признаку и получая итоговую таблицу, содержащую информацию из нескольких источников.
Попробуем сделать выборку в Access, для чего предназначены запросы в «Конструкторе». Создадим в нашей базе данных таблицу «Студенты».
Код | Имя студента | Фамилия студента | Дата рождения | Факультет | Курс |
1 | Иван | Иванов | 16.05.1999 | Технологический | 3 |
2 | Сергей | Козлов | 19.01.1999 | Экономический | 3 |
3 | Валерий | Пяткин | 22.12.2000 | Экономический | 2 |
4 | Тимофей | Трещоткин | 01.05.2001 | Юридический | 1 |
Открываем вкладку «Создание» и выбираем пункт «Конструктор запросов». Добавляем таблицу «Студенты». Для выбора нужных полей дважды кликаем на них. Внизу окна добавляем сортировку, если она необходима, и дополнительные условия отбора.
После нажатия на кнопку «Выполнить» вкладки «Конструктор» в окне появляются результаты выборки.
Такие же результаты можно получить с использованием SQL-запроса. Переход в режим SQL происходит по контекстному пункту меню. Наша операция здесь выглядит так:
Аналогично можно создать и выполнить команды на выборку из нескольких таблиц, с параметрами и итогами.
Запросы на изменение
Часто возникает необходимость внести изменения в уже существующие записи таблицы, для чего предназначены запросы на изменение данных. По аналогии с предыдущими операциями, эта может выполняться как над всеми строками, так и только над теми, что соответствуют критериям отбора.
Сейчас в таблице «Студенты» есть две записи с пустыми полями «Факультет» и «Курс» — недавно добавленные строки. Давайте сделаем в них изменения и внесем нужные данные в эти столбцы.
Студент Семенов поступил на первый курс юридического факультета. В Конструкторе запросов выбираем тип команд «Обновление» и добавляем нужные данные и условие изменения записей. Нам нужно изменить два поля, поэтому вносим данные для изменения в двух столбцах параметров запроса – поле «Факультет» таблицы «Студенты» должно принять значение «Юридический», поле «Курс» этой же таблицы – значение «1». В третьем столбце вносим условие, по которому отбирать данные для изменения. Фамилия студента таблицы «Студенты» должна быть «Семенов».
В режиме SQL видим:
Выполняем операцию и получаем результат.
Запросы в СУБД Access
Запрос — объект базы данных, который используется для извлечения информации из одной или нескольких таблиц или для выполнения определенных действий с данными.
По способу формирования запросы можно разделить на два вида:
- запросы по образцу, или QBE-запросы (Query By Example), при создании которых необходимо указать параметры запроса в окне конструктора, задавая образцы для поиска информации;
- структурированные запросы, или SQL-запросы (Structured Query Language), для создания которых необходимо описать запрос с помощью языка запросов SQL.
В действительности любой запрос в Microsoft Access реализуется с помощью языка SQL. И хотя большинство запросов можно создавать в режиме конструктора, используя возможности запроса по образцу, каждый созданный запрос хранится в виде инструкции SQL. При создании запроса по образцу Microsoft Access автоматически формирует соответствующий SQL-запрос. Можно просмотреть инструкцию SQL для существующего запроса и внести в нее изменения. В этом случае автоматически будет обновляться определение соответствующего запроса по образцу в режиме конструктора.
По результатам действий и особенностям выполнения запросы можно разделить следующим образом:
- запросы на выборку, используемые для того, чтобы ото брать и представить в удобном виде данные из одной или нескольких таблиц (или запросов);
- параметрические запросы, которые позволяют задавать конкретные условия отбора непосредственно при выполнении запроса;
- перекрестные запросы, которые позволяют провести группировку и вычисления, а также представить данные в компактном виде, близком к сводной таблице Microsoft Excel;
-
запросы на изменение, которые позволяют изменять
таблицы базы данных: обновлять их, дополнять новыми записями, удалять некоторые записи. Они могут использоваться для создания новых реальных таблиц, которые,в отличие от обычных выборок, в дальнейшем существуют уже независимо от тех таблиц базы данных, которые были использованы для их построения.
Назначение запросов, их виды и использование в СУБД Access.txt
38. Назначение запросов, их виды и использование в СУБД Access Запрос – это средство выборки данных из одной или нескольких таблиц. Отбор осуществляется по условию заданному пользователем. Запросы используются для просмотра, изменения и анализа данных различными способами. Запросы также можно использовать в качестве источников записей для форм, отчетов и страниц доступа к данным. Access позволяет создавать запросы 2х типов: QBE-запросы, SQL-запросы. QBE-запросы (Query By Example) — запросы, строящиеся с помощью конструктора запросов, представляющего собой графический инструмент для создания запросов по образцу. SQL-запросы — запросы, строящиеся при помощи унифицированного набора инструкций SQL (Structured Query Language — структурированный язык запросов). Все запросы делятся на две группы: запросы-выборки, запросы-действия. Запрос на выборку является наиболее часто используемый. Запросы этого типа возвращают данные из одной или нескольких таблиц и отображают их в виде таблицы, записи в которой можно обновлять (с некоторыми ограничениями). Запросы на выборку можно также использовать для группировки записей и вычисления сумм, средних значений, подсчета записей и нахождения других типов итоговых значений. Запрос с параметрами — это запрос, при выполнении отображающий в собственном диалоговом окне приглашение ввести данные. Можно разработать запрос, выводящий приглашение на ввод нескольких единиц данных, например 2х дат. Запросы с параметрами также удобно использовать в качестве основы для форм, отчетов и страниц доступа к данным. Например, на основе запроса с параметрами можно создать месячный отчет о доходах. После ввода месяца Microsoft Access выполняет печать соответствующего отчета. Перекрестные запросы используют для расчетов и представления данных в структуре, облегчающей их анализ. Он подсчитывает сумму, среднее, число значений или выполняет другие статистические расчеты, после чего результаты группируются в виде таблицы по 2м наборам данных, 1 из которых определяет заголовки столбцов, а другой заголовки строк. Запросы на изменение (запросы-действия) -запрос, который за одну операцию изменяет или перемещает несколько записей. Существует четыре типа запросов на изменение. • На удаление записи - удаляет группу записей из одной или нескольких таблиц. С помощью запроса на удаление можно удалять только всю запись, а не отдельные поля внутри нее. • На обновление записи. вносит общие изменения в группу записей одной или нескольких таблиц, позволяет изменять данные в существующих таблицах. • На добавление записей. добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких таблиц. • На создание таблицы. создает новую таблицу на основе всех или части данных из одной или нескольких таблиц, полезен при создании таблицы для экспорта в другие базы данных Microsoft Access или при создания архивной таблицы, содержащей старые записи. Запросы SQL— это запрос, создаваемый при помощи инструкций SQL. Язык SQL используется при создании запросов, а также для обновления и управления реляционными базами данных, такими как базы данных Microsoft Access. Когда пользователь создает запрос в режиме конструктора запроса, Microsoft Access автоматически создает эквивалентную инструкцию SQL.
1.3. Создание запроса с параметром
Встречаются задачи, в которых параметры запросов заранее неизвестны, или есть необходимость в их изменении. Для этого в Access предусмотрена возможность ввода параметров запросов непосредственно перед их исполнением. Чтобы установить ввод параметра вместо конкретного значения, в строке «Условие отбора» вводятся имя или фраза, заключенные в квадратные скобки. Все, введенное в квадратных скобках Access рассматривает как имя параметра, и выводится в диалоговом окне запроса как комментарий в вводимому параметру. В запросе можно использовать несколько параметров, но с уникальными именами.
Создадим запрос, выводящий список преподавателей работающих на задаваемой пользователем кафедре. За основу возьмем таблицу «Преподаватели». Выберем в бланк вывода пункт «Преподаватели.*», выводящий все поля таблицы «Преподаватели”. Введем еще раз описание поля “Кафедра”, сбросим для него флажок вывода на экран, и в строке «Условие отбора» этого поля введем выражение: =
Сохраним полученный запрос как «Выборка преподавателей по кафедрам». Выполнив запуск запроса, мы увидим диалоговое окно, запрашивающее название кафедры.
После ввода параметра Access выводит список преподавателей, местом работы которых является запрашиваемая кафедра. Ввод параметров можно использовать при любом типе запросов: итоговом, перекрестном, запросе-действии и т.д.
О Microsoft Access
Microsoft Access – программный продукт компании Microsoft, являющейся реляционной СУБД. Имеет огромные возможности при организации базы данных, создания отдельного приложения, которое может взаимодействовать с множеством других СУБД. Наиболее часто встречающееся решение клиент-сервер, где в качестве клиента выступает приложение, написанное в Access (язык VBA, формы и многое другое), а сервером является СУБД Microsoft SQL Server. Однако Access поддерживает и взаимодействие с другими СУБД, например, такими как: MySql или PostgreSQL. О Access можно разговаривать долго, но цель сегодняшней статьи именно создание запросов (объектов) из Access.
Переходим к практике и начнем с простой базы mdb, т.е. как там создать эти самые запросы.
Ключи в Access
Поля, которые формируют связь между таблицами в Access, называют ключами. Как правило, ключ состоит из одного поля, но может включать и несколько. Существуют 2 вида ключей.
1. Первичный. Он может быть в таблице только один. Такой ключ состоит из одного либо нескольких полей, однозначно определяющих каждую запись в таблице. Нередко в качестве первичного ключа применяют уникальный идентификатор, код либо порядковый номер. К примеру, в таблице «Клиенты» можно назначить уникальный код клиента каждому клиенту. Поле кода клиента в таком случае будет являться первичным ключом данной таблицы. Если же первичный ключ состоит из нескольких полей, он обычно включает уже существующие поля, которые формируют уникальные значения в сочетании друг с другом. Допустим, в таблице с информацией о людях в качестве первичного ключа мы можем использовать сочетание фамилии, даты рождения и имени.
2. Внешний ключ. В таблице также могут быть несколько внешних ключей (либо один). Этот ключ содержит значения, которые соответствуют значениям первичного ключа другой таблицы. К примеру, в таблице «Заказы» каждый заказ может включать код клиента, который соответствует конкретной записи в таблице «Клиенты». А поле «Код клиента» будет внешним ключом таблицы «Заказы».
Таким образом, основой связи между таблицами в Access является соответствие значений между полями ключей. Посредством такой связи мы можем комбинировать данные из связанных таблиц. Допустим, существуют таблицы «Заказы» и «Заказчики». При этом каждая запись в таблице «Заказчики» идентифицируется полем первичного ключа, которое называется «Код»
Если мы хотим связать каждый заказ с клиентом, мы можем добавить в таблицу «Заказы» поле внешнего ключа, которое соответствует полю «Код» в нашей таблице «Заказчики», после чего создать связь между данными 2-мя ключами. В случае добавления записи в таблицу «Заказы» мы могли бы использовать значение кода клиента из нашей таблицы «Заказчики». Тогда во время просмотра каких-нибудь данных о клиенте, который сделал заказ, связь позволила бы определить, какие именно данные из нашей таблицы «Заказчики» соответствуют тем либо иным записям в нашей таблице «Заказы»:
- Первичный ключ, определяемый по знаку ключа рядом с именем поля.
- Внешний ключ, определяемый по отсутствию знака ключа.
Групповые операции в запросах Access
Сегодня поговорим на тему «Групповые операции в запросах Access». Групповые операции в запросах Access позволяют выделить группы записей с одинаковыми значениями в указанных полях и вычислить итоговые данные для каждой из групп по другим полям, используя одну из статистических функций. Статистические функции применимы, прежде всего, к полям с типом данных Числовой, Денежный, Дата/время. В Access предусматривается девять статистических функций:
- Sum — сумма значений некоторого поля для группы;
- Avg — среднее от всех значений поля в группе;
- Max, Min — максимальное, минимальное значение поля в группе;
- Count — число значений поля в группе без учета пустых значений;
- StDev — среднеквадратичное отклонение от среднего значения поля в группе;
- Var — дисперсия значений поля в группе;
- First и Last — значение поля из первой или последней записи в группе.
Результат запроса с использованием групповых операций содержит по одной записи для каждой группы. В запрос, прежде всего, включаются поля, по которым производится группировка, и поля, для которых выполняются статистические функции. Кроме этих полей в запрос могут включаться поля, по которым задаются условия отбора. Рассмотрим конструирование однотабличного запроса с групповой операцией на примере таблицы ПОСТАВКА_ПЛАН.
Запрос с функцией Sum
Задача. Определите, какое суммарное количество каждого из товаров должно быть поставлено покупателям по договорам. Все данные о запланированном к по-ставке количестве товара указаны в таблице ПОСТАВКА_ПЛАН.
- Создайте в режиме конструктора запрос на выборку из таблицы ПОСТАВКА_ПЛАН.
- Из списка таблицы перетащите в бланк запроса поле КОД_ТОВ ― код товара. По этому полю будет производиться группировка записей таблицы.
- Перетащите в бланк запроса поле КОЛ_ПОСТ, по которому будет подсчитываться суммарное количество каждого из товаров, заказанных во всех договорах.
- Выполните команду Итоги (Totals) из группы Показать или скрыть (Show/Hide). В бланке запроса появится новая строка Групповая операция (Total) со значением Группировка (Group By) в обоих полях запроса.
- В столбце КОЛ_ПОСТ замените слово Группировка (Group By) на функцию Sum. Для этого вызовите список и выберите эту функцию. Бланк запроса примет вид, показанный на рис. 4.11.
- Для отображения результата запроса (рис. 4.12) щелкните на кнопке Выполнить (Run) в группе Результаты (Results).
- Замените подпись поля Sum-КОЛ_ПОСТ на Заказано товаров. Для этого перейдите в режим конструктора, в бланке запроса установите курсор мыши на поле КОЛ_ПОСТ и нажмите правую кнопку. В контекстном меню выберите Свойства (Properties). В окне Свойства поля (Field Properties) введите в строке Подпись (Caption) — Заказано товаров. Для открытия окна свойств может быть выполнена команда Страница свойств (Property Sheet) в группе Показать или скрыть (Show/Hide).
- Сохраните запрос под именем Заказано товаров.
- Чтобы подсчитать количество товаров, заказанных в каждом месяце, выполните группировку по двум полям: КОД_ТОВ и СРОК_ПОСТ, в котором хранится месяц поставки (рис. 4.13).
- Чтобы подсчитать количество товаров, заказанных в заданном месяце, предыдущий запрос дополните вводом параметра запроса в условие отбора (рис. 4.14).
Запрос с функцией Count
Задача. Определите, сколько раз отгружался товар по каждому из договоров. Факт отгрузки фиксируется в таблице НАКЛАДНАЯ.
Создайте запрос на выборку на основе таблицы НАКЛАДНАЯ. Из списка полей таблицы НАКЛАДНАЯ перетащите в бланк запроса поле НОМ_ДОГ. По этому полю должна производиться группировка
По сути, смысл задачи сводится к подсчету в таблице числа строк с одинаковым номером договора, поэтому неважно по какому полю будет вычисляться функция Count. Перетащите в бланк запроса любое поле, например опять НОМ_ДОГ
Выполните команду Итоги (Totals) из группы Показать или скрыть (Show/Hide). Замените слово Группировка (Group By) в одном из столбцов с именем НОМ_ДОГ на функцию Count. Бланк запроса примет вид, показанный на рис. 4.15.
- Сохраните запрос под именем Число отгрузок по договорам. Выполните запрос. Результат запроса показан на рис. 4.16.
Для закрепления смотрим видеоурок:
Следующая тема: Запросы на изменение Access.
Что представляет собой БД?
Как известно, база данных представляет собой инструмент сбора и структурирования информации. В БД можно хранить данные о людях, заказах, товарах и т. п. Многие БД изначально выглядят как небольшой список в текстовом редакторе либо электронной таблице. Но в связи с увеличением объёма данных, список наполняется лишней информацией, появляются несоответствия, не всё становится понятным… Кроме того, способы поиска и отображения подмножеств данных при использовании обычной электронной таблицы крайне ограничены. Таким образом, лучше заранее подумать о переносе информации в базу данных, созданную в рамках системы управления БД, например, в такую, как Access.
База данных Access — это хранилище объектов. В одной такой базе данных может содержаться более одной таблицы. Представьте систему отслеживания складских запасов с тремя таблицами — это будет одна база данных, а не 3.
Что касается БД Access, то в ней все таблицы сохраняются в одном файле совместно с другими объектами (формами, отчётами, модулями, макросами).
Для файлов БД, созданных в формате Access 2007 (он совместим с Access 2010, Access 2013 и Access 2016), применяется расширение ACCDB, а для БД, которые созданы в более ранних версиях, — MDB. При этом посредством Access 2007, Access 2013, Access 2010 и Access 2016 вы сможете, при необходимости, создавать файлы и в форматах более ранних версий (Access 2000, Access 2002–2003).
Применение БД Access позволяет:
• добавлять новые данные в БД (допустим, новый артикул складских запасов);
• менять информацию, находящуюся в базе (перемещать артикул);
• удалять данные (например, когда артикул продан либо утилизирован);
• упорядочивать и просматривать данные разными методами;
• обмениваться информацией с другими людьми посредством отчётов, сообщений, эл. почты, глобальной или внутренней сети.