![](/user_photo/2706_HbeT2.jpg)
- •Оглавление
- •Глава 6. Формы 74
- •Глава 7. Запросы 94
- •Глава 8. Отчеты 118
- •Введение
- •Глава 1. Основные понятия баз данных
- •Модели представления данных в базах данных
- •1.2. Система управления базами данных Access
- •Объекты Access
- •Глава 2. Построение базы данных
- •2.1. Основные принципы проектирования бд
- •2.2. Создание новой базы данных
- •2.2.1. Создание таблиц
- •2. Режим конструктора
- •2.3. Тип данных и свойства поля
- •2.3.1. Тип данных
- •2.3.2. Задание свойства поля
- •1). Размер поля
- •2). Формат поля
- •3). Маска ввода
- •4). Подпись
- •5). Значение по умолчанию
- •7). Индексированное поле
- •8). Сообщение об ошибке
- •2.4. Ключевое поле
- •2.5. Подстановка данных
- •2.6. Установка свойств таблицы
- •Глава 3. Связи в access
- •3.1. Определение связей между таблицами
- •3.2. Типы связей между таблицами
- •1. Связь типа «один-ко-многим»
- •2. Связь типа «один-к-одному»
- •3. Связь типа «многие-ко-многим»
- •3.3. Создание связей
- •Глава 4. Работа с таблицей
- •Модификация бд. Операции над таблицами
- •Модификация структуры таблицы
- •Изменение типа данных и размера поля
- •Ввод и редактирование данных в таблице
- •4.4. Поиск и замена данных
- •4.5. Сортировка и фильтрация данных
- •Глава 5. Функции. Формулы. Выражения. Построитель выражений
- •5.1. Операторы
- •5.1.1. Арифметические операторы
- •5.1.2. Операторы слияния строк (конкатенации)
- •5.1.3. Операторы сравнения
- •5.1.4. Логические операторы
- •5.1.5. Операторы идентификации. Идентификаторы
- •5.2. Константы
- •5.3. Функции
- •5.3.1. Функции для работы с датами
- •5.3.2. Функции для работы со строками
- •5.3.3. Математические функции
- •5.3.4. Статистические функции
- •5.3.5. Статистические функции по подмножеству
- •5.3.6. Другие полезные функции
- •5.4. Построитель выражений
- •Глава 6. Формы
- •6.1. Создание формы
- •6.2. Структура формы
- •6.3. Виды форм
- •6.4. Содержимое формы
- •6.5. Создание формы
- •Использование Мастера форм
- •6.6. Элементы управления
- •6.6.1. Изменение стандартных свойств эу
- •6.7. Настройка внешнего вида формы
- •6.8. Создание эу
- •6.9. Создание диаграмм
- •6.10. Составные формы
- •Глава 7. Запросы
- •7.1. Общая характеристика запросов
- •7.1.1. Свойства запросов
- •1. Вывод всех полей
- •2. Набор значений
- •3. Уникальные значения
- •7.2. Типы запросов в Access
- •7.3. Создание запроса
- •7.3.1. Создание запроса в режиме Конструктор
- •7.3.2. Включение полей в бланк запроса
- •7.3.3. Добавление вычисляемого поля
- •7.4. Отбор записей в однотабличных запросах
- •7.4.1.Точное совпадение значений полей
- •7.4.2. Шаблоны общего вида. Оператор Like
- •7.4.3. Диапазон значений. Операторы And и Between
- •7.4.4. Список значений. Операторы Or и In
- •7.4.5. Отрицание образца. Оператор not
- •7.4.6. Отбор записей с Null значениями и пустыми строками
- •7.4.7. Использование нескольких строк условий
- •7.4.8. Использование вычисляемых полей
- •7.5. Запросы с параметром
- •7.6. Итоговые запросы
- •7.7. Перекрестные запросы
- •7.8. Запросы на изменение
- •7.8.1 Запрос на добавление
- •7.8.2. Запрос на удаление
- •7.8.3. Запрос на создание таблицы
- •7.8.4. Запрос на обновление
- •Глава 8. Отчеты
- •8.1. Структура отчета
- •8.2. Создание отчета
- •Создание отчета с помощью Конструктора
- •8.3. Сортировка и группирование
- •8.4.Режимы окна отчета
- •8.5. Печать отчета
- •Информационное обеспечение управления I.
7.3. Создание запроса
Прежде чем приступить к созданию запроса, следует продумать ответы на следующие вопросы:
какая таблица или таблицы содержат нужную информацию,
как связать эти таблицы,
какой тип запроса использовать,
каким условиям должны удовлетворять отбираемые записи,
каким должен быть порядок их сортировки,
какие вычисления нужно выполнить над отобранными данными,
какое имя должен получить создаваемый запрос.
Как уже говорилось, запрос можно создать с помощью Мастераи с помощьюКонструктора, однако есть некоторые особенности.
С помощью мастеров можно создать запросы следующих типов:
простой запрос;
перекрестный запрос;
поиск повторяющихся записей;
поиск записей, не имеющих подчиненных.
7.3.1. Создание запроса в режиме Конструктор
Больше возможностей для создания запроса предоставляет конструктор запросов. Если вы включили в запрос несколько таблиц, и между ними были установлены связи, то Access автоматически показывает их в верхней части окна запроса, рисуя линии объединения между связанными полями. Линию объединения можно создать самостоятельно, переместив ключевое поле главной таблицы на связываемое с ним поле подчиненной таблицы.
В нижней части бланка запроса нужно указать параметры создаваемого запроса. Каждый столбец бланка запроса соответствует одному из полей запроса, которое может быть полем из списка, а также вычисляемым или итоговым полем (см. рис.7.3).
Рис.7.3. Окно Конструктора запросов
Для каждого поля можно указать в соответствующих строках бланка порядок сортировки записей по этому полю; будет ли оно включено в динамический набор — результат запроса, а также можно определить условия отбора его значений. Внизу окна находится полоса прокрутки полей запроса. Бланк запроса содержит еще две строки, которые изначально обычно не видны на экране. Это строки Имя таблицы иГрупповая операция. Чтобы отобразить их на экране, нужно выбрать в менюВид соответствующие команды.
7.3.2. Включение полей в бланк запроса
В бланк запроса следует включать только те поля, данные из которых выводятся на просмотр, обновляются или используются для задания условий отбора, группировки и сортировки. Чтобы включить поле из списка полей таблицы или запроса в бланк запроса, достаточно дважды щелкнуть мышью по этому полю. Для добавления сразу нескольких полей нужно выделить в списке эти поля, держа нажатой клавишу Ctrl,и затем перенести всю выделенную группу с помощью мыши в бланк запроса. Если добавляемые поля в списке идут подряд, то для их выделения можно, держа нажатой клавишуShift,щелкнуть мышью по первому полю, а затем по последнему полю.
7.3.3. Добавление вычисляемого поля
В бланк запроса можно добавить вычисляемые поля. Вычисляемые поля — это временные поля, создаваемые в динамическом наборе записей при выполнении запроса. В них заносятся результаты вычислений над данными из полей таблиц, включенных в запрос. Правила вычисления значения поля задаются с помощью выражения. Для создания вычисляемого поля нужно щелкнуть на пустой ячейке строкиПоле. Затем следует ввести в эту ячейку имя создаваемого поля, двоеточие и выражение, вычисляемое в этом поле. Если элементом выражения является поле, его имя нужно заключить в квадратные скобки. Арифметические операторы записываются обычным образом, а для объединения текстовых значений нужно использовать оператор &. После ввода выражения следует щелкнуть за пределами ячейки. Если Access обнаружит ошибку, то будет выведено соответствующее сообщение.
Примеры вычисляемых полей:
ФИО: [Фамилия] & " " & [Имя] & " " & [Отчество] – объединяет текстовые поля в одно;
Стоимость заказа: [Цена] * [Количество] – высчитывает стоимость;
Год рождения: Year([Дата рождения]) – вычисляет год рождения
Цена со скидкой: [Цена]*0,9 – формирует новую цену со скидкой.
Например, на рис. 7.4 представлен результат
выполнения первого запроса ФИО. Этот
запрос формирует единое текстовое поле,
содержащее и имя, и фамилию и отчество.
Для записи выражения мы воспользовались
Построителем выражений. Для вызоваПостроителянужно щелкнуть правой
кнопкой мыши на ячейкеПоле, куда
необходимо поместить вычисляемое поле
и выбрать пунктПостроить.Для
запуска запроса необходимо перейти в
режимТаблицыили нажать на кнопкуВыполнитьв окне запросов.
Рис.7.4. Окно Построителя выражений
Для того, чтобы не сделать ошибок при наборе таких сложных выражений, лучше воспользуйтесь списком таблиц ниже (см. рис.7.4). Просто выберите соответствующие поля таблицы и поставьте между ними необходимые знаки по формуле. Результат выполнения запроса представлен на рис.7.5.
Рис.7.5. Результат выполнения запроса
Для вывода результатов выполнения запроса нужно установить флажки в строке «Вывод на экран» бланка для тех полей, которые требуется отображать, и снять флажки для неотображаемых полей. Последние поля не будут включены в результирующий динамический набор.