Изменение свойств запросов в microsoft access
Содержание:
- Скрытие полей в запросах
- О Microsoft Access
- Сохранение, добавление, удаление
- Добавление и удаление записей
- Запросы в Access
- 2.4. Microsoft Access 2007
- Краткие рекомендации
- О Microsoft Access
- Создание запросов на удаления записей
- Рекомендуем в повседневной деятельности:
- Самое популярное
- Создание запросов в Microsoft Access 2003 — база MDB
- Легкий путь для новичков
- Задание
- Создание запроса с несколькими таблицами
- Ключевое поле
- Примечания
- Итоговые запросы
- Итоговый запрос из базы данных Access
Скрытие полей в запросах
Иногда у вас могут быть поля, содержащие важные критерии, но вам может не понадобиться фактически видеть информацию из этого поля в окончательных результатах. Например, возьмите один из запросов, которые мы создали в нашем последнем уроке: запрос для поиска имен и контактной информации клиентов, которые разместили заказы. Мы включили идентификаторы номеров заказов в наш запрос, потому что мы хотели убедиться, что мы только вытащили клиентов, которые разместили заказы.
Однако нам действительно не нужно было видеть эту информацию в наших окончательных результатах запроса. На самом деле, если бы мы просто искали имена и адреса клиентов, видя, что номер заказа, смешанный с ним, тоже мог даже отвлекать. К счастью, Access позволяет скрыть поля, сохраняя при этом все критерии, которые они содержат.
О Microsoft Access
Microsoft Access – программный продукт компании Microsoft, являющейся реляционной СУБД. Имеет огромные возможности при организации базы данных, создания отдельного приложения, которое может взаимодействовать с множеством других СУБД. Наиболее часто встречающееся решение клиент-сервер, где в качестве клиента выступает приложение, написанное в Access (язык VBA, формы и многое другое), а сервером является СУБД Microsoft SQL Server. Однако Access поддерживает и взаимодействие с другими СУБД, например, такими как: MySql или PostgreSQL. О Access можно разговаривать долго, но цель сегодняшней статьи именно создание запросов (объектов) из Access.
Переходим к практике и начнем с простой базы mdb, т.е. как там создать эти самые запросы.
Сохранение, добавление, удаление
В Microsoft Access изменения сохраняются автоматически при следующих действиях:
- Переход к следующей записи
- Закрытие режима таблицы или формы
Добавление и удаление записей
Для добавления данных в новую запись:
- Перейдите на пустое поле новой записи
- Введите новую группу с количеством студентов и проходным баллом, нажимая TabилиEnter для перехода к следующему полю
Для удаления записей:
- Выделите записи для удаления, щелкнув курсором на серой кнопке слева от первой удаляемой записи и переместив указатель вдоль требуемых записей.
- Нажмите Del или выберите команду Правка|Удалить записи
Примечание:
Нельзя удалить данные из блокированного поля, вычисляемого поля или поля типа счетчик.
Запросы в Access
Запросы в Access являются основным инструментом выборки, обновления и обработки данных в таблицах базы данных. Access в соответствии с концепцией реляционных баз данных для выполнения запросов использует язык структурированных запросов SQL (Structured Query Language). С помощью инструкций языка SQL реализуется любой запрос в Access.
Основным видом запроса является запрос на выборку. Результатом выполнения этого запроса является новая таблица, которая существует до закрытия запроса. Записи формируются путем объединения записей таблиц, на которых построен запрос. Способ объединения записей таблиц указывается при определении их связи в схеме данных или при создании запроса. Условия отбора, сформулированные в запросе, позволяют фильтровать записи, составляющие результат объединения таблиц.
В Access может быть создано несколько видов запроса:
- запрос на выборку — выбирает данные из одной таблицы или запроса или нескольких взаимосвязанных таблиц и других запросов. Результатом является таблица, которая существует до закрытия запроса. Формирование записей таблицы результата производится в соответствии с заданными условиями отбора и при использовании нескольких таблиц путем объединения их записей;
- запрос на создание таблицы — выбирает данные из взаимосвязанных таблиц и других запросов, но, в отличие от запроса на выборку, результат сохраняет в новой постоянной таблице;
- запросы на обновление, добавление, удаление — являются запросами действия, в результате выполнения которых изменяются данные в таблицах.
Запросы в Access в режиме конструктора содержат схему данных, отображающую используемые таблицы, и бланк запроса, в котором конструируется структура таблицы запроса и условия выборки записей (рис. 4.1).
С помощью запроса можно выполнить следующие виды обработки данных:
- включить в таблицу запроса выбранные пользователем поля таблицы;
- произвести вычисления в каждой из полученных записей;
- выбрать записи, удовлетворяющие условиям отбора;
- сформировать на основе объединения записей взаимосвязанных таблиц новую виртуальную таблицу;
- сгруппировать записи, которые имеют одинаковые значения в одном или нескольких полях, одновременно выполнить над другими полями группы статистические функции и в результат включить одну запись для каждой группы;
- создать новую таблицу базы данных, используя данные из существующих таблиц;
- произвести обновление полей в выбранном подмножестве записей;
- удалить выбранное подмножество записей из таблицы базы данных;
- добавить выбранное подмножество записей в другую таблицу.
Запросы в Access служат источниками записей для других запросов, форм, отчетов. С помощью запроса можно собрать полные сведения для формирования некоторого документа предметной области из нескольких таблиц, далее использовать его для создания формы — электронного представления этого документа. Если форма или отчет создаются мастером на основе нескольких взаимосвязанных таблиц, то для них в качестве источника записей автоматически формируется запрос. Для закрепления смотрим видеоурок:
2.4. Microsoft Access 2007
2.4.5. Создание запросов и поиск информации в базе данных
В СУБД Access 2007 можно создавать queries для отображения требуемых полей из записей одной или нескольких таблиц.
В СУБД Access 2007 применяются различные типы запросов: на выборку, на обновление, на добавление, на удаление, перекрестный query, выполнение вычислений, создание таблиц. Наиболее распространенным является query на выборку. Применяются два типа запросов: query по образцу (QBE) и query на основе структурированного языка запросов (SQL).
Запросы на выборку используются для отбора требуемой пользователю информации, содержащейся в нескольких таблицах. Они создаются только для связанных таблиц. Queries могут основываться как на нескольких таблицах, так и существующих запросах. СУБД Access 2007 включает такие средства создания запросов, как Мастер и Конструктор.
Кроме того, в СУБД Access 2007 существует множество средств для поиска и отображения информации, которая хранится в базе данных. Данные в таблицах можно отсортировать на основе любого поля или комбинации полей. Для извлечения из базы данных необходимых записей можно отфильтровать таблицу, применив средства фильтрации.
На скриншоте (рисунок 1) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.
Рис. 1.
Рассмотрим создание запроса на выборку с помощью Конструктора
Для создания нового пустого запроса в режиме конструктора надо щелкнуть на пиктограмме Конструктор запросов (рисунок 2).
Рис. 2.
Откроется активное окно диалога Добавление таблицы (рисунок 3) на фоне неактивного окна «Запрос1». В этом окне можно выбрать таблицы и queries для создания новых запросов.
Рис. 3.
В окне Добавление таблицы следует выбрать несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, а окно «Запрос1» станет активным (рисунок 4).
Рис. 4.
Окно Конструктора состоит из двух частей – верхней и нижней. В верхней части окна размещается схема данных запроса, которая содержит список связанных таблиц. В нижней части окна находится Бланк построения запроса QBE, в котором каждая строка выполняет определенную функцию.
Переместим имена полей с таблиц-источников в Бланк. Из таблицы Группы студентов переместим поле Название в первое поле Бланка, из таблицы Студенты переместим поле Фамилии во второе поле, а из таблицы Успеваемость переместим поле Оценка в третье поле и из таблицы Дисциплины переместим поле Название в четвертое поле Бланка запросов.
При необходимости можно задать принцип сортировки (по возрастанию или по убыванию) результатов запроса. В строке «Вывод на экран» автоматически устанавливается флажок просмотра информации.
Условия ограниченного поиска или критерий поиска информации вводится в строке «Условия» отбора и строке «Или». Например, введем критерий поиска — «5/A» в строке «Условия» для поля Оценка. В этом случае в результате выполнения запроса на экране будут отображаться все фамилии студентов, которые получили оценку 5/A (рисунок. 5).
Рис. 5.
Далее надо закрыть окно запроса Запрос1, появится окно диалога Сохранить, ответить — Да и ввести имя запроса, например «Успеваемость студентов». Для запуска запроса дважды щелкнем на query «Успеваемость студентов», откроется таблица с результатами выполненного запроса (рис. 6).
Рис. 6.
Далее создаем параметрический query или query с параметрами. Создаем этот query также как и предыдущий, в режиме конструктора, но только в строке Условия отбора для поля Фамилия введем условие отбора в виде приглашения в квадратных скобках, например . В этом случае в результате выполнения запроса на экране будет отображаться фамилия студента и все дисциплины, по которым он получил оценку.
Закрыть окно запроса на выборку. На вопрос о сохранении изменения ответить — Да и ввести имя запроса, например «Параметрический query». Запустим Параметрический query, дважды щелкнув на нем. В открывшемся на экране окне диалога «Введите значение параметра» надо ввести фамилию студента, информацию об успеваемости которого необходимо получить (рис. 8).
Рис. 7.
Затем надо щелкнуть на кнопке ОК, откроется таблица с результатами выполненного запроса (рис. 8).
Рис. 8.
В некоторых случаях для создания запросов можно использовать Мастер запросов. После создания запросов на выборку информации из БД Access 2007 можно приступать к формированию форм.
Далее >>> Раздел: 2.4.6. Создание форм для ввода данных в таблицы базы данных Access 2007
Краткие рекомендации
Подводя итоги, нужно сказать, что решить, как создавать запросы в Access – с помощью Мастера или Конструктора, должен сам пользователь. Хотя, для большинства людей, которые используют СУБД MS Access, больше подойдет первый вариант. Ведь Мастер сам сделает всю работу, оставив для пользователя только несколько кликов мышью, при выборе условий запроса.
Чтобы использовать расширенные настройки, явно необходим опыт работы с базами данных на уровне профессионала. Если в работе задействованы большие базы, лучше всего обратиться к специалистам, дабы избежать нарушения работы СУБД и возможных потерь данных.
Есть один момент, который доступен лишь программистам. Так как основным языком СУБД является SQL, то нужный запрос можно написать в виде программного кода. Чтобы работать в данном режиме, достаточно нажать на строку уже созданного запроса, и в открывшемся контекстном меню выбрать «Режим SQL».
О Microsoft Access
Microsoft Access – программный продукт компании Microsoft, являющейся реляционной СУБД. Имеет огромные возможности при организации базы данных, создания отдельного приложения, которое может взаимодействовать с множеством других СУБД. Наиболее часто встречающееся решение клиент-сервер, где в качестве клиента выступает приложение, написанное в Access (язык VBA, формы и многое другое), а сервером является СУБД Microsoft SQL Server. Однако Access поддерживает и взаимодействие с другими СУБД, например, такими как: MySql или PostgreSQL. О Access можно разговаривать долго, но цель сегодняшней статьи именно создание запросов (объектов) из Access.
Переходим к практике и начнем с простой базы mdb, т.е. как там создать эти самые запросы.
Создание запросов на удаления записей
Запросы на удаление записей позволяют отобрать требуемые записи и удалить их за один прием. Принцип создания такого запроса аналогичен созданию запроса на обновление, однако, удаляя записи из связанных таблиц, необходимо помнить о том, что при этом не должна нарушаться целостность данных.
Если две таблицы связаны отношением «один-ко-многим», нельзя удалять записи из таблицы «один» если в таблице «многие» присутствуют соответствующие им записи. Сначала должны быть удалены записи в таблице «многие» и только потом – соответствующие им записи в таблице «один». Для того чтобы упростить этот процесс, Access позволяет при определении связей между таблицами установить флажок Каскадное удаление связанных записей (Cascade Delete Related Records). Такой флажок установлен, например, для связи таблиц «Заказы» (Orders) и «Заказано» (Order Details). Действительно, если требуется удалить из базы данных какой-то заказ, должны быть удалены не только запись об этом заказе в таблице «Заказы», но ч все позиции данного заказа в таблице «Заказано».
Для создания запроса на удаления мы воспользуемся уже имеющимся запросом на добавление записей «Копирование заказов».
- Откройте этот запрос в режиме Конструктора.
- Чтобы преобразовать запрос на добавление в запрос на удаление записей, выберите команду Запрос → Удаление (Query → Delete Query). В бланке запроса появится строка Удаление (Delete) (рис. 5). В первом столбце строки Удаление (Delete) показывается значение Из (From), которое указывает, что будут удаляться записи из таблицы «Заказы». Во втором столбце строки Удаление (Delete) вы видите значение Условие (Where), что указывает на использование этого столбца для определения критерия отбора удаляемых записей.
Рис. 5. Запрос на удаление записей из таблицы «Заказы»
- Нажмите кнопку Запуск (Run). Выводятся сообщение с приглашением подтвердить удаление записей и информация о количестве записей, которые будут удалены. Их будет столько же, сколько было отобрано в соответствующем запросе на добавление. В этот момент еще можно отменить удаление, для чего достаточно нажать кнопку Нет (No) в окне сообщения. Нажмите кнопку Да (Yes), подтверждая удаление. Будут удалены все заказы за 1996 год из таблицы «Заказы» (Orders) и все позиции заказов из таблицы «Заказано» (Order Details). Вы можете убедиться в этом, если откроете таблицу «Заказано».
- Сохраните запрос, дав ему имя: Удаление заказов.
Однако такое каскадное удаление записей не всегда возможно. Например, для рассмотренной нами в предыдущем разделе связи таблиц «Сотрудники» и «Заказы» нельзя устанавливать флажок Каскадное удаление связанных записей (Cascade Delete Related Records), т. к. удаление записи о сотруднике из таблицы «Сотрудники» не должно повлечь за собой удаление всех его заказов. Если вы попытаетесь удалить какую-либо запись о сотруднике и в таблице «Заказы» (Orders) окажутся заказы, принятые этим сотрудником, Access выдаст сообщение об ошибке (рис. 6).
Рис. 6. Запрос на удаление
Рекомендуем в повседневной деятельности:
Скачать — инструкцию по созданию загрузочной флешки = 50,02мин. | 20.04.2014г. |
Скачать — правила получение аттестата Webmoney (30.61 MB) = 7. 5 мин. | 11.01.2013г. |
Скачать ссылки на каталоги — для регистрации сайта (69.5 MB) = 9. 7 мин. | 01.10.2013г. |
Скачать — wifi router настройка модема (41.72 MB) = 7 мин. 46 сек. | 26.01.2013г. |
Скачать — TDSSKiller диагностика, лечение систем (24,71 MB) = 6,02 мин. | 01.12.2012г. |
Скачать — пример готового проэкта в Lazarus (91,59 MB) = 1,31мин. | 08.04.2013г. |
Скачать — правила установки MySQL в Lazarus (20,17 MB) = 4,55 мин. | 25.02.2013г. |
колонтитулы в word 2007, 000000111111
Класс! |
|
Самое популярное
|
Создание запросов в Microsoft Access 2003 — база MDB
Для начала открываем базу, затем нажимаем на объекты «Запросы» и жмем кнопку «Создать».
Примечание! Имеется в виду, что база у Вас уже есть.
И перед Вами откроется новое окно выбора типа запроса
Давайте рассмотрим каждый из этих типов запросов подробней.
Типы запросов в Access 2003 — база MDB
Конструктор – это создание запроса на основе конструктора, так сказать в графическом редакторе, но в нем можно перейти в режим sql и написать текст запроса как обычно. Сразу же после запуска у Вас откроется окно выбора нужных таблиц или уже существующих запросов, так как существующие запросы можно также использовать для выборки необходимых данных, это как будто «представление».
Далее Вы просто выбираете нужные поля, ставите условия, сортировку и так далее.
Если не нравится это делать в графическом редакторе, то можете переключиться в режим SQL, для этого нажмите пункт меню «Вид», затем «Режим SQL».
Простой запрос – это, можно сказать, такой же конструктор, только немного другого вида и поменьше возможностей.
Перекрестный запрос – это так называемое транспонирование таблицы, другими словами, вывод данных, которые располагаются в колонках по горизонтали, т.е. каждое значение из одного столбца будет выведено по горизонтали в отдельной колонке. Это все делается с помощью мастера, поэтому проблем возникнуть не должно.
Повторяющееся записи – это как видно из названия поиск повторяющихся записей.
Записи без подчиненных – это поиск тех записей, которые отсутствуют в той или иной таблице.
С базами mdb достаточно, так как их редко используют на предприятиях, обычно используют следующую схему – пишут отдельный клиент, а все данные хранят на сервере с помощью СУБД в нашем случае — это MS SQL Server, а клиент Access (.adp).
Легкий путь для новичков
Знающий человек за несколько кликов мышью выбирает те компоненты, которые потребуются пользователю для выполнения запроса, а затем быстро формирует реестр, в соответствии с собранными ключевыми значениями. Если это первое знакомство с СУБД, и пользователь не представляет, как создавать запросы в Access, то выбирается программа Мастер.
В данном режиме можно ознакомиться и разобраться со следующими типами запросов:
- Простой.
- Перекрестный.
- Записи без подчиненных.
- Повторяющиеся записи.
Данный выбор осуществляется уже на первом этапе работы с Мастером. А в дальнейшем, следуя четким указаниям, даже начинающий пользователь легко создаст запрос. Познакомимся с его разновидностями.
Задание
Для
своей базы данных, подготовленной во время выполнения предыдущих лабораторных
работ, сформулировать и реализовать запросы следующих типов (по одному запросу
на каждый тип):
- выборка данных из нескольких
таблиц - выборка данных с двумя
условиями - перекрестный запрос
- запрос с параметром
- поиск повторяющихся записей
- поиск записей без
подчиненных - запрос на обновление
- запрос на добавление
- запрос на удаление
- запрос с объединением
Подготовить отчет по работе,
который должен содержать:
1.
титульный лист
2.
задание
3.
схему данных
4.
исходные заполненные таблицы
5.
для каждого запроса привести его
формулировку, текст на SQL и пример выполнения
Способы создание запросов в MS Access
1)
с помощью мастера можно
создать простой, перекрестный запрос, запрос на поиск повторяющихся записей на
поиск записей без подчиненных.
2)
в окне конструктора. Когда
пользователь создает запрос в режиме конструктора запроса, Microsoft Access
автоматически создает эквивалентную инструкцию SQL. Пользователь имеет
возможность просматривать и изменять инструкции SQL в режиме SQL. Изменения,
внесенные в запрос в режиме SQL, приведут к соответствующим изменениям в бланке
запроса в режиме конструктора. В нижней части окна для каждого выводимого
поля надо указать: имя поля, имя таблицы, название групповой операции (Sum, Avg, Count,
Min, Max, StDev, Var, First, Last, Выражение, Условие, Группировка), способ сортировки
( Ascending по возрастанию, ¯ Descending по убыванию, Notsorted без сортировки), вывод на экран (да или нет), условие
(я) отбора
3) в окне редактора
SQL.
Окно свойства запроса
Примеры запросов на
выборку:
1
Вывести в алфавитном порядке код,
наименование, стоимость товара и название категории;
SELECT Товары.КодТовара,
Товары.Марка, Товары.Цена, Типы.Категория
FROM Типы INNER JOIN Товары
ON Типы.КодТипа = Товары.КодТипа
ORDER BY Товары.Марка;
2
Вывести список десяти самых
дорогих товаров
SELECT DISTINCTROW TOP 10
Товары.Марка AS СамыеДорогиеТовары, Товары.Цена
FROM Товары
ORDER BY Товары.Цена
DESC;
3
Определить среднюю, минимальную и
максимальную стоимость товаров и их общее количество (использовать групповые
функции avg, min, max, count);
SELECT Avg(Товары.Цена) AS
, Min(Товары.Цена) AS , Max(Товары.Цена) AS
, Count(Товары.Цена) AS
FROM Товары;
Пример запроса на
обновление:
Снизить цены на
товары выбранной категории на 20%;
UPDATE Товары SET Товары.Цена
= *0,8
WHERE (((Товары.КодТипа)=2));
Пример запроса на
добавление:
В
список поставщиков включить клиентов, которые находятся на территории России.
INSERT INTO Поставщики
(Название, Страна )
SELECT Клиенты.Название,
Клиенты.Страна
FROM Клиенты
WHERE ((( Клиенты.Страна)=»Россия»));
Пример запроса на удаление (на схеме данных должно быть указано поддержание
каскадного удаления связанных данных):
Удалить данные о поставщиках
из России
DELETE Поставщики.*,
.
FROM Поставщики
WHERE (((.)=»Бельгия»));
Пример запроса на
объединение (запрос SQL)
Вывести список
городов, с которыми есть деловые отношения.
SELECT Город
FROM Клиенты
UNION SELECT Город
FROM Поставщики;
Создание запроса с несколькими таблицами
Теперь, когда мы запланировали наш запрос, мы готовы его спроектировать и запустить. Если вы создали письменные планы для своего запроса, обязательно обращайтесь к ним часто в процессе разработки запроса.
Чтобы создать запрос с несколькими таблицами:
- Выберите команду « Конструктор запросов» на вкладке « Создать » на ленте.
В появившемся диалоговом окне « Показать таблицу » выберите каждую таблицу, которую вы хотите включить в свой запрос, затем нажмите « Добавить» . После того, как вы добавили все нужные таблицы, нажмите « Закрыть» . Когда мы планировали наш запрос, мы решили, что нам нужна информация из таблицы 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
Ключевое поле
Ключевое поле
Это та запись, которая определяет запись в таблице.
Нажимаем в колонке слева на названии таблицы Читатель. Справа появилась таблица. Правой кнопкой нажимаем на названии – конструктор – в пустом поле пишем код читателя.
Сделаем это поле ключевым (на панели задач – ключевое поле) и закроем таблицу.
Это первичный ключ. Для ключевых полей используют тип – счетчик или числовой.
Определим ключевое поле для каждой таблицы аналогично предыдущей.
Книги – код книги.
Издательство – код издательства (тип данных –мастер подстановок – Издательство- выберите поле код и наименование).
Выдача – код выдачи (код читателя – таблица Читатель /код читателя и фамилия/ и код книги – таблица Книги/ код книги и название).
Любое поле можно перетащить мышкой в начало таблицы или в другое нужное место. Ключевые поля обычно ставят на первое месте
Связывание таблиц
Переходим на вкладку – Работа с базами данных – схема данных – появилось окно.
Поочередно нажимаем на название каждой таблицы и закрываем окно.
Появилась схема данных. Определим как будем связывать таблицы.
Издательства выпускают книги. Значит, в таблицу Книги надо добавить Код издательства. Для этого открываем таблицу Книги в режиме конструктора и добавляем код издательства.
Возвращаемся в схему данных и перетаскиваем Код издательства из одной таблицы в Код издательства другой. Появляется окно. Ставим Обеспечение целостности данных и в двух других пунктах ниже. Далее нажимаем создать. Появляется связь – один ко многим, т.е. одно издательство выпускает много книг.
Аналогично свяжем две другие таблицы.
Откроем таблицу Выдача через конструктор. Добавляем поле Код читателя.
Сохраняем, закрываем.
Теперь Код читателя таблицы Читатель переносим на Код читателя таблицы Выдача.
Ставим везде галочки — создать. Появилась связь (читатель берет много книг).
Теперь свяжем таблица Книги и Выдача. Для этого в таблицу Выдача добавим Код книги. И проделаем те же манипуляции.
Заполнение таблиц
Берем таблицу Читатель. Код читателя ставим на первое место. Нумерация будет автоматическая в этом поле. Вводим остальные данные (не менее 10) и сохраняем правой кнопкой.
Заполняем остальные таблицы по аналогии.
Примечания
Ядро СУБД Access выбирает записи, соответствующие условиям, указанным в предложении WHERE. Если не указать предложение WHERE, запрос возвращает все строки из таблицы. Если указать несколько таблиц в запросе и не добавить предложение WHERE или предложение JOIN, запрос создает декартово произведение таблиц.
WHERE является необязательным, но при включении следует за FROM. Например, можно выбрать всех сотрудников отдела продаж () или всех клиентов в возрасте от 18 до 30 ().
Если вы не используете предложение JOIN для выполнения операций объединения SQL для нескольких таблиц, итоговый объект Recordset будет необновляемым.
Предложение WHERE похоже на HAVING. WHERE определяет, какие записи выбираются. Аналогичным образом, после группировки записей с помощью GROUP BY, HAVING определяет, какие записи будут отображаться.
Используйте предложении WHERE, чтобы исключить записи, которые не нужно группировать с помощью предложения GROUP BY.
Чтобы определить, какие записи возвращает инструкция SQL, используйте различные выражения. Например, указанная ниже инструкция SQL выбирает всех сотрудников с окладом более 21 000 долл. США:
Предложение WHERE может содержать до 40 выражений, связанных с помощью логических операторов, таких как And и Or.
При вводе имени поля, содержащего пробел или знак препинания, заключите имя в квадратные скобки ([]). Например, таблица сведений о клиенте может содержать сведения об определенных клиентах:
Если указывается аргумент criteria, литералы даты должны быть в формате США, даже если не используется версия обработчика баз данных Microsoft Jet для США. Например, 10 мая 1996 г. записывается в формате Соединенного Королевства как 10/5/96, а в формате США как 5/10/96. Убедитесь, что литералы даты ограничены знаками решетки (#), как показано в примерах ниже.
Чтобы найти записи с датой 10 мая 1996 г. в базе данных для Соединенного Королевства, необходимо использовать указанную ниже инструкцию SQL:
Также можно использовать функцию DateValue, распознающую международные настройки, установленные Microsoft Windows. Например, используйте этот код для США:
А этот код используйте для Соединенного Королевства:
Примечание
Если столбец, указанный в строке условий, является типом GUID, в выражении условия используется немного другой синтаксис:
Не забудьте добавить вложенные фигурные скобки и дефисы, как показано.
Итоговые запросы
Иногда установка простых критериев не даст вам результатов, которые вам нужны, особенно когда вы работаете с числами. Вы можете захотеть, чтобы ваши результаты запроса были сгруппированы или подсчитаны каким-то образом. Access 2010 предлагает несколько вариантов, которые делают эти функции возможными. Возможно, самым простым из них является команда Totals.
Когда вы используете функцию Totals в своем запросе, данные в ваших полях будут сгруппированы по значению, что означает, что все элементы одного типа перечислены вместе. Например, в общем запросе на предметы, проданные в нашей пекарне, каждый тип проданного предмета будет указан в одной строке, независимо от того, сколько раз этот товар был продан.
После того, как ваши записи сгруппированы, вы можете выполнять вычисления с ними. Эти расчеты включают:
- Счет(Count), который подсчитывает количество одинаковых элементов в поле
- Сумма, которая добавляет числа в это поле
- Среднее значение, которое находит среднее из чисел, которые происходят в этом поле
- Максимум, который возвращает наибольшее значение, которое было введено в этом поле
- Минимум, который возвращает самое низкое значение, которое было введено в этом поле
- Первый, который возвращает первое или самое раннее значение, которое было введено в этом поле
- Последний, которое возвращает последнее или последнее значение, которое было введено в этом поле
Эти вычисления будут применяться к строкам, содержащим ваши сгруппированные элементы. Например, если вы решили использовать Sum, чтобы узнать, сколько из каждого элемента в меню было заказано, вы получите промежуточный итог для каждого элемента в своем запросе, а не общую сумму всех объединенных элементов.
Итоговый запрос из базы данных Access
Запросы позволяют не только выбирать записи из таблиц Access, но и вычислять различные статистические параметры. Например, можно подсчитать суммарное количество контактов и вывести даты первого и последнего контакта с каждым из людей, включенных в таблицу Контакты. Чтобы построить такой запрос в режиме конструктора, выполните следующие действия.
1. В окне базы данных щелкните на кнопке Запросы.
2. Дважды щелкните на значке Создание запроса в режиме конструктора.
3. В открывшемся окне диалога (рис. 17.6) выделите строку Контакты.
4. Щелчком на кнопке Добавить добавьте выбранную таблицу в верхнюю область конструктора запроса.
5. Выделите пункт Список и снова щелкните на кнопке Добавить.
6. Щелчком на кнопке Закрыть закройте окно диалога Добавление таблицы. Списки полей двух таблиц, соединенные линией связи, появятся в окне конструктора.
7. Щелкните на кнопке Групповые операции панели инструментов. В бланке запроса появится дополнительная строка Групповая операция, позволяющая выполнять статистические операции со значениями конкретных полей.
Рис. 17.6 . Добавление таблицы
8. Перетащите поле Фамилия в ячейку Поле первого столбца конструктора.
9. В ту же ячейку второго столбца перетащите поле Имя таблицы Контакты.
10. В третий, четвертый и пятый столбцы бланка запроса перетащите поле Дата таблицы Список (рис. 17.7).
Рис. 17.7. Запрос с групповыми операциями
11. В раскрывающемся списке ячейки Групповая операция третьего столб ца бланка запроса выберите пункт Min.
12. В той же ячейке четвертого столбца выберите пункт Мах.
13. В пятом столбце задайте групповую операцию Count. Групповые операции построенного запроса обработают все записи таблицы Список, соответствующие конкретному человеку из таблицы Контакты, и вместо самих данных таблицы Список выведут в соответствующее поле результата запроса только значение величины, вычисляемой по определенной формуле. Доступные групповые операции перечислены в табл. 17.1.
ТАБЛИЦА 17.1 . Групповые операции
Примечание Поскольку в пятом поле запроса вычисляется количество записей, в ячейку Поле этого столбца можно поместить любое поле таблицы Список.
14. Щелкните на кнопке Вид, чтобы выполнить запрос. Появится таблица с пятью столбцами. Два первых столбца содержат фамилии и имена людей. По ним выполняется группировка, то есть расчет значений остальных полей запроса выполняется для записей таблицы Список, сопоставляемых с одним человеком. Как уже говорилось выше, соответствие контакта таблицы Список и человека из таблицы Контакты определяется полями Код_Контакты, с помощью которых осуществляется связь этих двух таблиц. Третий и четвертый столбцы запроса выводят соответственно дату первого (функция Min) и последнего (функция Мах) контакта с данным человеком. Пятый столбец содержит количество записей в таблице Список (функция Count), соответствующих. данному человеку, то есть число контактов с ним. Единственный недостаток построенного запроса — это непонятные имена столбцов. Давайте скорректируем их.
15. Щелчком на кнопке Вид вернитесь в конструктор запроса.
16. В ячейке Поле третьего столбца замените имя Дата на текст Дата первого контакта: Дата. Правая часть этого выражения, расположенная правее двоеточия, по-прежнему задает имя поля, а левая определяет название столбца результата запроса. Таким образом, любому столбцу запроса можно назначить произвольное имя.
17. В ячейке Поле четвертого столбца введите Дата последнего контакта: Дата.
18. В первой строке пятого столбца бланка запроса введите Число контактов: Дата.
Примечание К сожалению, подобный прием не подходит для смены названия поля, значение которого не вычисляется, а передается из таблицы. То есть таким способом не удастся переименовать поле Имя.
19. Снова щелкните на кнопке Вид.
20. Закройте запрос.
21. Для сохранения изменений структуры щелкните на кнопке Да.
22. В окне диалога Сохранение введите имя Итоговый запрос и щелкните на кнопке ОК.