Лабораторная работа MS Access 

Цена 1500 



Часть 1. Создание и редактирование таблиц.

  1. Создать новую базу данных. Сохранить ее под именем «Автомобили».
  2. В базе данных «Автомобили»  создать в режиме конструктора таблицу «Модели» следующей структуры:

Поле

Тип

Описание

Параметры

Код модели

Числовой

Код модели по заводскому каталогу

Размер поля .................... Длинное целое

Формат ............................. Основной

Число десят. зн................ 0

Обязательное поле......... Да

Индексированное поле. Да(совпадения не допускаются)

Модель

Текстовый

Тип кузова

Размер поля .................... 20

Индексированное поле. Да(допускаются совпадения)

Мощность двигателя

Текстовый

Числовое значение в квт/л.с.

Размер поля .................... 10

Индексированное поле. Нет

Цвет

Текстовый

Цвет кузова

Размер поля .................... 20

Индексированное поле. Нет

Количество дверей

Числовой

Две или четыре

Размер поля .................... Байт

Формат ............................. Основной

Число десят. зн................ 0

Знач. по умолчанию...... 4

Условие на знач.............. 2 or 4

Сообщение об ошибке.. Поле может содержать только числа 2 или 4

Индексированное поле. Нет

Коробка передач

Текстовый

Автоматическая или ручная

Размер поля .................... 15

Знач. по умолчанию...... Ручная

Условие на знач.............. "Ручная" or "Автоматика"

Сообщение об ошибке.. Допустимы только значения "Ручная" или "Автоматика"

Индексированное поле. Нет

Обивка

Текстовый

Кожа, велюр или другая ткань

Размер поля .................... 20

Индексированное поле. Нет

Другое оснащение

Поле МЕМО

Дополнительные аксессуары

Для поля МЕМО  никаких ограничений не устанавливается

Заводская цена

Денежный

Цена завода изготовителя

Формат ............................. Денежный

Число десят. зн................ Авто

Индексированное поле. Нет

Транспортные издержки

Денежный

Расходы на доставку

Формат ............................. Денежный

Число десят. зн................ Авто

Индексированное поле. Нет

Предпродажная подготовка

Денежный

Расходы на предпродажную подготовку

Формат ............................. Денежный

Число десят. зн................ Авто

Знач. по умолчанию...... 105

Индексированное поле. Нет

Специальная модель

Логический

Специальная модель или стандартное исполнение

Формат ............................. Да/Нет

 

Установите поле [Код модели] в качестве ключевого. Закройте таблицу, сохранив изменения и задав ей имя.

  1. Отредактируем проект таблицы «Модели»:

a)      Создайте копию таблицы «Модели» с озаглавив ее «Модели резервная копия» с помощью команды Файл -Сохранить как/экспорт или через Правка - Копировать, Вставить(обычно при редактировании проект а таблицы этот шаг не является обязательным);

b)     Выберите режим конструктор для таблицы «Модели»

c)      Поскольку в поле [Коробка передач] вводится только одно из двух значений, нецелесообразно делать это вручную. Выберем Тип данных - Мастер подстановок- будет введен фиксированный набор значений – число столбцов 1 – введем (без кавычек) в 1ю строку столбца “Ручная” во 2ю “Автоматика” (Раздел Подстановка свойств поля [Коробка передач] заполнен мастером автоматически, т.к. других модификаций коробки передач не предвидится, установите свойство: Ограничится списком - Да)

  1. Заполним нашу таблицу данными (кнопка Открыть).

 

Поле

Значение

Запись 1

Код модели

12579

Модель

Corolla LiftbackXL

Мощность двигателя

53/75

Цвет

Красный торнадо

Количество дверей

4 (установлено по умолчанию)

Коробка передач

Ручная (установлено по умолчанию)

Обивка

Ткань

Другое оснащение

Автомагнитола, раздвижная крыша

Заводская цена

35700

Транспортные издержки

950

Предпродажная подготовка

105

Специальная модель

Нет

Запись 2

Код модели

12580

Модель

Corolla LiftbackGT

Мощность двигателя

69/90

Цвет

Бутылочное стекло

Количество дверей

4

Коробка передач

Автоматика

Обивка

Ткань

Другое оснащение

Автомагнитола, раздвижная крыша, лаковое покрытие «металлик»

Заводская цена

39200

Транспортные издержки

1200

Предпродажная подготовка

105

Специальная модель

Нет

Запись 3

Код модели

12653

Модель

Corolla CompactGT

Мощность двигателя

100/139

Цвет

Черный

Количество дверей

2

Коробка передач

Ручная

Обивка

Кожа

Другое оснащение

Автомагнитола, раздвижная крыша, лаковое покрытие «металлик», алюминиевые «дворники», электроподъемник окон

Заводская цена

41100

Транспортные издержки

975

Предпродажная подготовка

105

Специальная модель

Да

Запись 4

Код модели

12651

Модель

Corolla CompactXL

Мощность двигателя

90/135

Цвет

Небесно-голубой

Количество дверей

2

Коробка передач

Ручная

Обивка

Велюр

Другое оснащение

Раздвижная крыша, электроподъемник окон

Заводская цена

37900

Транспортные издержки

1050

Предпродажная подготовка

105

Специальная модель

Да

Запись 5

Код модели

12410

Модель

Corolla Kombi

Мощность двигателя

60/90

Цвет

Антрацитовый

Количество дверей

4

Коробка передач

Автоматика

Обивка

Ткань

Другое оснащение

Навесной багажник, раздвижная крыша, электроподъемник окон

Заводская цена

46200

Транспортные издержки

1150

Предпродажная подготовка

105

Специальная модель

Нет

 

  1. Создадим таблицу «Клиенты»

Поле

Тип

Параметры

Код модели

Числовой

Размер поля .................... Длинное целое

Формат ............................. Основной

Число десят. зн................ 0

Обязательное поле......... Да

Индексированное поле. Да(допускаются совпадения)

Номер заказа

Числовой

Размер поля .................... Длинное целое

Формат ............................. Основной

Число десят. зн................ 0

Обязательное поле......... Да

Индексированное поле. Да(совпадения не допускаются)

Обращение

Текстовый

Подстановка:................... “Господину”, ”Госпоже” (см. задание 3.с)

Имя, отчество

Текстовый

Размер поля .................... 40

Индексированное поле. Нет

Фамилия

Текстовый

Размер поля .................... 30

Индексированное поле. Нет

Почтовый адрес

Текстовый

Размер поля .................... 40

Индексированное поле. Нет

Почтовый индекс

Числовой

Размер поля .................... Длинное целое

Формат ............................. Основной

Число десят. зн................ 0

Индексированное поле. Да(допускаются совпадения)

Населенный пункт

Текстовый

Размер поля .................... 40

Индексированное поле. Нет

Телефон

Текстовый

Размер поля .................... 20

Индексированное поле. Нет

Дата заказа

Дата/время

Формат ............................. Краткий формат даты

Индексированное поле. Да(допускаются совпадения)

Скидка

Числовой

Размер поля .................... С плавающей точкой (8 байтов)

Формат.............................. Процентный

Число десят. зн................ 0

Индексированное поле. Нет

Описание поля можно оставить незаполненным или заполнить по своему усмотрению.

Поле [Номер заказа] объявите полем первичного ключа (ключевым).

  1. Заполните таблицу клиенты: введите 7 произвольных клиентов, следя затем, чтобы номера моделей совпадали с номерами в базе модели.
  2. Установим связь между таблицами «Модели» и «Клиенты» (обратите внимание, что это можно было сделать уже на этапе проектирования таблицы «клиенты», если бы в поле [Код модели]  мы использовали подстановку из таблицы модели, однако мы сделаем это позже, чтобы получить навыки, как в связывании существующих таблиц, так и в их редактировании).

a)      Установка связи производится через команду  Сервис – Схема данных.

b)     В окне Схема данных добавим последовательно таблицы «Модели» и «Клиенты» с помощью команды Связи – Добавить таблицу или кнопки Добавить таблицу на панели инструментов. Закроем окно Добавление таблицы.

c)      Переместим используемое для связи поле (ключевое поле [Код модели] таблицы «Модели») к соответствующему полю другой таблицы (поле [Код модели] таблицы «Клиенты») с помощью мыши.

d)     Установим параметры связи:  включим Обеспечение целостности данных - это исключит ошибки ввода данных в таблице «клиенты» (отсутствующие модели), и ошибки удаления данных (удаление моделей из таблицы «модели» на которые имеются ссылки).

  1. Отредактируем таблицу «Клиенты» таким образом чтобы [Код модели] можно было выбирать из списка.

a)      В окне базы данных включим для таблицы «Клиенты» режим Конструктор.

b)     В колонке Тип данных поля [Код модели] выберем Мастер подстановок

c)      В Мастере подстановок выполните следующие установки: Столбец подстановки использует значения из таблицы или запроса – Далее – Таблицы, Модели – Далее Выбранные поля: Модель(Ключевое поле [Код модели] будет присоединено к списку автоматически) – Далее – отключить Скрыть ключевой столбец – Далее –  Доступные поля: Код модели – Готово.

Если все было выполнено правильно, при заполнении поля [Код модели] таблицы «Клиенты» в списке должно отображаться 2 столбца(код и название модели).

  1. Добавим еще 5 клиентов (произвольных) в таблицу клиенты.

Часть 2. Проектирование запросов.

  1. Создадим запрос с именем “телефоны клиентов” который покажет нам содержимое следующих полей:
  • [Модель] из таблицы «Модели»
  • [Имя, отчество] из таблицы «Клиенты»
  • [Фамилия]
  • [Телефон]
  • [Дата заказа]

Для этого в Окне базы данных выберем вкладку Запросы кнопку Создать, в диалоговом окне Новый запросКонструктор, добавим в запрос обе таблицы («Модели» и «Клиенты», используем окно Добавление таблицы), и соответствующие поля из этих таблиц (можно перетащить «мышью» или выбрать из списка).

  1. Выполним запрос. (Открыть на вкладке Запросы Окна базы данных; Восклицательный знак на панели инструментов Конструктор запросов; Запуск из меню Запрос; Режим таблицы меню Вид)
  2. Создайте копию запроса “телефоны клиентов”  с именем “телефоны клиентов сортировка”. Отредактируем запрос таким образом чтобы:

a)      результат был отсортирован по Фамилиям клиента, выполним запрос.

b)     результат был отсортирован по Дате заказа, выполним запрос.

Используем строку Сортировка в соответствующем поле конструктора запроса.

  1. Создайте копию запроса “телефоны клиентов”  с именем “телефоны клиентов модель Corolla LiftbackXL ” и “телефоны клиентов заказы после 1.9.1999 ”. Установим критерии отбора в этих запросах (Строка Условие отбора в соответствующем поле конструктора запроса)

a)      Модель:  =”Corolla LiftbackXL”, при выполнении этого запроса отключите отображение поля [Модель]

b)     Дата заказа: >#1.9.1999#

  1. Создадим запросы аналогичные запросам из предыдущего задания, но название модели  и дата заказа  по которым отбираются клиенты будут запрошены в ходе выполнения запроса. Назовем их “телефоны клиентов  по моделям” и “телефоны клиентов по дате заказа”. В строке Условие отбора, в этом случае, записывается текст вопроса в  квадратных скобках. (Например: [Укажите модель] или [Укажите дату], текст вопроса не должен совпадать с именем поля в таблице.) Выполните эти запросы. 
  2. 6.      Создадим запрос “Отпускная цена” в котором будет рассчитываться Отпускная цена соответствующей модели. Для этого нам потребуется добавить в запрос только 1 таблицу «Модели», затем поле [Модели] а в следующем (пустом) столбце в строке Поле нажать кнопку Построитель на панели задач( или выбрать Построитель из контекстного меню), последовательно вставляем поля Заводская цена, Транспортные издержки, Предпродажная подготовка и знак “+” таким образом чтобы получилось выражение: [Модели]![ Заводская цена] + [Модели]![ Транспортные издержки] + [Модели]![ Предпродажная подготовка] в строке поле отобразится - Выражение1: [Модели]![ Заводская цена] + [Модели]![ Транспортные издержки] + [Модели]![ Предпродажная подготовка]. Замените Выражение1 на Отпускная цена, так чтобы конечное выражение выглядело - Отпускная цена: [Модели]![ Заводская цена] + [Модели]![ Транспортные издержки] + [Модели]![ Предпродажная подготовка]. Выполните запрос.
  3. Создадим запрос “Сумма по моделям”, в котором будут рассчитаны общие суммы продаж по каждой из моделей. Для этого нам потребуется добавить в запрос обе таблицы. Включим в запрос: поле [Модель] таблицы «Модели», поле [Код модели] таблицы «Клиенты», расчетное поле [Сумма] (рассчитывается так же, как Отпускная цена в предыдущем задании).

Для того чтобы нам стали доступны  групповые операции выполняем команду Вид – Групповые операции или нажимаем кнопку å на панели инструментов. Устанавливаем в расчетном поле групповую операцию Sum, в остальных полях Групповая операция группировка. (Выражение в расчетном поле должно выглядеть следующим образом: Сумма: Sum([Модели]![ Заводская цена] + [Модели]![ Транспортные издержки] + [Модели]![ Предпродажная подготовка]).) Выполните запрос.

  1. Создадим перекрестный запрос “перекрестный запрос”, в котором в качестве заголовков столбцов будут указаны названия моделей, в качестве заголовков строк фамилии клиентов, рассчитываться в таблице будет сумма(как в 2х предыдущих заданиях). Для этого добавим в запрос обе таблицы. В меню Запрос активизируем Перекрестный, на бланке конструктора запроса появятся строки Групповая операция и Перекрестная таблица. Выберем поле [Фамилия] из таблицы «Клиенты» с операцией Группировка, как Заголовки строк; поле [Модель] из таблицы «Модели» с операцией Группировка, как Заголовки столбцов; поле Сумма: [Модели]![ Заводская цена] + [Модели]![ Транспортные издержки] + [Модели]![ Предпродажная подготовка] с операцией Sum, как Значение. Выполните запрос.
  2. В перекрестном запросе можно вычислить так же итоги по строкам. Скопируйте предыдущий запрос с именем “перекрестный запрос с итогами”, нам потребуется изменить структуру запроса: [Фамилия]  -  Заголовки столбцов,  [Модель] - Заголовки строк, т.к каждый клиент встречается в базе 1 раз и сумма по строкам для предыдущего запроса не будет иметь смысла. Добавим еще один столбец в запрос: поле Итоговая сумма: [Модели]![ Заводская цена] + [Модели]![ Транспортные издержки] + [Модели]![ Предпродажная подготовка], операция Sum, как Заголовки строк. Выполните запрос.
  3. Создадим запрос на создание таблицы. Создайте запрос на выборку данных из таблицы «Клиенты»  с условием [Дата заказа] < #1.1.2000#. Измените тип запроса (Запрос - Создание таблицы). Озаглавьте новую таблицу «Клиенты за пошлый год». Выполните запрос.
  4. Создадим запрос на удаление данных из таблицы. Скопируйте таблицу «Клиенты» с именем «Клиенты резервная». Создадим запрос на выборку данных из таблицы «Клиенты» с условием [Дата заказа] < #1.1.2000#. Измените тип запроса (Запрос - Удаление). Выполните запрос.
  5. Создадим запрос на добавление данных из таблицы «Клиенты за пошлый год» в таблицу «Клиенты». Создайте запрос на выборку данных из таблицы «Клиенты за пошлый год» (выберем все поля: Поле - Клиенты.*). Измените тип запроса (Запрос - Добавление) в открывшемся диалоговом окне укажите таблицу «Клиенты» к ней будут добавляться данные. В запросе появится строка, в которую  автоматически(в нашем случае) или вручную(при несовпадении имен), можно добавить имена соответствующих полей целевой таблицы. Выполним запрос.
  6. Запрос на обновление. Предположим, что с 1.3.2000 изменились цены по каталогу. При корректировке таблицы «Модели» мы не сохраним информацию о реальной стоимости заказа выполненного до указанной даты, т.к. у нас не предусмотрено хранение суммы заказа. Решим эту задачу: Добавим в таблицу «Клиенты» поле [Сумма заказа], денежный. Заполним это поле с помощью запроса на обновление. Для этого добавим в запрос обе таблицы. В меню Запрос активизируем Обновление, на бланке конструктора запроса появится строка Обновление. Выберем поле [Сумма заказа] из таблицы «Клиенты»  в строке обновление укажем формулу: [Модели]![ Заводская цена] + [Модели]![ Транспортные издержки] + [Модели]![ Предпродажная подготовка], выберем поле [Дата заказа] в строке Условие укажем <#1.3.2000#. Выполните запрос. Теперь изменим данные в таблице «Модели» (предварительно сохранив ее копию в таблице «модели до 1.3.2000») заполним поле [Сумма заказа] для заказов размещенных после 1.3.2000 с помощью запроса на обновление, изменив условие на >=#1.3.2000#.

Часть 3. Создание и редактирование форм.

  1. Создадим форму для работы с моделями. Для этого воспользуемся кнопкой Создать - Автоформа: в столбец на вкладке Формы, затем  Конструктор для полученной формы.

Поле специальная модель вставляется с помощью элемента управления Флажок и описания его свойств.

  1. Создадим составную форму, с помощью которой можно будет посмотреть информацию об автомобилях и клиентах заказавших их.

Используем Формы – Создать – Мастер форм – Таблицы\запосы: Таблица:Модели – выбрать все поля (поле специальная модель можно не выбирать, а добавить при редактировании см. пред. задан.) - Таблица:Клиенты – поля: Обращение, Имя отчество, Фамилия, Почтовый адрес, Почтовый индекс, Населенный пункт,  Номер договора, Дата заказа, Скидка. – Далее – по Модели – Подчиненные формы – Далее – вид подчиненной формы Табличный – Далее – Стиль – Обычный – Далее – Укажите имена форм – Заказы моделей Corolla – подчиненной: Клиенты подчиненной формы – откройте форму в режиме изменения макета, или после просмотра в режиме конструктора.

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

 

  1. Добавим на форму из предыдущего задания расчетное поле Общая цена.  Для этого вставим Поле с панели инструментов Элементы управления, для свойства подпись укажем общая цена, формат Денежный, Данные =[ Заводская цена] +[ Транспортные издержки] +[ Предпродажная подготовка], обратите внимание, что в выражении могут быть использованы существующие поля из таблиц и форм (в данном случае удобнее использовать поля уже указанные в данной форме). Обратите внимание, что в следующем примере формы отсутствует поле номера записи для подчиненной формы, эту установку можно выполнить через свойства этой формы.

 

Часть 4. Создание и редактирование отчетов.

Создадим отчет по нашей базе, в котором отразим продажи по моделям и информацию о текущих ценах. Для начала рассмотрим назначение различных областей отчета:

Заголовок отчета - расположен на первой странице перед верхним колонтитулом. В нашем случае в заголовке отчета разместим его название Обзор заказов и рисунок (фирменный логотип).

Верхний колонтитул - помещается по умолчанию на каждую страницу отчета, его отображение на страницах содержащих шапку или резюме можно заблокировать. Обычно это названия столбцов. В нашем отчете Фамилия, Номер заказа и Дата заказа.

Заголовок группы - состоит из имени группы. В нашем отчете Код модели.

Область данных - элементы  этой области повторяются для каждой выбранной из таблицы записи. В нашем отчете Фамилия, Номер заказа и Дата заказа.

Примечание группы – появляется в конце группы записей. Применяется в основном для указания числа записей и сумм в полях группы. В нашем отчете укажем количество заказов по данной модели.

Нижний колонтитул – присутствует на каждой странице отчета. Обычно используется для отображения номеров страниц. По умолчанию мастер отчетов помещает сюда функции =страница и =Now().

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

Теперь приступим к созданию отчета:

  1. Создадим заготовку отчета с помощью мастера отчетов. Вкладка Отчеты окна базы данных - кнопка Создать. В окне Новый отчет: Мастер отчетов и источник Клиенты.  В окне Создание отчетов из таблицы Клиенты выбрать поля Код модели, Фамилия, Дата заказа - Далее>, Уровень группировки - Код МоделиДалее>, Порядок сортировкиФамилияДалее>, Вид макетаСтупенчатыйДалее>, СтильФормальныйДалее>, Имя отчетаОбзор заказовГотово. На экране - созданный вами отчет.
  2. Вставим в отчет фирменный знак. Создайте фирменный знак средствами Paint, Word или любыми другими, можно использовать готовый знак из текущего документа. Для вставки знака откройте отчет из окна базы данных с помощью кнопки Конструктор и вставьте знак через буфер обмена в область заголовка, таким образом, чтобы он не перекрывал заголовок.
  3. Дату создания отчета =Now() поместим из нижнего колонтитула в заголовок отчета.
  4. В нижний колонтитул добавим название фирмы. Для этого на Панели элементов (если она отсутствует на экране, включите ее через Вид – Панель инструментов) нажмите кнопку Надпись(на ней изображено Аа) и мышью разместите  надпись в нижнем колонтитуле отчета. Введите в появившийся прямоугольник текст (например: Представительство фирмы Toyota).
  5. В разделе группировки (кнопка с изображением строк объединенных скобками) изменим свойства уже существующей группы по коду модели, добавив расчет количества записей по любому из столбцов (фамилия или дата заказа).  Можно просто добавить расчетное Поле(кнопка ab) в область примечания группы (например: =count([Дата заказа])).
  6. Прежде чем встроить подотчет, содержащий информацию о ценах в основной отчет, его необходимо создать.  Создайте на основе таблицы «Модели» заготовку подчиненного отчета  «Информация о ценах», включив туда поля Код модели, Модель, Заводская цена, Предпродажная подготовка, Транспортные издержки. Уровни группировки задавать не нужно. Можно произвести сортировку по Коду модели или Модели. В режиме конструктора добавьте в верхний колонтитул надписьОтпускная цена, а в область данных вычисляемое поле Отпускная цена  содержащее =[ Заводская цена] + [ Транспортные издержки] + [ Предпродажная подготовка]. Завершите работу с этим отчетом, сохранив изменения и озаглавив его «Информация о ценах».
  7. Встроим подотчет «Информация о ценах» в отчет «Обзор заказов», для этого достаточно просто перетащить его из окна базы данных в область примечания отчета «Обзор заказов» или воспользуйтесь панелью элементов.
  8. Просмотрите ваш отчет.

 

 

ЦЕНА 1500 РУБ.

РАБОТА БУДЕТ ИНДИВИДУАЛЬНОЙ. ГОТОВНОСТЬ - 1 ДЕНЬ

Поля, помеченные символом *, обязательны для заполнения.