Лабораторная работа №6 по теме Создание сложных форм
Цели работы:
Освоить приёмы работы с данными, хранящимися в БД, с использованием многотабличных форм.
Задачи работы:
Научиться создавать и редактировать иерархические и связанные формы.
Общие сведения.
На практике часто требуются формы, позволяющие производить одновременный ввод или просмотр данных, хранимых в двух или более связанных таблицах. Например, при выводе информации и заказах, можно сразу вывести информацию о сотрудниках, работавших с данными заказами. Эти данные хранятся в разных таблицах: «Заказы» и «Заказано», связанных отношением «один-ко-многим».
Для удобства работы можно создать форму, которая позволит просматривать, вводить и редактировать все данные одновременно. В таких случаях для отображения записей в основной и подчинённой таблицах можно использовать многотабличные иерархические или связанные формы.
Иерархической называется форма, содержащая поля из главной и одной или нескольких подчинённых таблиц.
Связанной называется форма, в которой имеется кнопка, открывающая подчинённую форму при необходимости просмотра данных.
1. Иерархические формы.
Иерархической является форма, содержащая одну или несколько подчинённых форм. Первичная форма называется главной, а форма внутри неё называется подчинённой.
Создание формы с подчинённой формой для вывода данных из таблицы «Заказы» и «Заказано». Данные в таблице «Заказы» находятся на стороне «один» в отношении «один ко многим» и будут являться главной формой, а данные в таблице «Заказано» на стороне «многие» - подчинённой формой. Главная форма базируется на таблице с ключом, а подчинённая форма на таблице, содержащей поле с тем же именем, что и ключевое, и с тем же или совместимым типом данных.
1.1. Перейдите на вкладку Создание, нажмите кнопку Другие формы и выберите Мастер форм;
1.2. В качестве источника данных выберите таблицу «Заказы»;
1.3. В окне Доступные поля выберите все поля из таблицы «Заказы», а из таблицы «Заказано» все поля, кроме поля «КодЗаказа», нажмите кнопку Далее;
![]() |
Рис. 10. Создание подчинённой формы.
1.5. В следующем окне выберите внешний вид подчинённой формы Табличный, нажмите кнопку Далее и выберите стиль оформления формы;
1.6. В следующем диалоговом окне задайте имя формы «Подчинённые формы» и нажмите кнопку Готово.
Должна получиться форма, совмещающая
данные двух таблиц (рис. 11). При просмотре данных в главной форме, в
подчинённой появляются данные, связанные с просматриваемой записью.
Рис. 11. Внешний вид подчинённой формы.
2. Связанные формы.
В некоторых случаях возникает необходимость одновременного просмотра связанных записей в двух формах. Например, при просмотре записей о клиентах можно вывести сведения о заказах. При переходе по записям в первой форме в таких случаях необходимо, чтобы во второй форме автоматически выводились связанные с ними записи.
Синхронизация записей, выводящихся в двух формах, осуществляется с помощью кнопки, открывающей вторую форму и синхронизирующей её с первой.
2.1. В режиме Мастер форм создайте (аналогично предыдущему заданию) форму, выбрав поля из двух таблиц «Товары» и «Заказано». Из таблицы «Заказано» выберите поля, непосредственно отражающее наименование и количество товара;
2.2. В следующем диалоговом окне отметьте флажком Связанные формы (рис.12), выберите стиль оформления, задайте имя для каждой формы и нажмите кнопку Готово.
Рис. 12. Создание связанных форм.
Должна появиться форма, построенная по таблице «Товары», имеющая кнопку с названием формы, построенной по таблице «Заказано» (рис.13). При нажатии на кнопку откроется другая форма, синхронизирующая записи в двух формах.
![]() |
Внимание! Если кнопка не работает, необходимо понизить уровень безопасности: нажмите кнопку Параметры и в открывшемся окне отметьте пункт Включить это содержимое. Проверьте работу кнопки.
3. Создание кнопки для открытия/закрытия, синхронизации или печати формы.
3.1. Откройте любую созданную форму в режиме Конструктора;
3.2. На вкладке Элементы управления нажмите кнопку Кнопка;
3.3. Выберите в форме место и нарисуйте кнопку;
3.4. В первом окне диалога Мастера выберите Работа с формой в списке Категории, а затем выберите тип кнопки в списке действия. Например, Закрыть форму;
3.5. В следующем окне определитесь, как будет оформлена кнопка: с надписью или с рисунком (выход
или стоп
);
3.6. Для упрощения дальнейшей работы с кнопкой, задайте ей имя (например,
Закрытие формы);
3.7. Нажмите кнопку Готово.
4. Самостоятельная работа. Создайте связанные формы по таблицам Поставщики и Товары.
Лабораторная работа № 7
Использование выражений в запросах
Цели работы:
Познакомиться с возможностями встроенных функций в АCCESS. Освоить приёмы работы с Построителем выражений.
Задачи работы:
Научиться создавать сложные запросы, используя Построитель выражений.
Общие сведения.
При работе с таблицами в любой момент можно вывести на экран любую информацию с помощью различных запросов. Сложные выражения в запросах создаются с помощью элементарных логических операций «или», «и», «не».
1. Логическая операция «или».
Когда необходимо выбрать данные по одному из нескольких условий используют оператор или (or) Существует два способа использования оператора или (or) .
1.1. Можно ввести все условия в одну ячейку строки «Условие отбора», соединив их логическим оператором или (or). В этом случае будут выбраны данные, удовлетворяющие хотя бы одному из условий.
Например, запись «300 or 500», введённая в ячейку на пересечении строки «Условие отбора» и столбца «Дополнительные», определит выбор сотрудников, имеющих дополнительные выплаты 300 или 500 рублей.
1.2. Аналогичный результат можно получить, введя второе условие в отдельную ячейку строки «или». При использовании несколько строк «Или», запись будет выбрана, если выполняется условие хотя бы в одной из строк.
2. Логическая операция «и».
2.1. Логическая операция и (and) используется в том случае, когда должны быть выполнены несколько условий одновременно и только в этом случае запись будет выбрана. Чтобы объединить несколько условий отбора оператором и (and) следует привести их в одной строке «Условие отбора». Например, чтобы выбрать сотрудников, имеющих основные выплаты больше 3000 и дополнительные более 800, надо в ячейки на пересечении строки «Условие отбора» и столбца «Основные» ввести выражение >3000, а столбца «Дополнительные» - >800.
Внимание! Условия, связанные оператором и (and) выполняются раньше условий, объединённых оператором или (or).
3. Самостоятельная работа. Создайте запросы с использованием операторов или (or) и и (and) по любой из имеющихся таблиц.
4. Используя оператор Between (между) можно определить период времени, за который нужно просмотреть данные, интервал чисел, выбрать фамилии на определённые буквы и пр.
4.1. Перейдите на вкладку Создание, раздел Другие, Конструктор запросов.
4.2. Для создания запроса выберите таблицы «Заказы» и «Клиенты».
4.3. Выберите для запроса поля «КодКлиента», «Название», «Город», «ДатаРазмещения».
4.4. Поставьте курсор на пересечении поля «ДатаРазмещения» и строки Условие отбора и вызовите окно Построителя выражений. В левом нижнем окне выберите Операторы, а в правом – двойным щелчком оператор Between. Вместо слов «Выражение» введите даты, определяющие период поиска. Например: 01.08.2009 And 31.08.2009. После закрытия окна Построителя выражений программа автоматически заключит даты в значки #.
4.5. Проверьте результат выполнения запроса. Если запрос выполняется, сохраните его под понятным именем. Если в результате выполнения запроса появляется пустая таблица, проверьте соответствие запрашиваемого периода и дат, стоящих в вашей таблице.
5. Создание запроса с критерием поиска на первую букву фамилии.
5.1. Создайте новый запрос, состоящий из всех полей таблицы «Выплаты» и поля «Фамилия» таблицы «Сотрудники» (аналогично предыдущим).
5.2. На пересечении строки Условие отбора и поля «Фамилия» введите критерий поиска: М*. В результате запроса должны быть выведены только те фамилии, которые начинаются на букву М. Программа автоматически добавит к букве оператор, определяющий критерий: Like.
5.3. Выполните и сохранить запрос с именем: «Сотрудники на М».
6. Вычисления срока задержки исполнения заказа.
Создайте запрос в режиме Конструктора по таблице «Заказы». Необходимые поля: «Клиент», «ДатаРазмещения», «ДатаИсполения». В следующем (пустом) поле, используя Построитель выражений, наберите выражение: DateDiff("d";[Заказы]! [ДатаРазмещения]; [Заказы]![ДатаИсполнения]). В окне Область ввода вместо Выражение 1 наберите СрокЗадержки. Выполните запрос.
7. Выборка товаров, цена которых превышает среднюю.
7.1. Создайте запрос в режиме Конструктора по таблице «Товары». Выберите поля «Марка», «Цена».
7.2. В строке «Условие отбора» в поле «Цена» наберите выражение >(SELECT AVG([Товары]![Цена]) From [Товары]). SELECT и From набираются с клавиатуры. Выполните запрос. Если в вашем запросе кроме полей «Марка» и «Цена» показываются другие поля, выполните следующие действия:
Ø Вернитесь в Конструктор запросов
Ø В пустом столбце нижней панели окна Конструктора щёлкните правой кнопкой мыши и в появившемся меню выберите Свойства. Появится окно Свойства запроса с пустыми строками.
Ø Щелкните по пустому месту в окне Конструктор. В окне Свойства запроса в строке «Вывод всех полей» выберите Нет. Закройте окно Свойства запроса.
7.3. Выполните запрос и сохраните его под именем «Цена выше среднего»
8. Проверка отсутствующей даты выполнения заказа и срока выполнения.
Бывают ситуации, когда при заполнении таблицы некоторые ячейки остаются незаполненными. Чтобы проверить полное заполнение таблицы, создайте запрос в режиме Конструктора по таблице «Заказы». Выберите поля КодЗаказа, ДатаРазмещения, ДатаНазначения, ДатаИсполнения. В следующем (пустом) поле наберите выражение: IIf(IsNull([ДатаНазначения]-[ДатаИсполнения]); "Проверьте отсутствующую дату";[ДатаНазначения]-[ДатаИсполнения]). Вызовите окно Область ввода и вместо Выражение 1 наберите СрокИсполнения:. Закройте окно Область ввода. В результате выполнения запроса в поле будет указан срок исполнения заказа. Если не указана одна из дат, то в данной строке появится надпись: Проверьте отсутствующую дату.
Выполните запрос, сохранив его под именем «СрокИсполнения»
9. Самостоятельная работа.
9.1. Из таблицы «Сотрудники», используя оператор Between, выберите фамилии сотрудников, первая буква которых попадает в диапазон от Л до Ф.
9.2. Выберите 10 самых дешёвых товаров.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.