- •Оглавление
- •Введение
- •Лекция 1. Основные понятия баз данных
- •Объекты баз данных
- •Структура таблицы
- •Лекция 2. Приемы работы с базой данных Просмотр таблицы
- •Перемещение по таблице
- •Фиксирование столбца
- •Формат Закрепить столбец.
- •Освобождение закрепленных столбцов
- •Замена данных
- •Лекция 3. Сортировка записей. Фильтры
- •Сортировка записей
- •Исключение выделенного
- •Лекция 4. Типы данных в ms Access
- •Текстовый тип
- •Числовой тип
- •Тип Счетчик
- •Денежный тип
- •Тип Дата/время
- •Логический тип
- •Объекты ole
- •Гиперссылки
- •Мастер подстановок
- •Лекция 5. Создание базы данных Проектирование базы данных
- •Создание таблиц
- •Использование списков подстановок
- •Создание списков подстановок на основе существующей таблицы или запроса
- •Лекция 6. Структура базы данных. Связи между таблицами
- •Связи между таблицами
- •Создание связей
- •Удаление связей
- •Лекция 7. Запросы
- •Условия отбора
- •Основные логические операторы Логический оператор and
- •Логический оператор or
- •Логический оператор not
- •Сочетание логических операторов And, Or и Not
- •Лекция 8. Построение запросов
- •Запрос на основе одной таблицы
- •Запрос на основе нескольких таблиц
- •Запрос на основе другого запроса
- •Запрос с параметром
- •Вычисления в запросах
- •Итоговый запрос
- •Лекция 9. Формы
- •Создание формы на основе таблицы или запроса
- •Создание формы с помощью Мастера
- •Структура формы
- •Создание формы с помощью Конструктора
- •Проектирование форм
- •Добавление кнопок
- •Прочие элементы управления формы
- •Лекция 10. Отчеты и диаграммы
- •Структура отчета
- •Создание отчета с помощью мастера
- •Автоотчеты
- •Создание диаграмм
- •Создание диаграммы «с нуля»
- •Создание встроенной диаграммы
- •Изменение диаграмм
- •Запуск Microsoft Graph
- •Печать данных (обзор)
- •Запуск печати
- •Настройка печати
Лекция 8. Построение запросов
Первое, что следует сделать для построения запроса, ‑ решить, какая информация является необходимой, и определить, в каких таблицах она хранится. Потом нужно сформулировать условия отбора. Затем выполнить следующие действия:
-
загрузить базу данных и активизируйте ярлык Запросы;
-
двойным щелчком выбрать ярлык нового объекта Создание запроса в режиме конструктора;
-
в окне диалога Добавление таблицы выбрать поочередно таблицы, на основе которых будет строиться запрос, затем закрыть окно диалога;
-
двойным щелчком добавить в бланк запроса нужные поля;
-
задать условия отбора;
-
сохранить запрос;
-
с помощью кнопки Вид можно переключиться в режим таблицы и посмотреть результат отбора, затем закрыть окно запроса.
Когда запрос выполняется, Access выбирает данные и оформляет результат запроса в виде таблицы. Созданные запросы хранятся в файле базы данных. Список созданных запросов можно просмотреть, активизировав ярлык Запросы в окне базы данных.
Запрос на основе одной таблицы
В базе данных «Телефонная компания» создадим запрос на выборку всех льготников. Для этого нам потребуется таблица Абоненты (включите в запрос все ее поля) и условие отбора “>0” в поле Льгота. Результатом выполнения такого запроса будут все записи таблицы Абоненты, в поле Льгота у которых стоит число, большее нуля, т.е. все абоненты, имеющие льготы. Напомним, что для числовых полей (а поле Льгота является именно таким) пустое поле считается равным 0.
Запрос на основе нескольких таблиц
Для выборки информации обо всех телефонных разговорах: кто, когда и в какой город звонил – за какой-либо период, например, за февраль 2004 года, нам потребуются две таблицы: Абоненты и Разговоры. Из первой мы выберем фамилию и номер телефона абонента, из второй – дату звонка и город (номер телефона можно взять и из второй таблицы, это поля связи и они в соответствующих записях связанных таблиц совпадают). В качестве условия отбора в поле Дата установим >=1.02.2004 and <=29.02.2004 (границы февраля 2004 года).
Запрос на основе другого запроса
Допустим, нас интересуют не все разговоры за февраль 2004 года, а только междугородные. Можно было бы строить этот запрос по аналогии с предыдущим, задав не одно, а два условия отбора. А можно воспользоваться уже проделанной работой. Для этого при создании запроса выберите не таблицы, а запросы, а среди них – только что построенный запрос о разговорах за февраль. Включим в новый запрос все поля старого и зададим в поле Город условие отбора <>”” (отсутствие каких-либо символов в кавычках означает, что текстовое поле Город не является пустым).
Запрос с параметром
Запрос в Access является объектом, который сохраняется в файле базы данных и может многократно повторяться. Все запросы, с которыми вы работали до сих пор, содержали конкретные значения льгот, дат и т.д. Если требуется повторить такой запрос с другими значениями в условиях отбора, его придется открыть в режиме конструктора, изменить условия отбора записей и выполнить.
Чтобы каждый раз не изменять запрос, можно вместо ввода конкретных данных использовать параметр. При выполнении такого запроса выдается окно диалога, в котором пользователь может ввести конкретное значение и затем получить нужный результат.
Построим для базы данных «Телефонная компания» запрос для получения информации о разговорах одного – любого – абонента. Для этого в условие отбора надо ввести не конкретную фамилию, а подсказку пользователю, которая появится на экране в момент открытия запроса, например [Введите фамилию абонента: ] (именно так, в квадратных скобках). Когда в ответ на эту подсказку в окне диалога будет введена фамилия абонента, запрос будет выполнен и мы увидим список разговоров указанного нами абонента.