Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ACCESS-2010-ч1

.pdf
Скачиваний:
63
Добавлен:
20.02.2016
Размер:
1.78 Mб
Скачать

30

Закройте окно таблицы с сохранением изменений.

Контрольные вопросы

1.Как СУБД Access выполняет каскадное обновление связанных полей?

2.Как СУБД Access выполняет каскадное удаление связанных записей?

3.Что можно изменить в структуре таблицы?

4.Какой режим позволяет совершать операции по корректировке структуры таблицы?

5.В каком режиме осуществляется работа с таблицей?

6.Какие операции можно совершать над данными, полями, записями таблицы?

7.По каким видам фильтров производится отбор записей?

8.Как можно изменить вид таблицы?

31

2.КОНСТРУИРОВАНИЕ ЗАПРОСОВ

Вэтом разделе Вы освоите конструирование

запросов на выборку с различными критериями отбора данных запросов на выборку с вычислениями над полями базы данных, над группами записей с использованием статистических функций перекрестного запроса запросов на внесение изменений в базу данных

Запрос это задание на извлечение данных из таблиц БД, на выполнение вычислений над данными БД, на внесение изменений в БД.

Запрос может служить источником данных для форм, отчетов.

СУБД Access позволяет создавать запросы трех типов: запросы на выборку, перекрестные запросы, запросы на внесение изменений в БД.

Запросы можно создавать с помощью Мастера или Конструктора запросов. Мастер используется для создания запросов определенного вида

(на выборку полей, перекрестного, на поиск повторяющихся записей и записей, не имеющих подчиненных записей), а с помощью Конструктора можно создать любой запрос.

Результатом запроса всегда является таблица.

2.1Запросы на выборку

Запрос на выборку является наиболее часто используемым типом запроса. Он дает возможность:

32

включать в результирующую таблицу поля из одной или нескольких таблиц в нужном порядке;

выбирать записи, удовлетворяющие различным условиям отбора;

осуществлять вычисления над полями БД (создавать вычисляемые поля);

группировать записи и находить для групп записей, для всех записей итоговые значения по некоторым полям с помощью статистических функций: Sum – сумма значений поля, Avg – среднее значений поля, Max

– максимальное из значений поля, Min – минимальное из значений поля,

Count – число значений поля и др.

Разновидностью запроса на выборку является запрос с параметрами

запрос, который при выполнении отображает в собственном диалоговом окне приглашение ввести интересующее пользователя значение критерия отбора записей.

При задании условий отбора в запросах, создании вычисляемых полей в таблицах, запросах и при создании других объектов БД (форм, отчетов,

макросов) необходимо уметь создавать выражения. Выражение – это комбинация значений и операторов, дающая определенный результат. В

качестве значений в выражениях используют литералы, константы, функции и идентификаторы.

Литерал – это фактическое значение в виде числа, текстовой строки,

даты, например, 100, "Минск", #1-янв-2010#.

Константа – это не изменяющееся значение, например,Yes, No, True, False, Null.

Функция – это небольшая программа, которая всегда возвращает значение (число или строку символов), являющееся результатом расчетов или выполнения других операций. К функции обращаются по имени, за которым в круглых скобках указывают ее аргументы. Имеются и безаргументные функции, например, Date(). В Access определено множество категорий функций – статистические, математические, даты/время,

33

текстовые, финансовые и др.

Идентификатор – это ссылка на поле, элемент управления (будет рассмотрен в разделе 3 текущей темы), свойство. Например, идентификатор

[ЦЕНА] представляет собой ссылку на поле.

Оператор – операция над значениями. В выражениях используются четыре типа операторов – арифметические операторы, операторы сравнения,

логические операторы, текстовый оператор.

Арифметические операторы: + (сложение), – (вычитание), * (умножение), / (деление), % (процент), ^ (возведение в степень) и др.

Операторы сравнения: = (равно), > (больше), < (меньше), >= (больше или равно), <= (меньше или равно), <> (не равно).

Логические операторы: AND

(логическое умножение), OR

(логическое сложение), NOT (логическое отрицание). Текстовый оператор: & (слияние текстовых значений).

Например, следующее выражение позволяет вывести в запросе сумму значений полей «Стоимость заказа» и «Стоимость доставки»:

= [Стоимость_заказа]+[Стоимость_доставки]

Пользователь имеет возможность создавать выражения с помощью инструментального средства – Построителя выражений или путем набора их на клавиатуре. Построитель выражений доступен во всех случаях, когда требуется ввести выражение.

Задание 2.1. Выбрать из БД БАНК сведения о счетах, у которых остаток больше 1000000 руб. Результирующая таблица запроса должна иметь следующую структуру:

|НС|ОСТ|НФ|НК|

Запрос сохранить с именем КРУПНЫЕ СЧЕТА.

В ы п о л н е н и е з а д а н и я

В окне базы данных БАНК перейдите на вкладку Создание и в группе

Запросы нажмите кнопку

 

[Конструктор запросов].

 

34

Появится окно Конструктора запросов с наложенным на него окном

Добавление таблицы, как на рис. 2.1

Рис. 2.1. Окно Конструктора запросов с окном Добавление таблицы

В окне Добавление таблицы выберите источник данных для запроса – выделите таблицу СЧЕТ (из ее полей будут извлекаться данные) и нажмите

[Добавить], а затем [Закрыть]. Появится окно Конструктора запросов, как на рис. 2.2.

Рис. 2.2. Окно Конструктора запроса

35

Оно разделено на две части: в верхней части отображается список полей таблицы СЧЕТ, а в нижней – бланк запроса.

Затем выполните следующее:

перетащите поле НС из списка полей таблицы СЧЕТ в первую клетку строки Поле, а затем поочередно перетащите остальные поля, входящие в результирующую таблицу запроса (ОСТ, НФ, НК), в последующие клетки этой строки. В результате поля автоматически помечаются как выводящиеся на экран при просмотре в дальнейшем результата запроса;

Примечание. В клетках строки Поле можно задавать нужные поля и путем выбора их

из раскрывающегося списка после щелчка в этих клетках.

для поля ОСТ в строке "Условие отбора" наберите выражение типа сравнения >1000000;

выполните запрос щелчком по кнопке [Выполнить];

Результат запроса представляется в окне запроса, как на рис. 2.3.

Рис. 2.3. Результат выполнения запроса

Примечание. Если необходимо внести изменения в задание на извлечение данных после просмотра результата запроса, то следует на вкладке Главная в группе Режимы раскрыть

список и выбрать Конструктор или в окне запроса из контекстного меню вкладки выбрать команду Конструктор.

сохраните запрос с именем КРУПНЫЕ СЧЕТА, закрыв окно запроса.

Задание 2.2. Выбрать из БД БАНК сведения о двух счетах с наибольшим остатком. Результирующая таблица запроса должна иметь следующую

структуру:

|НС|ОСТ|НФ|

Запрос сохранить с именем КРУПНЕЙШИЕ СЧЕТА.

36

В ы п о л н е н и е з а д а н и я

Откройте окно Конструктора запроса, добавив в окне Добавление

таблицы таблицу СЧЕТ, и выполните следующие действия:

задайте поля, входящие в результирующую таблицу запроса, в строке Поле известным вам способом;

задайте сортировку по убыванию значений поля ОСТ, для чего щелкните в строке Сортировка для этого поля и из раскрывающегося списка выберите

по убыванию;

введите значение 2 в поле раскрывающегося списка

 

[Набор

значений] в группе Настройка запроса;

 

 

выполните запрос и проанализируйте его результат;

 

 

сохраните запрос с именем КРУПНЕЙШИЕ СЧЕТА.

 

 

Задание 2.3. Выбрать из БД БАНК сведения о счетах с капитализацией процентов. Результирующая таблица запроса должна иметь следующую структуру:

|НС|ТИП|ДАТА|КАП|НФ|НК|

Запрос сохранить с именем СЧЕТА С КАПИТАЛИЗАЦИЕЙ.

В ы п о л н е н и е з а д а н и я Откройте окно Конструктора запроса, добавив в окне Добавление

таблицы таблицу СЧЕТ, и выполните следующие действия:

задайте поля, входящие в результирующую таблицу запроса, в строке Поле. Для этого из списка полей таблицы СЧЕТ перетащите в строку Поле все поля – дважды щелкните по заголовку списка, ухватите мышью выделенные поля и перетащите их в первую клетку строки Поле. Затем для поля ОСТ в строке "Вывод на экран" снимите флажок;

наберите Да в строке "Условие отбора" для поля КАП;

выполните запрос и проанализируйте его результат;

сохраните запрос с именем СЧЕТА С КАПИТАЛИЗАЦИЕЙ.

37

Задание 2.4. Выбрать из БД БАНК сведения о клиентах, чьи фамилии начинаются с буквы Л. Результирующая таблица запроса должна иметь следующую структуру:

|НК|ФИО_К|АДР_К|

Запрос сохранить с именем ФАМИЛИИ НА Л.

В ы п о л н е н и е з а д а н и я Откройте окно Конструктора запроса, добавив в окне Добавление

таблицы таблицу КЛИЕНТ, и выполните следующие действия:

задайте поля, входящие в результирующую таблицу запроса, в строке Поле;

наберите Л* в строке "Условие отбора" для поля ФИО_К;

выполните запрос и проанализируйте его результат;

сохраните запрос с именем ФАМИЛИИ НА Л.

Задание 2.5. Выбрать из БД БАНК сведения о менеджерах, управляющих филиалами, чей стаж не менее 9 лет и не более 25. Результирующая таблица запроса должна иметь следующую структуру:

|НМ|СТАЖ|НФ|

Запрос сохранить с именем СТАЖ.

В ы п о л н е н и е з а д а н и я Откройте окно Конструктора запроса, добавив в окне Добавление

таблицы таблицы МЕНЕДЖЕР и ФИЛИАЛ (источники данных для запроса), и выполните следующие действия:

задайте поля, входящие в результирующую таблицу запроса, в строке Поле;

наберите логическое выражение >=9 and <=25 в строке "Условие отбора" для поля СТАЖ;

выполните запрос и проанализируйте его результат;

38

сохраните запрос с именем СТАЖ.

Задание 2.6. Выбрать из БД БАНК сведения о счетах, открытых с 01.01.13

по 30.06.13. Результирующая таблица запроса должна иметь следующую структуру:

|НС|ТИП|ДАТА|НФ|НК|

В ней записи рассортировать по возрастанию даты открытия счета.

Запрос сохранить с именем ДАТА ОТКРЫТИЯ.

В ы п о л н е н и е з а д а н и я Откройте окно Конструктора запроса, добавив в окне Добавление

таблицы таблицу СЧЕТ, и выполните следующие действия:

задайте поля, входящие в результирующую таблицу запроса, в строке Поле;

задайте условие отбора счетов с помощью Построителя выражений. Для этого щелкните в строке "Условие отбора" для поля ДАТА и нажмите

кнопку [Построитель] в группе Настройка запроса на вкладке

Конструктор. В появившемся окне Построитель выражений

сформируйте логическое выражение, как это показано на рис. 2.4, –

выберите Операторы, выберите Сравнения, выберите двойным щелчком

Between (между) и вместо слов "Выражение" наберите даты, после чего нажмите [ОК];

39

Рис. 2.4. Создание оператора Between в окне Построитель выражений

задайте сортировку по возрастанию для поля ДАТА;

выполните запрос и проанализируйте его результат; сохраните запрос с именем ДАТА ОТКРЫТИЯ.

Задание 2.7. Выбрать из БД БАНК сведения о местонахождении филиала №

511 и № 513. Результирующая таблица запроса должна иметь следующую структуру:

|НФ|АДР_Ф|

Запрос сохранить с именем МЕСТОНАХОЖДЕНИЕ.

В ы п о л н е н и е з а д а н и я Откройте окно Конструктора запроса, добавив в окне Добавление

таблицы таблицу ФИЛИАЛ, и выполните следующие действия:

задайте поля, входящие в результирующую таблицу запроса, в строке Поле;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]