![](/user_photo/2706_HbeT2.jpg)
ACCESS-2010-ч1
.pdf30
Закройте окно таблицы с сохранением изменений.
Контрольные вопросы
1.Как СУБД Access выполняет каскадное обновление связанных полей?
2.Как СУБД Access выполняет каскадное удаление связанных записей?
3.Что можно изменить в структуре таблицы?
4.Какой режим позволяет совершать операции по корректировке структуры таблицы?
5.В каком режиме осуществляется работа с таблицей?
6.Какие операции можно совершать над данными, полями, записями таблицы?
7.По каким видам фильтров производится отбор записей?
8.Как можно изменить вид таблицы?
![](/html/2706/959/html__Lj5i_fxmY.WFrq/htmlconvd-MYQl_Y32x1.jpg)
31
2.КОНСТРУИРОВАНИЕ ЗАПРОСОВ
Вэтом разделе Вы освоите конструирование
запросов на выборку с различными критериями отбора данных запросов на выборку с вычислениями над полями базы данных, над группами записей с использованием статистических функций перекрестного запроса запросов на внесение изменений в базу данных
Запрос – это задание на извлечение данных из таблиц БД, на выполнение вычислений над данными БД, на внесение изменений в БД.
Запрос может служить источником данных для форм, отчетов.
СУБД Access позволяет создавать запросы трех типов: запросы на выборку, перекрестные запросы, запросы на внесение изменений в БД.
Запросы можно создавать с помощью Мастера или Конструктора запросов. Мастер используется для создания запросов определенного вида
(на выборку полей, перекрестного, на поиск повторяющихся записей и записей, не имеющих подчиненных записей), а с помощью Конструктора можно создать любой запрос.
Результатом запроса всегда является таблица.
2.1Запросы на выборку
Запрос на выборку является наиболее часто используемым типом запроса. Он дает возможность:
![](/html/2706/959/html__Lj5i_fxmY.WFrq/htmlconvd-MYQl_Y33x1.jpg)
32
включать в результирующую таблицу поля из одной или нескольких таблиц в нужном порядке;
выбирать записи, удовлетворяющие различным условиям отбора;
осуществлять вычисления над полями БД (создавать вычисляемые поля);
группировать записи и находить для групп записей, для всех записей итоговые значения по некоторым полям с помощью статистических функций: Sum – сумма значений поля, Avg – среднее значений поля, Max
– максимальное из значений поля, Min – минимальное из значений поля,
Count – число значений поля и др.
Разновидностью запроса на выборку является запрос с параметрами –
запрос, который при выполнении отображает в собственном диалоговом окне приглашение ввести интересующее пользователя значение критерия отбора записей.
При задании условий отбора в запросах, создании вычисляемых полей в таблицах, запросах и при создании других объектов БД (форм, отчетов,
макросов) необходимо уметь создавать выражения. Выражение – это комбинация значений и операторов, дающая определенный результат. В
качестве значений в выражениях используют литералы, константы, функции и идентификаторы.
Литерал – это фактическое значение в виде числа, текстовой строки,
даты, например, 100, "Минск", #1-янв-2010#.
Константа – это не изменяющееся значение, например,Yes, No, True, False, Null.
Функция – это небольшая программа, которая всегда возвращает значение (число или строку символов), являющееся результатом расчетов или выполнения других операций. К функции обращаются по имени, за которым в круглых скобках указывают ее аргументы. Имеются и безаргументные функции, например, Date(). В Access определено множество категорий функций – статистические, математические, даты/время,
![](/html/2706/959/html__Lj5i_fxmY.WFrq/htmlconvd-MYQl_Y34x1.jpg)
33
текстовые, финансовые и др.
Идентификатор – это ссылка на поле, элемент управления (будет рассмотрен в разделе 3 текущей темы), свойство. Например, идентификатор
[ЦЕНА] представляет собой ссылку на поле.
Оператор – операция над значениями. В выражениях используются четыре типа операторов – арифметические операторы, операторы сравнения,
логические операторы, текстовый оператор.
Арифметические операторы: + (сложение), – (вычитание), * (умножение), / (деление), % (процент), ^ (возведение в степень) и др.
Операторы сравнения: = (равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), <> (не равно).
Логические операторы: AND |
(логическое умножение), OR |
(логическое сложение), NOT (логическое отрицание). Текстовый оператор: & (слияние текстовых значений).
Например, следующее выражение позволяет вывести в запросе сумму значений полей «Стоимость заказа» и «Стоимость доставки»:
= [Стоимость_заказа]+[Стоимость_доставки]
Пользователь имеет возможность создавать выражения с помощью инструментального средства – Построителя выражений или путем набора их на клавиатуре. Построитель выражений доступен во всех случаях, когда требуется ввести выражение.
Задание 2.1. Выбрать из БД БАНК сведения о счетах, у которых остаток больше 1000000 руб. Результирующая таблица запроса должна иметь следующую структуру:
|НС|ОСТ|НФ|НК|
Запрос сохранить с именем КРУПНЫЕ СЧЕТА.
В ы п о л н е н и е з а д а н и я
В окне базы данных БАНК перейдите на вкладку Создание и в группе
Запросы нажмите кнопку |
|
[Конструктор запросов]. |
|
![](/html/2706/959/html__Lj5i_fxmY.WFrq/htmlconvd-MYQl_Y35x1.jpg)
34
Появится окно Конструктора запросов с наложенным на него окном
Добавление таблицы, как на рис. 2.1
Рис. 2.1. Окно Конструктора запросов с окном Добавление таблицы
В окне Добавление таблицы выберите источник данных для запроса – выделите таблицу СЧЕТ (из ее полей будут извлекаться данные) и нажмите
[Добавить], а затем [Закрыть]. Появится окно Конструктора запросов, как на рис. 2.2.
Рис. 2.2. Окно Конструктора запроса
![](/html/2706/959/html__Lj5i_fxmY.WFrq/htmlconvd-MYQl_Y36x1.jpg)
35
Оно разделено на две части: в верхней части отображается список полей таблицы СЧЕТ, а в нижней – бланк запроса.
Затем выполните следующее:
перетащите поле НС из списка полей таблицы СЧЕТ в первую клетку строки Поле, а затем поочередно перетащите остальные поля, входящие в результирующую таблицу запроса (ОСТ, НФ, НК), в последующие клетки этой строки. В результате поля автоматически помечаются как выводящиеся на экран при просмотре в дальнейшем результата запроса;
Примечание. В клетках строки Поле можно задавать нужные поля и путем выбора их
из раскрывающегося списка после щелчка в этих клетках.
для поля ОСТ в строке "Условие отбора" наберите выражение типа сравнения >1000000;
выполните запрос щелчком по кнопке
[Выполнить];
Результат запроса представляется в окне запроса, как на рис. 2.3.
Рис. 2.3. Результат выполнения запроса
Примечание. Если необходимо внести изменения в задание на извлечение данных после просмотра результата запроса, то следует на вкладке Главная в группе Режимы раскрыть
список и выбрать Конструктор или в окне запроса из контекстного меню вкладки выбрать команду Конструктор.
сохраните запрос с именем КРУПНЫЕ СЧЕТА, закрыв окно запроса.
Задание 2.2. Выбрать из БД БАНК сведения о двух счетах с наибольшим остатком. Результирующая таблица запроса должна иметь следующую
структуру:
|НС|ОСТ|НФ|
Запрос сохранить с именем КРУПНЕЙШИЕ СЧЕТА.
![](/html/2706/959/html__Lj5i_fxmY.WFrq/htmlconvd-MYQl_Y37x1.jpg)
36
В ы п о л н е н и е з а д а н и я
Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу СЧЕТ, и выполните следующие действия:
задайте поля, входящие в результирующую таблицу запроса, в строке Поле известным вам способом;
задайте сортировку по убыванию значений поля ОСТ, для чего щелкните в строке Сортировка для этого поля и из раскрывающегося списка выберите
по убыванию;
введите значение 2 в поле раскрывающегося списка |
|
[Набор |
значений] в группе Настройка запроса; |
|
|
выполните запрос и проанализируйте его результат; |
|
|
сохраните запрос с именем КРУПНЕЙШИЕ СЧЕТА. |
|
|
Задание 2.3. Выбрать из БД БАНК сведения о счетах с капитализацией процентов. Результирующая таблица запроса должна иметь следующую структуру:
|НС|ТИП|ДАТА|КАП|НФ|НК|
Запрос сохранить с именем СЧЕТА С КАПИТАЛИЗАЦИЕЙ.
В ы п о л н е н и е з а д а н и я Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу СЧЕТ, и выполните следующие действия:
задайте поля, входящие в результирующую таблицу запроса, в строке Поле. Для этого из списка полей таблицы СЧЕТ перетащите в строку Поле все поля – дважды щелкните по заголовку списка, ухватите мышью выделенные поля и перетащите их в первую клетку строки Поле. Затем для поля ОСТ в строке "Вывод на экран" снимите флажок;
наберите Да в строке "Условие отбора" для поля КАП;
выполните запрос и проанализируйте его результат;
сохраните запрос с именем СЧЕТА С КАПИТАЛИЗАЦИЕЙ.
![](/html/2706/959/html__Lj5i_fxmY.WFrq/htmlconvd-MYQl_Y38x1.jpg)
37
Задание 2.4. Выбрать из БД БАНК сведения о клиентах, чьи фамилии начинаются с буквы Л. Результирующая таблица запроса должна иметь следующую структуру:
|НК|ФИО_К|АДР_К|
Запрос сохранить с именем ФАМИЛИИ НА Л.
В ы п о л н е н и е з а д а н и я Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу КЛИЕНТ, и выполните следующие действия:
задайте поля, входящие в результирующую таблицу запроса, в строке Поле;
наберите Л* в строке "Условие отбора" для поля ФИО_К;
выполните запрос и проанализируйте его результат;
сохраните запрос с именем ФАМИЛИИ НА Л.
Задание 2.5. Выбрать из БД БАНК сведения о менеджерах, управляющих филиалами, чей стаж не менее 9 лет и не более 25. Результирующая таблица запроса должна иметь следующую структуру:
|НМ|СТАЖ|НФ|
Запрос сохранить с именем СТАЖ.
В ы п о л н е н и е з а д а н и я Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицы МЕНЕДЖЕР и ФИЛИАЛ (источники данных для запроса), и выполните следующие действия:
задайте поля, входящие в результирующую таблицу запроса, в строке Поле;
наберите логическое выражение >=9 and <=25 в строке "Условие отбора" для поля СТАЖ;
выполните запрос и проанализируйте его результат;
![](/html/2706/959/html__Lj5i_fxmY.WFrq/htmlconvd-MYQl_Y39x1.jpg)
38
сохраните запрос с именем СТАЖ.
Задание 2.6. Выбрать из БД БАНК сведения о счетах, открытых с 01.01.13
по 30.06.13. Результирующая таблица запроса должна иметь следующую структуру:
|НС|ТИП|ДАТА|НФ|НК|
В ней записи рассортировать по возрастанию даты открытия счета.
Запрос сохранить с именем ДАТА ОТКРЫТИЯ.
В ы п о л н е н и е з а д а н и я Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу СЧЕТ, и выполните следующие действия:
задайте поля, входящие в результирующую таблицу запроса, в строке Поле;
задайте условие отбора счетов с помощью Построителя выражений. Для этого щелкните в строке "Условие отбора" для поля ДАТА и нажмите
кнопку [Построитель] в группе Настройка запроса на вкладке
Конструктор. В появившемся окне Построитель выражений
сформируйте логическое выражение, как это показано на рис. 2.4, –
выберите Операторы, выберите Сравнения, выберите двойным щелчком
Between (между) и вместо слов "Выражение" наберите даты, после чего нажмите [ОК];
![](/html/2706/959/html__Lj5i_fxmY.WFrq/htmlconvd-MYQl_Y40x1.jpg)
39
Рис. 2.4. Создание оператора Between в окне Построитель выражений
задайте сортировку по возрастанию для поля ДАТА;
выполните запрос и проанализируйте его результат;
сохраните запрос с именем ДАТА ОТКРЫТИЯ.
Задание 2.7. Выбрать из БД БАНК сведения о местонахождении филиала №
511 и № 513. Результирующая таблица запроса должна иметь следующую структуру:
|НФ|АДР_Ф|
Запрос сохранить с именем МЕСТОНАХОЖДЕНИЕ.
В ы п о л н е н и е з а д а н и я Откройте окно Конструктора запроса, добавив в окне Добавление
таблицы таблицу ФИЛИАЛ, и выполните следующие действия:
задайте поля, входящие в результирующую таблицу запроса, в строке Поле;