Вычисляемые поля в запросах

Запрос можно использовать для выполнения расчетов и подведения итогов из исходных таблиц. Для создания вычисляемых полей используются математические и строковые операторы. При этом 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.