Вычисляемые поля в запросах
Запрос можно использовать для выполнения расчетов и подведения итогов из исходных таблиц. Для создания вычисляемых полей используются математические и строковые операторы. При этом Access проверяет синтаксис выражения и автоматически вставляет следующие символы:
• квадратные скобки ([...]), в них заключаются имена элементов управления;
• знаки номеров (#), в них заключаются распознанные даты;
• кавычки (""), в них заключается текст, не содержащий пробелов или знаков пунктуации.
Поле, содержимое которого является результатом расчета по содержимому других полей, называется вычисляемым полем.Вычисляемое поле существует только в результирующей таблице. Общий формат вычисляемого поля выглядит так: Имя вычисляемого поля: Выражение для создания вычисляемого поля.
Например: Прибыль:[Доход]-[Расход].
Запрос на создание таблицы
Данный тип запросов следует применять, например, для архивирования старых блоков данных или сохранения резервных копий таблиц:
1.Создайте новый запрос выбора и проверьте его корректность, перейдя в режим Таблица. Для создания резервной копии таблицы (таблицы, содержащей те же поля и в том же количестве, что и в оригинале), чтобы не перетаскивать все поля таблицы в строку «Поле», достаточно поместить туда символ *, заменяющий все поля таблицы и находящийся в начале списка полей таблицы.
2.Вернувшись в режим конструктора, выберите команду Запрос/Создание таблицы....
3.В появившемся окне введите имя новой таблицы и нажмите ОК.
Запрос на обновление
Используя этот тип запроса, можно изменить в базовой таблице группу блоков данных, отобранную на основе определенных критериев:
1.Создайте новый запрос выбора и проверьте его корректность, перейдя в режим Таблица.
2.Вернувшись в режим Конструктора, выберите команду Запрос/Обновление.
3.В появившейся в бланке запроса строке «Обновление» в соответствующих столбцах задайте новые значения полей таблицы. В качестве таковых могут выступать и вычисляемые значения. В случае необходимости воспользуйтесь Построителем выражений.
Запрос на добавление записей
С помощью этого типа запроса блоки данных одной таблицы (все или отобранные запросом) можно поместить в конец другой таблицы:
1.Создайте новый запрос выбора тех блоков данных, которые будут добавлены в некоторую таблицу и проверьте его корректность, перейдя в режим Таблица.
2.Вернувшись в режим Конструктора, выберите команду Запрос/ Добавление....
3.В появившемся окне введите имя таблицы, к которой нужно присоединить данные, и нажмите ОК.
Запрос на удаление записей
С помощью данного типа запроса можно удалить из базовой таблицы группу блоков данных, отобранных по определенным критериям. При этом следует тщательно проанализировать критерии отбора, поскольку эту операцию нельзя отменить:
1.Создайте новый запрос выбора удаляемых блоков данных. Отбор блоков данных выполняется в соответствии с заданными в строке Условие критериями.
2.Проверьте корректность сформулированных условий, перейдя в режим Таблица.
3.Вернувшись в режим конструктора, выберите команду Запрос/Удалить.
4.В появившейся строке Удалить установите дополнительные критерии отбора.
Создание формы
ФормыAccess позволяют создавать пользовательский интерфейс для таблиц базы данных. Форма представляет собой некий электронный бланк, в котором имеются поля для ввода данных. В форме можно: каждое поле можно разместить в точно заданном месте, выбрать для него цвет и заливку; помещать вычисляемые поля; ОLЕ-обьекты; намного проще работать с большими текстами поля типа МЕМО в текстовом окне с полосами прокрутки.
Форма строится на основе Access-таблицы или запроса. При каждом открытии сохраненной формы обновляются данные запроса, на основе которого создается форма. Благодаря этому содержимое формы всегда соответствует информации в таблицах и запросах.
Формы могут быть выведены на экран в трех видах: режим конструктора, режим формы и режим таблицы.
Access предоставляет быстрый способ создания формы на основе таблицы с использованием Мастера форм. Он задает пользователю вопросы о структуре и оформлении формы. Результатом диалога пользователя и Мастера форм является «готовая к работе» форма.
Создание отчета
Располагая базой данных, можно распечатать любую таблицу, запрос или форму. Однако результаты печати не будут выглядеть профессионально, так как эти инструменты не предназначены для печати. С помощью отчета можно получить результаты в высококачественном варианте. В Access отчет представляет собой форму специального типа, предназначенную для вывода на печать. Но в отличие от форм отчеты не предназначены для вывода в окне, а предназначены только для печати, т.е. создают не экранные, а печатные документы.
При создании отчета Access всегда оперирует только с одной единственной таблицей или запросом. Если необходимо объединить информацию из нескольких таблиц и (или) запросов в одном отчете, то прежде следует собрать желаемые данные в новом запросе.
Задание на лабораторную работу
Задание 5.3.1.
1.Создайте базу данных.
2.Создайте таблицу «Товары», определив ее структуру в режиме Конструктора.
3.Укажите первичный ключ в поле «Код товара» и установите для него тип данных Счетчик.
4.Для поля «Название» выберите тип Мастер подстановок... и введите в один столбец фиксированный набор используемых в этом поле значений.
5.Сохраните таблицу (Товары/Закрыть).
Таблица 5.2
Код товара | Название | Марка товара | Цена |
Телевизор | GoldStar CM-2180K | €459 | |
Телевизор | Philips 25PT9001 | €1499 | |
Телевизор | Panasonic 25V50R | €765 | |
Телевизор | GoldStar CF-14E20B | €230 | |
Видеомагнитофон | Panasonic HS-800EE | €1400 | |
Видеомагнитофон | Philips VR-756 | €450 | |
Видеокамера | Samsung VP-J55 | €530 | |
Видеокамера | Sharp E37 | €845 | |
Музыкальный центр | Panasonic | €320 | |
Музыкальный центр | Sony MJ-L1 | €1289 |
6.Откройте таблицу Товары. Введите данные в таблицу, используя для поля «Название» значения из выпадающего списка.
7.В режиме таблицы добавьте запись: «Видеокамера», «Panasonic NV-DX1E», «$2599».
8.Осуществите замену названий «GoldStar» на «LG Electronic» (Правка/Заменить…).
9.Отсортируйте данные по цене (Записи/Сортировка…).
10.Используя фильтрацию, выберите данные: по названиям, например о музыкальных центрах, и по цене меньше определенного числа, например меньше 800 .(Записи/Фильтр/ Изменить фильтр/Ввести условия фильтрации/Применить фильтр…Записи/Удалить фильтр).
11.Отобразите на экране только данные полей «Название», «Марка товара» и «Цена», удалив с экрана лишние данные.
12.Добавьте поле «Изображение» (тип ОLЕ) (Таблица/Режим конструктора).
13.Добавьте в первую запись объект - рисунок телевизора, созданный в графическом редакторе.
Задание 5.3.2.
1.Откройте БД, созданную в результате выполнения Задания 1.
2.Создайте таблицу «Поставщики», объявив ключевым поле «Код поставщика». Сохраните таблицу как Поставщики.
3.Откройте в режиме Конструктора таблицу «Товары». После поля «Код товара» создайте новое поле «Код поставщика», воспользовавшись мастером подстановок значений этого поля из таблицы «Поставщики». В режиме таблицы задайте для этого поля значения в соответствии со следующими поставками: поставщик 1010 - товары 2, 4, 6, 9; поставщик 1020 - товары 3, 5, 8, 11; поставщик 1030 - товары 1, 7, 10, 12.
Таблица 5.3
Код поставщика | Название фирмы | Телефон | Факс | Адрес |
М. Видео | (495) 207-9464 | (495) 923-2906 | Маросейка, 6/8 | |
Диал Электроникс | (495) 978-0443 | (495) 978-1693 | Новослободская, 14/19 | |
Мир | (495) 152-4001 | (495) 152-4251 | Чонгарский б-р, 16 |
4.Установите связь между таблицами «Товары» и «Поставщики». В таблице «Товары» поле «Код поставщика» становится полем внешнего ключа (Сервис/Схема данных…).
5.Создайте и сохраните запрос для отображения названий товаров, их цен и названий фирм, поставляющих эти товары (Запрос/В режиме конструктора…).
6.Создайте и сохраните параметрический запрос для отображения в алфавитном порядке названий фирм, поставляющих телевизоры стоимостью до определенной суммы, названия и марки этого товара, а также его цены. Выполните его для нескольких значений параметра.
(Аналогично создайте запрос на две таблицы / Выберите условия:
Названия фирмы/Поставщики/Сортировка по возрастанию;
Название /Товары/Условие [Введите название];
Цена/Товары/Условие [Введите число];
Марка товара/Товары
Цена товара/Товары и т.д.)
7.Создайте и сохраните запрос для отображения цен с дилерской скидкой в 3% на каждый товар, с указанием названия фирмы и ее адреса (Запросы/Режим конструктора…Далее по аналогии выбрать поля/Добавить новое поле для цен с дилерской скидкой и ввести туда выражение Цена со скидкой: [Цена]-[Цена]*0,03(Флажок не снимать!).
8.Создайте и сохраните запрос для отображения средних цен на все товары (аналогично п.7.)
9.Создайте и сохраните перекрестный запрос, отображающий минимальные цены на все товары от разных поставщиков, с указанием названий товаров в заголовках строк и указанием названий фирм поставщиков в заголовках столбцов.
(Создание с помощью мастера: Запросы/Создать/Перекрестный/ОК. Следуем инструкциям (лучше выбрать таблицу Товары, причем поле цены в список не вносить, оно понадобится для выбора подсчета минимальных цен). Создав запрос, откроем его в режиме конструктора и добавим туда таблицу Поставщики. Из нее в поле добавим Названия фирм. Сохранить запрос/ОК. Для просмотра результата открыть запрос.)
Задание 5.3.3.
1.Откройте базу данных, созданную в ходе выполнения предыдущих упражнений.
2.Создайте и сохраните запрос на создание резервной копии таблицы «Товары». Присвойте ей имя «Товары1».
(Запрос/Режим конструктора/Выбрать таблицу Товары
Чтобы не копировать все поля, *перетащить в имя поля
Щелкнуть вверху на слове Запрос/Создание таблицы/Ввести имя Товары1/ОК)
3.Создайте и сохраните запрос на обновление в таблице «Товары1» цен с учетом сезонных скидок в 10%.
(Запрос/Режим конструктора/Добавить Таблицу1/Закрыть.
Нажать вверху на слове Запросы/Тип запроса: обновление
Внести в столбец Цена в строку Обновление: [Цена]*0,9
Сохранить Запрос )
4.Создайте и сохраните запрос на создание таблицы «Видеокамеры», отображающей данные о ценах на видеокамеры, марке товара, а также о названиях и телефонах фирм, их поставляющих.
(Запросы/Конструктор запросов/Добавить таблицы Поставщики и Товары1/ Закрыть
Выбрать поля:
Название товара/Товары; Выбрать условие :Видеокамера
Цена/Товары; Марка/Товары; Название фирмы/Поставщики; Телефон/Поставщики
Нажать вверху Запрос/Создание таблицы
Присвоить имя таблицы: Видеокамеры,
Сохранить запрос)
5.Создайте и сохраните запрос на добавление в таблицу «Видеокамеры» данных о видеомагнитофонах (аналогично п.4, только в условии выбрать: Видеомагнитофон).
6.Используя команду Правка/Переименовать, измените имя таблицы «Видеокамеры» на «Видеотовары».
7.Создайте и сохраните запрос на удаление данных о видеомагнитофонах Sony E150EE из таблицы «Видеотовары».
(Запросы/Конструктор запросов/Добавить таблицу Видеотовары /Закрыть
Выбрать поля/Сделать выборку условий: Видеомагнитофон SONY
Нажать Запрос/Удаление /Сохранить запрос)
8.Создайте простой отчет по запросу 3 из 7-го задания предыдущего упражнения (запрос для отображения цен с дилерской скидкой в 3%).
Задание 5.3.4.
1.Откройте базу данных, созданную в результате выполнения Задания1.
2.С помощью Мастера форм создайте и сохраните форму на основе таблицы «Поставщики», выводящую в один столбец значения полей «Название фирмы», «Телефон», «Факс», «Адрес» (Формы/Мастер форм/Выбрать таблицу Поставщики…)
3.Создайте форму для таблиц «Товары» и «Поставщики», отображающую данные о товарах, поставляемых каждой из фирм, используя таблицу «Поставщики» в качестве главной, а таблицу «Товары» в качестве подчиненной.
(Формы/Мастер форм/Выбрать таблицу Товары/Все доступные поля/ Выбрать таблицу Поставщики/Все доступные поля/Далее).
4.Создайте отчет по запросу для таблиц «Товары» и «Поставщики», отображающий данные о музыкальных центрах: их марку и цену, а также название фирмы-поставщика.
(Сначала создать в режиме конструктора Запрос на основе таблиц Товары и Поставщики, создать условия отбора, сохранить запрос. С помощью мастера отчетов обратиться к сохраненному запросу и создать нужный отчет).
Задание 5.3.5.