Рисунок 8 Форма "Заказы"
Форма "Поставщик", макет которой представлен на рисунке 9, позволяет осуществить просмотр и редактирование сведений о поставщиках.
Рисунок 9 Форма "Поставщик"
Форма "Товар" показывает информацию о доступном товаре, так же можно отредактировать, удалить и добавить данные (Рисунок 10). Выбор жанра осуществляется через выпадающий список.
Рисунок 10 Форма "Товар"
Форма "Руководство пользователя" предоставляет подробную информацию по работе с данной программой (Рисунок 11).
Рисунок 11 Форма "Руководство пользователя"
В рамках разработки приложения "Товары-почтой" были сформированы запросы, которые и являются результатами работы программы.
Отчет "Статистика по товарам" выводит отчет содержащий в себе шифр товара, цену, количество проданных, процентную надбавку и прибыль с каждого товара. Отчет представлен на рисунке 13.
Рисунок 13 Отчет "Статистика по товару"
Отчет "Поставщики по регионам" выдает список поставщиков, сгруппированных по региону. Отчет представлен на рисунке 14.
Рисунок 12 Результат выполнения запроса "Книги в единственном экземпляре"
Все формы созданы в едином стиле, позволяющем пользователю быстро сориентироваться в использовании программы.
Одной из основных задач создания и использования баз данных является предоставление пользователям необходимой информации на основе существующих данных. В базе данных "Товары-почтой" используются табличные отчеты. Все отчеты были построены с помощью Мастера отчетов и в последствии отредактированы в конструкторе отчетов.
Приложение "Товары-почтой" предназначено для автоматизированного ввода и обработки данных БД "Товары-почтой".
После запуска программы перед оператором появится форма, которая позволяет открыть остальные формы БД и запустить на выполнение отчеты и запросы.
В формах редактирования данных, изначально стоит режиме обозревателя, т.е. в этом режиме форма не позволит изменять данные. Это предохраняет от случайной (неумышленной) потери данных. Чтобы выйти из режима обозревателя, необходимо нажать на кнопку "Изменить". Форма перейдет в режим редактора, т.е. теперь поля будут доступны для изменения данных. Удалить запись в режиме обозревателя невозможно.
Для добавления данных необходимо нажать кнопку "Добавить" и ввести соответствующие данные.
Для удаления записи нажмите кнопку "Изменить", затем "Удалить".
Переход по записям осуществляется с помощью кнопок навигации:
"Первая" - перейти к первой записи
"Пред." - перейти к предыдущей записи
"След." - перейти к следующей записи
"Посл." - перейти к последней записи
При нажатии на кнопку "Выход" выйдет сообщение о подтверждении выхода из формы. Если ответ был отрицательный, то форма останется открытой. Если положительный, то данная форма закроется и откроется главная форма.
Работа со всеми формами осуществляется аналогично.
База данных для полной работоспособности должна находиться в директории C: \ProgramFiles\DB
В курсовой работе были рассмотрены приемы проектирования и реализации реляционных баз данных и таблиц в СУБД Visual FoxPro. Была спроектирована структура реляционной таблицы, в нее были внесены данные с помощью специальных запросов. В данной курсовой работе была разработана база данных "Товары-почтой", содержащая сведения о продаже игр для ПК.
В результате курсовой работы был получен опыт в том, как использовать основные модели данных и их организацию, принципы построения языков запросов и манипулирования данными в БД. Было получено представление о том, как эффективно использовать среду разработки приложений Microsoft Visual Fox Pro.
1. Хансен Гэри, Хансен Джеймс. Базы данных: разработка и управление: Пер. с англ. - М.: ЗАО "Издательство БИНОМ", 1999.
2. Живаева А.В., Лимарева И.Г. Методические указания по выполнению курсовой работы по дисциплине "Базы данных", Караганда: КарГТУ, 2006. 17 с.
Листинг программы
Событие Кнопки "Руководство пользователя" главной формы:
Событие Кнопки "О программе" главной формы:
DO FORM "C: \Program Files\DB\about"
Событие Кнопки "Выход" главного меню
ifmessagebox ('Вы подтверждаете выход из программы? ', 4+32+256,"Выйти") =6 then
_screen. activeform. release ()
setsysmenutodefault
endif
События кнопок навигации форм "Заказы", "Поставщик", "Товар", "Жанры игр" очень схожи и различие между ними только из-за различия в количестве используемых объектов на форме. Приведу пример из формы "Товар"
Кнопка "Первая"
if! bof ()
gotop
this. enabled =. f.
thisform.command1. enabled =. t.
thisform.command2. enabled =. f.
thisform.command4. enabled =. t.
endif
_screen. activeform. refresh ()
Кнопка "Пред."
if! bof ()
skip-1
thisform.command3. enabled =. t.
thisform.command1. enabled =. t.
thisform.command4. enabled =. t.
endif
_screen. activeform. refresh ()
if bof ()
this. enabled =. f.
thisform.command3. enabled =. f.
endif
_screen. activeform. refresh ()
Кнопка "След."
if! eof ()
skip
thisform.command2. enabled =. t.
thisform.command3. enabled =. t.
thisform.command4. enabled =. t.
endif
_screen. activeform. refresh ()
if eof ()
this. enabled =. f.
thisform.command4. enabled =. f.
endif
_screen. activeform. refresh ()
Кнопка "Посл."
if! eof ()
go bottom
this. enabled =. f.
thisform.command1. enabled =. f.
thisform.command2. enabled =. t.
thisform.command3. enabled =. t.
endif
_screen. activeform. refresh ()
Кнопка "Удалить"
DELETE
pack
_screen. activeform. refresh ()
Кнопка "Изменить"
IF thisform.command8. Caption = "Изменить"
thisform. text1. ReadOnly =. F.
thisform. text2. ReadOnly =. F.
thisform. text3. ReadOnly =. F.
thisform. text4. ReadOnly =. F.
thisform. text5. ReadOnly =. F.
thisform. text6. ReadOnly =. F.
thisform.combo1. ReadOnly =. F.
thisform.command2. Enabled =. F.
thisform.command1. Enabled =. F.
thisform.command3. Enabled =. F.
thisform.command4. Enabled =. F.
thisform.command5. Enabled =. F.
thisform.command7. Enabled =. F.
thisform.command9. Enabled =. T.
thisform.command8. Caption = "Принять"
ELSE
thisform. text1. ReadOnly =. T.
thisform. text2. ReadOnly =. T.
thisform. text3. ReadOnly =. T.
thisform. text4. ReadOnly =. T.
thisform. text5. ReadOnly =. T.
thisform. text6. ReadOnly =. T.
thisform.combo1. ReadOnly =. T.
thisform.command2. Enabled =. T.
thisform.command1. Enabled =. T.
thisform.command3. Enabled =. T.
thisform.command4. Enabled =. T.
thisform.command5. Enabled =. T.
thisform.command7. Enabled =. T.
thisform.command9. Enabled =. F.
thisform.command8. Caption = "Изменить"
endIF
Кнопка "Добавить"
IF thisform.command5. Caption = "Добавить"
thisform. text1. ReadOnly =. F.
thisform. text2. ReadOnly =. F.
thisform. text3. ReadOnly =. F.
thisform. text4. ReadOnly =. F.
thisform. text5. ReadOnly =. F.
thisform. text6. ReadOnly =. F.
thisform.combo1. ReadOnly =. F.
thisform.command2. Enabled =. F.
thisform.command1. Enabled =. F.
thisform.command3. Enabled =. F.
thisform.command4. Enabled =. F.
thisform.command8. Enabled =. F.
thisform.command7. Enabled =. F.
thisform.command9. Enabled =. T.
APPEND BLANK
thisform.command5. Caption = "Принять"
ELSE
thisform. text1. ReadOnly =. T.
thisform. text2. ReadOnly =. T.
thisform. text3. ReadOnly =. T.
thisform. text4. ReadOnly =. T.
thisform. text5. ReadOnly =. T.
thisform. text6. ReadOnly =. T.
thisform.combo1. ReadOnly =. T.
thisform.command2. Enabled =. T.
thisform.command1. Enabled =. T.
thisform.command3. Enabled =. T.
thisform.command4. Enabled =. T.
thisform.command8. Enabled =. T.
thisform.command7. Enabled =. T.
thisform.command9. Enabled =. F.
thisform.command5. Caption = "Добавить"
endIF
_screen. ActiveForm. Refresh ()
Кнопка "Выход"
ifmessagebox ('Вы подтверждаете выход из формы? ', 4+32+256,"Выход") =6 then
_screen. activeform. release ()
DO FORM "C: \Program Files\DB\main"
endif