Автор работы: Пользователь скрыл имя, 03 Марта 2013 в 17:28, курсовая работа
Широкое распространение компьютерной техники и вычислительных сетей привело к увеличению объемов информации, хранимой в электронном виде, что повлекло необходимость усовершенствования принципов предварительной обработки и структурирования вводимых данных, а также алгоритмов доступа и модификации данных. Это привело к концепции баз данных и систем управления базами данных (СУБД). В настоящее время наиболее распространенными и промышленно применимыми являются реляционные базы данных.
Как правило, программа на языке
VBA состоит из нескольких процедур и функций.
Описания этих программных единиц хранятся
в модулях. В свою очередь, модули как составные
части входят в проекты. Проекты сохраняются
в файлах документов приложений Office, но
работают с ними с помощью отдельного
приложения — редактора Visual Basic. При необходимости
вызова процедуры или функции, описание
которой расположено в другом модуле,
ее имя при вызове указывается следующим
образом: имяМодуля.имяПроцедуры.
Если описание процедуры или функции расположено
в другом проекте, при вызове следует использовать
синтаксис: имяПроекта.имяМодуля.имя-
Описанные в процедурах VBA действия выполняются над переменными или объектами. Переменные VBA аналогичны переменным других языков программирования. Объекты, с которыми работают процедуры и функции VBA, представляют собой средство программного управления приложениями Office и созданными с их помощью документами. Как и в других объектно-ориентированных языках программирования, у объектов VBA имеются свойства, которые могут принимать различные значения. Эти значения можно использовать в инструкциях VBA в качестве переменных.
Иерархия как общих объектов Office, так и отдельных приложений описывается объектными моделями. Объектная модель описывает вложенность классов объектов, свойства, имеющиеся у объектов каждого из классов, а также методы — операции, с помощью которых можно менять значения этих свойств.
Управляющими конструкциями
Входящие в проект VBA процедуры
и функции располагаются в
модулях. Различают модули двух типов:
стандартные модули и модули класса.
Стандартные модули (модули программного
кода или просто модули) представляют
собой именованные контейнеры, в которых
содержатся переменные, доступные различным
процедурам и функциям (общие переменные),
и программные единицы (процедуры и функции),
не связанные с конкретными объектами.
Процедуры, связанные с конкретными объектами
(например, выполняющиеся при каждом открытии
на экране некоторой формы), хранятся совместно
с этими объектами (в данном случае — непосредственно
в форме).
Модули класса представляют собой именованные контейнеры, содержащие в себе описания созданного пользователем класса объектов. Описанные в них переменные определяют внутреннюю структуру объектов — экземпляров этого класса, а процедуры являются методами этих объектов [3].
Данная база представляет собой общие сведения о кошках, которые принимают участие в выставках. Здесь имеются данные об их породах, возрасте, именах владельцев, выставках, в которых они принимали участие, и завоеванных наградах.
Пользователи базы данных могут просматривать все данные, выборочно (просмотреть только список пород кошек или выставок и т.д.), могут отфильтровать данные для себя (по любому значению), осуществлять поиск данных в целом по значению или фрагменту слова, добавлять данные, удалять, редактировать, выводить результаты своей работы на экран, в файл (формат выбирается пользователем из предложенных) или сразу на принтер.
Заполнение форм максимально упрощено – для ввода данных о владельцах и выставках достаточно проставить в поле id из справочника, который можно открыть тут же в этой же форме, не закрывая ее и не переключаясь, породы кошек и награды выбираются из выпадающего списка, вручную указывается только возраст как весьма расширенная информация, которую небольшим списком, удобным для пользования, нельзя ограничить.
Для удаления и редактирования данных тоже достаточно знать id номер записи. Для предотвращения ошибки на форме имеются кнопки вызова справочника, в котором можно точно посмотреть данные о редактируемой записи.
Также везде имеются всплывающие подсказки, которыми можно воспользоваться во время работы с базой данных.
Разработанная база данных включает в себя пять таблиц, одна главная и четыре подчиненные. Тип взаимосвязей между таблицами – «один-ко-многим".
Рисунок 1 – Схема базы данных
Главная таблица Cats включает в себя поля со следующими данными:
cmas_id – id владельца кошки, по нему подставляются значения из подчиненной таблицы Masters поля fio;
SELECT AD_cats.Кошка FROM AD_cats;
SELECT AD_award.Награда FROM AD_award.
Типы данных полей таблиц базы данных:
Рисунок 2 – Типы данных полей таблицы Cats
Рисунок 3 – Типы данных полей таблицы Masters
Рисунок 4 – Типы данных полей таблицы Shows
Рисунок 5 – Типы данных полей таблицы AD_award
Рисунок 6 – Типы данных полей таблицы AD_cats
Форма StartUp – форма запускается при запуске файла Database_Cats.mdb.
Внешний вид формы:
Рисунок 7 – Форма StartUp
Как видно из рисунка, от автозагрузки данной формы можно отказаться. После нажатия кнопки OK загружается главная форма Main. В случае если отказаться от запуска формы StartUp, при запуске файла Database_Cats.mdb будет загружаться не стартовая форма и сразу главная форма Main.
Главная форма Main:
Рисунок 8 – Форма Main
Форма содержит раздел с кнопками для добавления данных (можно добавить общую информацию, отдельно владельца, выставку, награду или породу кошки), а также для просмотра данных как, в общем, так и отдельно по желанию (просмотреть владельцев, список выставок, список наград или список кошек). На форме имеется кнопка вызова редактора данных, фильтра данных, удаления данных, кнопка для подсчета числящихся в базе кошек и выхода из формы.
Формы для ввода новых данных:
Рисунок 9 – Форма AddCat
Рисунок 10 – Форма AddMas
Рисунок 11 – Форма AddShow
Рисунок 12 – Форма AddAward
Рисунок 13 – Форма AddADCat
SELECT cat_id, cat_name, age, fio, sh_name, sh_date, aw FROM Cats, Masters, Shows WHERE cmas_id=mas_id And csh_id=sh_id ORDER BY cat_id;
Рисунок 14 – Форма ViewAll
На экран, принтер и в файл выводится отчет вида:
Рисунок 15 – Отчет ShowResults
Рисунок 16 – Форма ViewMasters
На экран, принтер и в файл выводится отчет вида:
Рисунок 17 – Отчет Masters
Рисунок 18 – Форма ViewShows
На экран, принтер и в файл выводится отчет вида:
Рисунок 19 – Отчет Shows
Рисунок 20 – Форма ViewAwards
На экран, принтер и в файл выводится отчет вида:
Рисунок 21 – Отчет AD_award
Рисунок 22 – Форма ViewCats
На экран, принтер и в файл выводится отчет вида:
Рисунок 23 – Отчет AD_cats
Рисунок 24 – Форма Edit
Рисунок 25 – Форма Delete
При нажатии кнопок Общие данные, Владельца, Выставку, Награду, Кота вызываются соответственно SQL-запросы:
DeleteCat
DELETE * FROM Cats WHERE cat_id=[Введите номер элемента];
DeleteMaster
DELETE * FROM Masters WHERE mas_id=[Введите номер элемента];
DeleteShow
DELETE * FROM Show WHERE sh_id=[Введите номер элемента];
DeleteAward
DELETE * FROM AD_award WHERE Код=[Введите номер элемента];
DeleteADCat
DELETE * FROM AD_cats WHERE Код=[Введите номер элемента];
Рисунок 26 – Диалоговое окно формы Delete
Рисунок 27 – Форма Filtr
Рисунок 28 – Диалоговое окно формы Filtr
При нажатии кнопок По породе, По владельцу, По выставкам, По наградам вызываются соответственно SQL-запросы:
FiltrCat
SELECT cat_name, age, fio, sh_name, sh_date, aw FROM Cats, Masters, Shows WHERE cat_name=[Введите породу кота] AND cmas_id=mas_id AND csh_id=sh_id;
FiltrMaster
SELECT cat_name, age, fio, sh_name, sh_date, aw FROM Cats, Masters, Shows WHERE fio=[Введите фамилию владельца] AND cmas_id=mas_id AND csh_id=sh_id;
FiltrShow
SELECT cat_name, age, fio, sh_name, sh_date, aw FROM Cats, Masters, Shows WHERE sh_date=[Введите дату выставки] AND cmas_id=mas_id AND csh_id=sh_id;
FiltrAward
SELECT cat_name, age, fio, sh_name, sh_date, aw FROM Cats, Masters, Shows WHERE aw=[Введите награду] AND cmas_id=mas_id AND csh_id=sh_id;