- •Проектирование баз данных в среде универсальной субд ms access
- •1998 Удк 621.372.001.24:681.3
- •С сПбГэту, 1998 лабораторная работа 1. Проектирование структуры базы данных в среде ms access
- •1. Основные положения
- •2. Процедуры создания базы данных
- •2.1.Открытие базы данных.
- •2.2. Определение таблиц базы данных
- •2.3. Связывание таблиц
- •2.4. Импортирование таблиц
- •3. Порядок выполнения работы
- •4. Содержание отчета
- •Лабораторная работа 2.Проектирование формуляров в среде ms access
- •1. Основные положения
- •2. Процедуры создания формуляра
- •2.1. Проектирование формуляра с помощью Конструктора
- •2.2. Проектирование формуляра пользователем
- •3. Порядок выполнения работы
- •Лабораторная работа 3. Проектирование макрокоманд
- •2.2. Задание условий
- •2.3.Выполнение макрокоманды
- •3. Порядок выполнения работы
- •4. Содержание отчета
- •Лабораторная работа 4. Проектирование запросов в среде ms access
- •1. Основные положения
- •2. Процедуры проектирования запросов
- •2.1. Проектирование qbe- запросов
- •2.2. Проектирование sql-запросов
- •2.3. Типы запросов
- •3. Порядок выполнения работы
- •Лабораторная работа 5. Проектирование отчетов в среде ms access
- •1. Основные положения
- •2. Процедуры проектирования отчетов
- •2.1. Изготовление отчетов с помощью Конструктора Отчетов
- •2.3. Встраивание управляющих элементов
- •2.4. Связывание управляющего элемента с полем
- •2.5. Создание вычисляемых управляющих элементов
- •2.6. Сортировка и группировка данных в отчете
- •3. Порядок выполнения работы
- •4. Содержание отчета
- •Лабораторная работа 6. Проектирование модулей на языке access basic в среде ms access
- •1. Основные положения
- •2. Основы программирования на access basic
- •2.1. Модули Access Basic
- •2.2. Проектирование модулей
- •2.3. Проектирование функциональной процедуры
- •2.4. Применение функциональной процедуры
- •2.5. Значение функциональной процедуры
- •2.6. Аргументы функции
- •3. Порядок выполнения работы
- •4. Содержание отчета
- •Содержание
- •Список литературы…………………………………..……………………………..………..40 Приложения…………………………………………………………..……………………….41
- •197376, С.-Петербург, ул. Проф. Попова, 5
2.4. Применение функциональной процедуры
Для связывания разработанной функциональной процедуры с вычисляемым полем в Access предусмотрен ряд способов. Способ связывания функциональной процедуры зависит от ее типа. Функциональные процедуры можно связывать с событиями. Это значит, что такая процедура может вызываться при выполнении щелчка «мышью» на некотором поле. Можно вызвать ее также и из макрокоманды или из другой процедуры. Результат выполнения функциональной процедуры может применяться:
- в качестве значения по умолчанию для поля таблицы;
- в качестве значения критерия для запросов или фильтров;
- в качестве содержимого поля.
В рассматриваемом примере оформления прейскуранта следует воспользоваться ориентированным на событие вызовом функции внутри формуляра Прейскурант. Так как пересчет цены в доллары должен происходить после ввода цены в марках, вызов функциональной процедуры должен осуществляться после обновления поля цены в DM. Для реализации данного способа необходимо задать в свойствах поля DM (цена в DM) в качестве значения опции After Update (после обновления) вызов функции в такой форме:
= Марки_в_Доллары( )
Теперь каждая введенная в поле цены в марках величина автоматически будет пересчитана и внесена в поле цены в долларах. Если необходимо выполнить вычисления для существующих блоков данных, цену в DM следует ввести снова, так как функция выполняется только после обновления содержимого поля (т.е. после того, как в поле внесены изменения и с поля снят фокус).
2.5. Значение функциональной процедуры
В приведенном примере присвоение целевому объекту (полю) вычисленного значения выполняется специальным оператором присвоения внутри функции, но обычно функции возвращают вычисленное значение. Для того чтобы функция вернула некоторое значение, внутри тела функции это значение должно быть присвоено имени функции. Например, функция Коэффициент_пересчета ( ), возвращающая коэффициент пересчета марок в доллары, должна выглядеть так:
Function Коэффициент_пересчета ( )
Коэффициент_пересчета = 1.63
End Function
2.6. Аргументы функции
При проектировании процедуры или функции можно объявить ее зависимой от аргументов. Такие процедуры (функции) при вызове получают ряд данных, которые они используют при вычислениях.
Пример подобной функции приведен ниже:
Function Марки_в_Доллары (Коэффициент)
Forms![Прейскурант]!USD = Forms![Прейскурант]!DM / Коэффициент
End Function
Вызывая эту функции, значение аргумента следует указать в скобках:
= Марки_в_Доллары( 1.63 )
3. Порядок выполнения работы
В процессе выполнения работы требуется разработать модуль на языке Access Basic, содержащий ряд вспомогательных функций, обеспечивающих работу базы данных DEKANAT.
1. Войдите в среду Windows и вызовите СУБД Access. Откройте в рабочем каталоге базу DEKANAT.
2. Откройте окно модуля в базе данных и создайте модуль Инструменты, в который должны входить две вспомогательные функции: Рубли_в_USD и Сумма_часов. Функция Рубли_в_USD должна вычислять долларовый эквивалент стипендии студента и быть ориентирована на использование в формуляре Карточка_студента. Функция Сумма_часов предназначена для подсчета общего количества учебных часов по каждой дисциплине и должна быть связана с формуляром Карточка_дисциплины.
3. Доработайте таблицу Студенты, включив в нее дополнительное поле Стипендия_USD и формуляр Карточка_студента, добавив в него элемент Доллары_США, связанный с полем Стипендия_USD. Спроектируйте функцию Рубли_в_USD и обеспечьте ее вызов при изменении значения поля Стипендия в формуляре Карточка_студента.
4. Разработайте функцию Сумма_часов для подсчета суммарного количества часов по каждой дисциплине. Свяжите разработанную функцию с формой Карточка_дисциплины и настройте ее на автоматический пересчет значения поля H_S таблицы Дисциплины при переходе к новой записи.
5. Выполните отладку функций модуля Инструменты и проверьте правильность их выполнения в составе СУБД Деканат.