Технология разработки и защиты баз данных
Технология разработки и защиты баз данных
Сборник практических заданий
СПЕЦИАЛЬНОСТЬ 230115 Программирование в комьютерных системах
Тюмень, 2013
Сборник предназначен для проведения практических занятий по профессиональному модулю ПМ 02 Разработка и администрирование баз данных МДК 02.02. «Технология разработки и защиты баз данных» на втором курсе очной формы обучения специальности 230115 «Программирование в компьютерных системах».
Содержание
ВВЕДЕНИЕ.. 4
РАЗДЕЛ 1. РАБОТА С ТАБЛИЦАМИ БАЗЫ ДАННЫХ.. 5
Практическая работа №1. Тема: «Создание базы данных в программе MS ACCESS, определение полей и типы данных». 5
Практическая работа №2. Тема: «Создание БАЗЫ ДАННЫХ и таблиц в СУБД Access c помощью шаблонов и мастеров». 6
Практическая работа №3. Тема: «Поиск, сортировка и фильтрация данных в MS ACCESS». 8
Практическая работа №4. Тема: «Сортировка, поиск и фильтрация данных в таблицах». 10
Практическая работа №5. Тема: «Отбор данных при помощи фильтров». 11
Практическая работа №6. Тема: «Работа со связями, ключевыми полями и индексами. Ссылочная целостность». 13
РАЗДЕЛ 2. ЗАПРОСЫ К БАЗЕ ДАННЫХ.. 15
Тема: «Создание запросов». 15
Практическая работа №7. Тема: «Создание запросов». 15
Практическая работа №8. Тема: «Запросы по нескольким таблицам. Виды соединений». 16
Практическая работа №9. Зачетная работа по теме «Создание запросов данных в MS ACCESS» 18
Тема: «Создание запросов SQL». 19
Практическая работа №10. Тема: «Создание запросов SQL». 19
Практическая работа №11. Тема: «Создание запросов SQL на объединение, на изменение». 20
Практическая работа №12. Тема: «Создание диаграмм в программе Access». 22
Практическая работа №13. Контрольная работа по теме «Создание запросов SQL». 24
Вариант 1. 24
Вариант 2. 24
РАЗДЕЛ 3. ОТЧЁТЫ В БАЗЕ ДАННЫХ.. 25
Тема: «Создание форм». 25
Практическая работа №14. Тема: «Создание форм». 25
Практическая работа №15. Тема «Создание форм в программе MS Access». 26
Практическая работа №16. Тема: «Создание сложных многотабличных форм». 27
Практическая работа №17. Зачетная работа по теме «Создание форм». 29
Тема: «Создание макросов». 31
Практическая работа №18. Тема: «Создание макросов». 31
Практическая работа №19. Тема: Макросы, связанные с событиями форм». 34
Тема: «Создание отчетов». 37
Практическая работа №20. Тема: «Создание отчетов». 37
Практическая работа №21. Тема: «Создание отчетов в режиме Конструктор». 40
Практическая работа №22. Тема: «Создание отчетов в режиме Конструктор». 43
Практическая работа №23. Контрольная работа по теме «Создание отчетов». 44
Вариант№1. 44
Вариант№2. 47
Тема: «VBA,программирование в отчетах». 50
Практическая работа №24. Тема: «VBA, программирование в отчетах». 50
Практическая работа №25. Тема: «Создание модулей форм и модулей отчетов». 51
ВВЕДЕНИЕ
В сборник вошли задания, которые могут быть использованы при проведении практических занятий, контрольных и проверочных работ, самостоятельной работы студентов по МДК 02.02. «Технология разработки и защиты баз данных». Сборник предназначен для преподавателей МДК 02.02. «Технология разработки и защиты баз данных» и студентов второго курса очной и заочной форм обучения специальности 230115 «Программирование в компьютерных системах».
Сборник состоит из трех разделов. Все практические работы выполняются на базе приложения MS ACCESS.
В раздел «Работа с таблицами базы данных» включены шесть практических работ, направленные на приобретение основных навыков создания таблиц в базе данных, поиска и сортировки записей в таблицах, создания связей между таблицами базы данных.
В раздел «Запросы к базе данных» включены семь практических работ, направленных на приобретение навыков создания запросов от самых простых, до запросов SQL. Две практические работы из семи направлены на контроль знаний – это зачетная работа по теме «Создание запросов данных в MS ACCESS» и контрольная работа «Создание запросов SQL».
В третий раздел «Отчёты в базе данных» включены практические работы, позволяющие студентам сначала приобрести навыки создания форм, затем навыки создания макросов и в завершении создания непосредственно самих отчётов. Две последние работы знакомят учащихся с возможностями VBA и программирования в отчетах. Раздел так же включает контроль знаний – это зачетная работа по теме «Создание форм» и контрольная работа «Создание отчетов».
Сборник составлен в соответствии с рабочей программой и требованиям государственного образовательного стандарта к минимуму содержания курса по МДК 02.02. «Технология разработки и защиты баз данных».
РАЗДЕЛ 1. РАБОТА С ТАБЛИЦАМИ БАЗЫ ДАННЫХ
Активизируйте окно базы данных, а затем нажмите кнопку «Создать» окна «Таблица» и далее выберите режим «Конструктор»,
1. Создайте структуру, используя следующую таблицу:
Имя поля | Тип данных | Размер и описание | Формат поля | Число десятичных знаков | Маска ввода |
номер | счетчик | ||||
Текст | текстовый | ||||
Число | числовой | С плавающей точкой (4 байта) | процентный | ||
Дата1 | Дата/время | Полный | |||
Дата2 | Дата/время | Длинный | |||
Телефон1 | текстовый | (999) 000-000 | |||
Телефон1 | текстовый | 22-##-## | |||
выполнение | логический | Да/нет | |||
рисунок | Поле объекта OLE |
Поиск данных.
По таблице Товары.
1. Найти все виды конфет (поиск в поле Товар, Совпадение с началом поля или использовать *).
2. Найти все товары с названием "Птичье молоко" (Совпадение с любой частью поля).
3. Найти все товары весом 500г.
Сортировка данных.
По таблице «Заказчики»
1.Задайте сортировку в поле «ФИО» по алфавиту, для этого выберите Записи - Сортировка- По возрастанию.
2. Задайте сортировку в поле «Дата рождения» по возрастанию, используя кнопку на панели инструментов.
3. Задайте сортировку в поле «Код заказчика » по убыванию, используя кнопку на панели инструментов
По таблице «Товары»
1. Задайте сортировку в поле «Товар» по алфавиту.
2. Расположите вестоваров по убыванию.
3. Задайте сортировку по полям «товар» и «цена» одновременно по возрастанию.
4. Задайте сортировку по полям вес и цена по убыванию одновременно.
Фильтрация данных
Использование фильтра по выделенному
По таблице «Заказчики»
Выведите всех заказчиков, проживающих в г. Волгограде, для этого
· выделите в любой ячейке поля Адрес–Волгоград,
· выберите Записи - Фильтр по выделенному.
Для того чтобы отменить фильтр, выберите команду Записи + Удалить фильтр или кнопку на панели инструментов
1. Выведите всех заказчиков, родившихся в 1979 году, используя панель инструментов.
· Выделите в любой ячейке поля дата рожденния-79,
· на панели инструментов выберите кнопку
2. Выведите всех заказчиков, телефон которых начинается на 7.
3. Выведите всех заказчиков, родившихся 26 числа.
По таблице «Товары»
4. Выведите все товары с названием «Птичье молоко».
5. Выведите все товары весом 1000 г.
6. Выведите все товары, цена которых находиться в пределах от 30 до 40 (выделите 3).
Использование обычного фильтра.
По таблице «Товары»
1. В таблице «Товары» выведите все товары весом, не превышающие 500 г.
для этого выберите Записи - Фильтр - Изменить фильтрили кнопку на панели инструментов.
В поле вес введите <=500.
2. Выведите все виды печенья, цена которых превышает 20 рублей.
3. Выведите все товары с ценой от 20 до 40 руб., используя, оператор Between.
4. Выведите все товары весом 250, 500 и 100 (используйте оператор in)
5. Выведите все товары с названием торт, чай или конфеты (используйте оператор or).
По таблице «Заказчики»
6. Выведите всех заказчиков, проживающих в городе Москва или Волгограде (используйте оператор or).
7. Выведите всех заказчиков, фамилия которых начинается на М или на П.
Использование расширенного фильтра
1.В таблице Заказчики выведите всех заказчиков по алфавиту, проживающих в городе Волгограде и родившиеся после 12 апреля 1976 года.
¨ Для этого выберите Записи- Фильтр- Расширенный фильтр
¨ В окне списка полей выберите поля, которые необходимо включить в фильтр-
ФИО, адрес, дата рождения
¨ Для поля ФИО в строке Сортировказадайте По возрастанию,
¨ Для поля Адрес задайте условие отбора - Волгоград.
¨ Для поля «Дата рождения» задайте условие отбора >12.04.76
¨ выберите Записи - Фильтр - Применить фильтрили щелкните по кнопке на панели инструментов-
2. В таблице «Товары» выведите все товары по алфавиту весом больше 500 г и ценой меньше 50 руб.
3. Выведите в таблице «Товары» все сорта чая, цена которых меньше 15 рублей, причем в порядке уменьшения цен.
4. В таблице Заказчики выведите по алфавиту всех заказчиков проживающих в Волгограде или Воронеже.
5. В таблице «Заказы» выведите все заказы количеством от 200 до 500 (в порядке возрастания) и которые были выполнены (условие Да).
Практическая работа №4. Тема: «Сортировка, поиск и фильтрация данных в таблицах».
Откройте базу данных «Борей» в папке своей группы
или C:\Program Files\Microsoft Office\Office\Samples\ Борей.mdb.
Закрепление столбцов таблицы.
Если записи таблицы, которую нужно отсортировать, содержат больше полей, чем помещается в окне таблицы, то для облегчения просмотра можно закрепить некоторые столбцы таблицы,
(они всегда остаются на экране)
Чтобы закрепить столбцы «КодКлиента» и «Название» таблицы «Клиенты»:
1. Откройте таблицу «Клиенты» в режиме таблицы.
2. Выделите поля «КодКлиента» и «Название».
3. Выберите команду Формат, Закрепить столбцы.
4. Просмотрите таблицу Клиенты, перемещаясь с помощью линейки прокрутки вправо.
Для частого использования закрепления столбцов можно добавить кнопку на панель инструментов «Закрепить столбец».
Сортировка таблицы по значению одного поля.
Чтобы отсортировать таблицу «Клиенты» по значению поля «Индекс:
1. Выделите поле «Индекс», щелкнув по его заголовку левой кнопкой мыши или щелкните в любой ячейке поля.
2. Выберите команду Записи, Сортировка, По возрастанию или нажмите кнопку «Сортировка по возрастанию» на панели инструментов.
Сортировка таблицы по значению нескольких полей.
Чтобы произвести сортировку таблицы «Клиенты» по значению полей сначала по «Страна», потом «Индекс» :
1. Укажите мышкой на заголовок поля «Страна», нажмите левую кнопку мыши и, не отпуская её, перетащите поле «страна» левее поля «Индекс».
2. Выделите поля «страна» и «индекс».
3. Выберите команду Записи, Сортировка, по возрастанию или кнопка на панели инструментов.
Выполните сортировку сначала по полю Должность, а потом по Обращаться К.
Отмена сортировки и освобождение всех столбцов.
Чтобы придать таблице прежний вид:
¨ Чтобы отменить сортировку таблицы, выберите команду Записи, Удалить Фильтр.
¨ Чтобы отменить сортировку таблицы, не имеющей первичного ключа, закройте таблицу, не сохраняя изменений, и откройте ее снова.
¨ Чтобы освободить закрепленные столбцы, выберите команду Формат, Освободить все столбцы.
¨ Чтобы вернуть исходный порядок следования полей таблицы, перетащите их на нужное место или закройте таблицу, не сохраняя изменений, и откройте её снова.
Поиск записей по значению поля (по таблице Клиенты).
1. Найдите в поле «Область» SP, для этого выберите Правка, Найти, в поле ввода Образец введите SP.
2. Найдите все страны, заканчивающиеся на лия(выберите совпадение с любой частью). Найдите другой способ поиска.
3. Выполните поиск в поле Должность, найдите всех Менеджеров по продажам (введите Менеджер и выберите С учетом регистра).
4. Найдите записи, в которых номера телефонов или факса начинаются на 503
(выберите Совпадение с началом поля и уберите переключатель Только в текущем поле)
Тема: «Создание запросов»
From товары
In "C:\program files\Microsoft office\office\samples\борей.mdb";
3. Создайте запрос данных «Страны Получателей», выбирающий из таблицы Заказы поле СтранаПолучателя с исключением повторений, используя предикат Distinct:
From заказы
Order by стоимостьдоставки desc;
6. Создайте запрос с параметрами «Цены Заказано2», запрашивающий для поля цена начальное значение и конечное значение и выводящий все поля таблицы «Заказано».
SELECT *
FROM заказано
WHERE Цена Between [начальная цена] And [конечная цена];
7. Создайте запрос данных «Заказы сотрудников», выбирающий из таблиц «Сотрудники» сведения о сотруднике (фамилия, имя, должность) и из таблицы «Заказы» дату исполнения заказа сотрудником, используя команду inner join.
SELECT фамилия &" "& имя as сотрудник, должность, датаисполнения
SELECT DISTINCTROW название
FROM Клиенты INNER JOIN Заказы ON Клиенты.КодКлиента= Заказы.КодКлиента
Order by название;
Самостоятельная работа
(по базе данных «Заказы товаров»)
1. Создайте запрос sql1, отображающий данные поля Вес без повторений.
2. Создайте запрос sql2, отображающий 3х самых молодых заказчиков.
3. Создайте запрос с параметром sql3по таблице Товары, отображающий все поля таблицы Товары для введенного пользователем промежутка значений поля вес.
4. Создайте запрос sql4, отображающий поля товар, цена и количество таблиц Товары и Заказы.
5. Создайте запрос sql5, отображающий данные полей фио, телефон, адрес, товар, и цена, где заказчики из введенного пользователем города, фио упорядочите по алфавиту.
UNION
SELECT название, город, индекс, страна, кодклиента as код
from клиенты
where страна="Франция";
сохраните запрос под именем «Предприятия из Франции».
Самостоятельная работа
(по базе данных Борей)
1. Создайте запрос «Зачет1» данных по таблицам Заказы и Клиенты, содержащий поля: Название, адрес, дата исполнения 1996 года и Стоимость доставки в промежутке [30;40]. Задайте соединение по полю Кодклиента, выборка первых 10 записей по наименьшей стоимости доставки.
2. Создайте запрос «Зачет2» на создание таблицы «Рыбопродукты» по запросу данных из таблицы "Товары" полей Марка, единица измерения, цена и минимальный запас. Среди товаров выберите Рыбопродукты (кодтипа-8).
3. Создайте запрос «Зачет3» на добавление в таблицу «Рыбопродукты» продуктов типа Мясо/птица (код типа-6).
4. Создайте запрос «Зачет4», объединяющий 2 запроса: запрос, выбирающий все поля по таблицы «Продукты», кроме Вес и запрос выбирающий поля таблицы «Товары» -кодтовара, марка, цена.
5. Создайте запрос «Зачет5» на изменение цен в таблице «Рыбопродукты»– уменьшение цен поставщика Lyngbysild в 10 раз.
Вариант 1
- Напишите инструкцию SQL-запроса на выборку, возвращающий из таблицы «Продажи»
а) поля: Код_товара, Название, Цена, Количество и Категория, добавить вычисляемое поле Всего=Цена*Количество.
б) 15 самых дешевых товаров категории продукты.
- Что даст следующая инструкция:
SELECT DISTINCTROW Заказы.[Код заказа], Заказчики.Фамилия, Заказчики.Имя, Заказы.[Дата заказа]
FROM Заказчики INNER JOIN Заказы ON Заказчики.[Код заказчика] = Заказы.[Код заказчика]
ORDER BY Заказы.[Код заказа];
- Найдите ошибки в написании инструкции:
SELECT*
from поставщики
where страна="Испания"
UNION SELECT название,город,индекс,страна,кодклиента as Код
from клиенты
where страна="Испания"
- Продолжите фразу:
Ключевое слово Having используется для…
Вариант 2
1 Напишите инструкцию SQL-запроса на выборку, возвращающий из таблицы «Архив профессий» данные
а) полей Профессия, Тип и Оклад (переименовать в Зарплата),добавьте вычисляемое поле Новая зарплата=Оклад*1,1. Задайте сортировку по полю Профессия.
б) выбор первых 15 самых высокооплачиваемых профессий.
2 Что даст следующая инструкция:
DELETE*
FROM Студент INNER JOIN [Студент заочник]
ON Студент.Группа=[Студент заочник].Группа
3 Найдите ошибки в написании инструкции:
SELECT Код заказа, Фамилия & “ ”& Имя AS Заказчик, Дата заказа
FROM Заказчики INNER JOIN Заказы ON Заказчики. Заказчик = Заказы.Код заказчика
ORDER BY Заказы.Код заказа;
4 Продолжите фразу:
Ключевое слово Where используется для…
Тема: «Создание форм»
Тема: «Создание макросов»
Присоединение макросов.
Создадим макрос, открывающий формы «Заказы» и «Клиенты», выбрав для этого переключатель:
8. Создайте новую форму «Главная2», добавьте в неё группу из 2х переключателей (без помощи Мастера) и кнопку.
9. Задайте надпись для группы –Открытие форм.
10. Задайте надпись для 1го переключателя - Заказы, для 2го –Клиенты.
11. Задайте подпись для кнопки -Открыть.
12. Создайте новый макрос «Для главной2 »
13. Добавьте в макрос макрокоманды –открыть форму «Заказы» и «Клиенты».
14.В столбец Условие и введите для первого условия: [Forms]![главная2]![группа0]=1
для второго условия: [Forms]![главная2]![группа0]=2
Для работы макроса откройте форму в режиме Конструктор и на вкладке События свяжите нажатие кнопки с макросом «Для главной2»
Оформление собственной строки меню.
1. Первый этап создания меню- разработка макросов, которые будут применяться в качестве команд меню. Мы будем использовать уже созданные макросы: Поиск (Для поиска значений), Открытие1 (для открытия таблиц и форм) и макрокоманду Выход (для закрытия базы данных).
2. Второй этап- создание макрогруппы, включающей макросы для выполнения команд меню:
3. Создайте новый макрос и добавьте столбец имена макросов
Имя макроса | Макрокоманда | Аргументы |
Поиск записей | Запускмакроса | Поиск |
Открытие таблиц | Запускмакроса | Открытие1.таблиц |
Открытие форм | Запускмакроса | Открытие1.форм |
выход | Закрыть |
4. Сохраните макрос под именем «Первое меню».
5. Создайте макрос для второго пункта меню (выполняющий действия Вырезать, Копировать, Вставить и Отмена).
Имя макроса | Макрокоманда | Аргументы |
Копировать | ВыполнитьКоманду | Copy |
Вырезать | ВыполнитьКоманду | Cut |
Вставить | ВыполнитьКоманду | Paste |
Отменить | ВыполнитьКоманду | Undo |
6. Сохраните макрос под именем «Второе меню».
Для создания меню для формы «Главная2»
1 Создайте ещё один макрос.
2 Выберите команду ДобавитьМеню - для аргумента задайте имя макроса Первое меню
3 Выберите команду ДобавитьМеню - для аргумента задайте имя макроса Второе меню
4 Сохраните макрос под именем Моё меню.
5 Откройте форму Главная2 в режиме Конструктор и выберите вкладку Другие в строке Строка меню задайте Моё меню.
6 Перейдите в режим формы и проверьте работу макроса.
Тема: «Создание отчетов»
Создайте отчет «Каталог»
1. Создайте отчет в режиме Конструктор, выберите в качестве источника записей таблицы Типы и Товары, из таблицы Типы поля Категория, описание и изображение; из таблицы Товары КодТовара, Марка, ЕдиницаИзмерения, Цена и ПоставкиПрекращены. Для поля ПоставкиПрекращены задайте условие о том, что поставки не прекращены (это поле не выводить на экран).
1.В заголовок отчета добавьте семь надписей,
1.1.в первую введите текст - БОРЕЙ
1.2. во вторую надпись введите Торговая компания,
в третью- Осенний каталог,
добавьте разделительную линию.
1.3.Добавьте прямоугольник и в прямоугольник четвертую надпись - Гарантия качества и пятую - Компания «Борей» гарантирует доставку товаров наивысшего качества со всего мира. Если вас не полностью удовлетворяет какой-либо товар, вы можете вернуть его нам за полную стоимость.
1.4. Добавьте разрыв страниц, используя кнопку на панели элементов.
1.5.Добавьте шестую надпись - Продукты питания всего мира от компании «Борей»!
1.6.Добавьте седьмую надпись - Когда агенты компании «Борей» ищут чудеса гастрономии, они находят для наших клиентов намного более семи чудес света. Просмотрите наш осенний каталог и облизнитесь.
Напитки и закуски, предлагаемые этой осенью, удовлетворят наиболее прихотливые вкусы.
Любителям чего-нибудь этакого рекомендуем тибетское пиво Chang, укрепляющее душу Laughing Lumberjack, если покрепче, то Rhonbrau Klosterbier, а чтобы освежиться - ликер Lakkalikoori.
Если потянет на сладенькое, попробуйте Pavlova из Австралии, шоколадные бисквиты Teatime из Англии, Maxilaku из Финляндии или шоколадно-ореховый крем NuNuCa из Берлина.
Наши представители готовы выполнить любые желания клиентов. Для удобства на последней странице каталога добавлен бланк заказа.
2. Задайте группировку по полному значению поля Категория, добавив Заголовок и Примечание группы, задайте сортировку по алфавиту поля Марка.
3. Добавьте в заголовок группы поля Категория, Описание и Изображение; надписи полей удалите и расположите элементы компактно.
4. В область данных добавьте поля Марка, КодТовара, ЕдиницаИзмерения и Цена. Надписи переместите в заголовок группы в прямоугольник, задайте цвет заливки прямоугольника.
5. В примечание группы добавьте разделительную линию.
6. В нижний колонтитул добавьте надпись с текстом – Осенний каталог, и поле, возвращающее текущую страницу.
Вариант№1
Откройте базу данных «бюро.mdb» в папке своей группы или импортируйте по пути G:\TXT\Access\бюро.mdb.
1. Создайте отчет1, отображающий сведения о предприятиях, предоставляющих вакансии.
1.1. Постройте список полей по таблицам Предприятия, Профессии и Вакансии, выбрав поля название, тип, адрес и профессия.
1.2. Добавьте заголовок отчета- предприятия по профессиям.
1.3. Задайте группировку по полям профессия (добавьте заголовок и примечание) и тип (добавьте заголовок). Группы не разрывать.
1.4. В заголовки групп добавьте соответствующие поля.
1.5. В область данных поля Название и адрес, метки полей переместите в заголовок группы профессия и расположите в две строки.
1.6. В примечание группы профессия добавьте вычисляемое поле следующего содержания: =по профессии "название профессии" количество предприятий".
1.7. Добавьте нумерацию страниц в нижний колонтитул - страница №.
1.8. В верхний колонтитул добавьте текущую дату.
1.9. Выполните подсчет количества вех профессий отчета.
1.10. Отформатируйте отчет по образцу:
2. создайте многоколоночный отчет2, отображающий сведения о предприятиях по округам, предоставляющих вакансии.
2.1. Постройте список полей по таблицам Предприятия и Округ, выбрав поля название, адрес и мо.
2.2. Добавьте заголовок отчета- Предприятия предоставляющие вакансии.
2.3. Задайте группировку по мо, добавив заголовок группы. Добавьте в заголовок поле мо.
2.4. Добавьте в область данных поля, метки переместите в верхний колонтитул.
2.5. Разбейте отчет на две колонки, метки полей продублируйте.
2.6. Добавьте нумерацию страниц: страница № из кол-во страниц.
2.7. Выполните форматирование по образцу:
3. Создайте отчет3, отображающий сведения о безработных, сгруппированных по профессиям.
3.1. Создайте отчет в режиме Конструктор.
3.2. Постройте список полей по таблицам Предложения, Профессии и Безработные, выбрав поля фамилия, имя, дата рождения, телефон, дата заявки, стаж клиента, профессия.
3.3. Добавьте заголовок отчета - безработные по профессиям.
3.4. Задайте группировку по полям профессия и дата заявки, добавьте заголовок и примечание. Группы не разрывать.
3.5. В заголовок группы Профессия добавьте соответствующее поле - Профессия.
3.6. В область данных добавьте поля Телефон, стаж клиента, дата рождения, вычисляемое поле, возвращающее фамилию и имя. Метки полей переместите в заголовок группы профессия и расположите горизонтально.
3.7. В заголовок группы дата заявки добавьте вычисляемое поле следующего содержания: заявка "год заявки" года.
3.8. В примечание группы дата заявки добавьте вычисляемое поле следующего содержания: всего с "год заявки" "количество" безработных.
3.9. В примечание группы профессия добавьте вычисляемое поле следующего содержания: = всего по профессии "профессия "количество" безработных.
3.10. Добавьте нумерацию страниц в нижний колонтитул - страница №.
3.11. В верхний колонтитул добавьте текущую дату.
3.12. Выполните подсчет количества вех безработных в примечании отчета:
Вариант№2
Откройте базу данных «бюро.mdb» в папке своей группы или импортируйте по пути G:\TXT\Access\бюро.mdb.
4. Создайте отчет 1, отображающий сведения о предприятиях, предоставляющих вакансии.
4.1. Создайте отчет в режиме Конструктор.
4.2. Постройте список полей по таблицам Предприятия, Профессии и Вакансии, выбрав поля название, тип, адрес и профессия.
4.3. Добавьте заголовок отчета- предприятия по профессиям.
4.4. Задайте группировку по полям профессия (добавьте заголовок и примечание) и тип (добавьте заголовок). Группы не разрывать.
4.5. В заголовки групп добавьте соответствующие поля.
4.6. В область данных поля Название и адрес, метки полей переместите в заголовок группы профессия и расположите в две строки.
4.7. В примечание группы профессия добавьте вычисляемое поле следующего содержания: =по профессии "название профессии" количество предприятий.
4.8. Добавьте нумерацию страниц в нижний колонтитул - страница №.
4.9. В верхний колонтитул добавьте текущую дату.
4.10. Выполните подсчет количества вех профессий в примечании отчета.
4.11. Отформатируйте отчет по образцу:
5. создайте отчет2, отображающий вакансии, предлагаемые предприятиями.
5.1. Постройте список полей по таблицам Вакансии, Профессии и Предприятия, выбрав поля профессия, оклад, название, адрес, кол вак.
5.2. Добавьте заголовок отчета- Вакансии по предприятиям, текущую дату..
5.3. Задайте группировку по полю профессия, добавьте заголовок и примечание. Группу не разрывать.
5.4. В заголовок группы Профессия добавьте соответствующее поле - Профессия.
5.5. В область данных добавьте поля название, адрес, оклад, кол вакансий. Метки полей переместите в заголовок группы профессия и расположите горизонтально.
5.6. В примечание группы профессия добавьте вычисляемые поля, возвращающие максимальную, минимальную и среднюю зарплаты.
5.7. Добавьте нумерацию страниц в нижний колонтитул - страница №.
6. создайте многоколоночный отчет3, отображающий сведения о предприятиях по предприятиям, предоставляющих вакансии.
6.1. Постройте список полей по таблицам Профессии и Архив профессий, выбрав поля профессия, оклад и тип.
6.2. Задайте группировку по полю профессия, добавив заголовок группы. Добавьте в заголовок поле профессия.
6.3. Добавьте в область данных поля, метки переместите в заголовок группы. Добавьте нумерацию данных по группам - счетчик.
6.4. В примечание группы добавьте вычисляемое поле, возвращающее количество предприятий по профессиям.
6.5. Разбейте отчет на две колонки. Добавьте нумерацию страниц: страница № из кол-во страниц.
Dim db as Database
Dim td as TableDef
Dim fld as Field
Затем следует открыть базу данных, если для нужна другая база данных :
Set db=opendatabase("имя файла базы данных")если нужна текущая база данных то используется
Set db = CurrentDb ()
Т.к. база данных теперь открыта и содержится в переменной db, можно обратиться к семейству определений таблиц и присвоить требуемое значение переменной td:
Set td=db.TableDefs("имя таблицы")
Затем, при помощи метода CreateField объекта TableDef можно добавить поле с заданными именем заданного размера:
Set flf=td.createfield(имя поля, тип данных, размер)
Поле создано и содержится в переменной fld, но в состав таблицы оно ещё не включено. Метод Append позволяет включить поле в таблицу:
Td.fields.append.fld
Остается закрыть базу данных и освободить память, выделенную под переменную db:
Db.close
Set db=nothing
Если требуется создать новую таблицу в базе данных, то действовать следует аналогичным образом. Только вместо открытия таблицы обращением к семейству TableDefs следует использовать метод CreateTable того же семейства, и пока на таблицу указывает объектная переменная, создать в ней необходимые поля и включить таблицу в состав семейства при помощи метода Append.
Задание1.
Добавим в базу данных "Борей" таблицу "Счета" для ведения лицевых счетов клиентов. Каждая запись в таблице должна состоять из двух полей: поля "лицевой счет" (длинное целое), поля "остаток" (денежный) и поля "примечание" (текстовый, размер 30).
'Объявим необходимые переменные
Dim db as Database
Dim td as TableDef
'Открыть базу данных
Set db=opendatabase("c:\2as_\борей.mdb")
'Создать новую таблицу
Set td=db.CreateTableDef("ЛицевыеСчета")
'Создать в новой таблице два поля
With td
.Fields.Append.CreateField("ЛицевойСчет", dblong)
.Fields.Append.CreateField("остаток", dbcurrency)
.Fields.Append.CreateField("примечание", dbtext, 30)
End With
'включить новую таблицу в базу данных
Td.TableDefs.Append td
'закрыть базу данных и освободить память
Db.close
Set db=nothing
Задание2.
Добавим в таблицу "товары" базу данных "Заказы товаров" поле дата_выпуска типа дата/время.
Dim db as Database
Dim td as TableDef
Dim fld as Field
Set db = CurrentDb()
'выбрать таблицу "товары"
Set td=db.TableDefs("Товары")
'Создать в таблице поле
set fld=td. CreateField("дата_выпуска",dbD ate)
'включить новое поле в таблицу базы данных
Td.Fields.Append fld
'закрыть базу данных и освободить память
Db.close
Set db=nothing
Программирование в отчетах.
Для работы создайте отчёт по таблице «Заказано» в базе данных "Борей» с помощью Автоотчет: ленточный.
Нумерация записей.
В некоторых случаях отчеты нагляднее, если записи каждой страницы пронумерованы.
Для нумерации записей каждой страницы используйте счетчик.
Создайте в области данных текстовое поле с именем полеЗапись (для этого вызовите свойства поля и на вкладке Другие выберите свойство Имя). Для того чтобы значение в этом поле с каждой записью увеличивалось на 1, назначьте событию области данных Печать, следующую процедуру (для этого вызовите свойства области данных, перейдите на вкладку События в строке Печать выберите ….и Программа или Процедура обработки событий и ….):
Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)
If PrintCount = 1 Then ПолеЗапись = ПолеЗапись + 1
End Sub
На каждой странице значения в поле Счетчик должны начинаться со значения 1. Для этого назначьте событию Печать области верхнего колонтитула следующую процедуру:
Private Sub ВерхнийКолонтитул_Print(Cancel As Integer, PrintCount As Integer)
ПолеЗапись = 0
End Sub
PS. Если необходимо указывать в области примечания количество записей на странице, перенесите текстовое поле полеЗапись в область нижнего колонтитула.
Печать суммы на каждой странице отчета.
В многостраничных счетах на каждой странице следует печатать промежуточную сумму.
Для вычисления промежуточной суммы воспользуйтесь событием Печать
Поместите свободное поле с именем поле Сумма в область нижнего колонтитула отчета. Здесь будет отображаться промежуточная сумма. Остальное выполняет две процедуры событий.
Первая процедура связана с событием печать верхнего колонтитула
(эту процедуру добавьте в предыдущую, для перехода в программу выберите Вид, Программа):
Private Sub ВерхнийКолонтитул_Print(Cancel As Integer, PrintCount As Integer)
Me!ПолеСумма = 0
End Sub
Вторая процедура связана с событием Печать области данных:
Private Sub ОбластьДанных_Print(Cancel As Integer, PrintCount As Integer)
If PrintCount = 1 Then
Me!ПолеСумма = Me!ПолеСумма + Me![цена]
End Sub
Для каждой записи промежуточная сумма будет увеличиваться на величину поля Цена. Однако перед этим значение свойства PrintCount проверяется на равенство 1. Это является обязательным, поскольку Access неоднократно обращается к событию Print при печати счета, занимающего несколько страниц. Свойство PrintCount указывает, сколько раз происходило обращение к этому событию для текущей области. Для того чтобы значение поля не прибавлялось несколько раз, вычисление выполняется только при первом событии.
Выделение важных данных начертанием.
Важнейшие данные отчета должны быть выделены полужирным стилем.
Создайте для события Форматирование области данных процедуру, в которой свойство FontBold некоторого управляющего элемента имеет значение True.
Свойство FontBold задает использование полужирного шрифта в следующих ситуациях:
· · при просмотре или выводе на печать элементов управления в форме или в отчете;
· · при выводе отчета на печать с помощью метода Print.
Свойство FontBold может иметь следующие значения.
Наши рекомендации
|