Экранные формы ввода и редактирования данных
При просмотре, вводе и редактировании данных пользователю было бы удобно видеть не только основную обрабатываемую информацию, но и связанные данные, например, при работе с информацией о марках автомобилей удобно видеть здесь же список автомобилей заданной марки, для автомобиля — видеть (и редактировать) список закрепленных водителей, и т. п. Эти соображения учитывались при разработке форм в создаваемом приложении.
Для просмотра, ввода и редактирования данных о марках автомобилей разработана форма Марка с подчиненной формой «Автомобиль подчиненная форма». С помощью мастера создания элементов управления на кнопке создано поле со списком, позволяющее быстро отыскивать данные о нужной марке автомобиля.
Для просмотра, ввода и редактирования данных об автомобилях разработана форма Автомобиль с подчиненной формой «Водитель подчиненная форма». С помощью мастера создания элементов управления на кнопке создано поле со списком, позволяющее быстро отыскивать данные о нужном автомобиле.
Для просмотра, ввода и редактирования данных о водителях разработана форма Водитель с подчиненной формой «Путевой лист подчиненная форма». На форму Водитель для удобства пользователя помещены вычисляемые поля Возраст и Стаж, представляющие данные о возрасте водителя и его водительском стаже на настоящий момент. С помощью мастера создания элементов управления на кнопке создано поле со списком, позволяющее быстро отыскивать данные о нужном водителе. Кроме того, при переходе в форме от одного водителя к другому производится автоматическое изменение значения по умолчанию для поля «Машина» подчиненной формы — в качестве значения по умолчанию используется тот автомобиль, за которым закреплен данный водитель. Эти действия выполняются при наступлении события «Текущая запись» макросом «Машина водителя по умолчанию».
Рис. 10. Формы «Марка» и «Автомобиль подчиненная форма» в окне конструктора
Для просмотра, ввода и редактирования путевых листов разработана форма «Путевой лист» (рис. 16, 17). С помощью мастера создания элементов управления на кнопке создано поле со списком, позволяющее быстро отыскивать данные о нужном путевом листе.
При выборе в форме «Путевой лист» конкретного водителя (то есть при обновлении значения поля Водитель) производится поиск автомобиля, за которым закреплен данный водитель, и расчет максимального зафиксированного показания спидометра для этой машины. Эти действия выполняются макросом «Закрепленная машина».
Вторая часть только что описанных действий, то есть поиск последнего зафиксированного показания спидометра для данного автомобиля, выполняется также при обновлении значения поля Автомобиль; для этого используется макрос «Пробег выбранной машины».
Рис. 11. Вид формы «Марка»
Рис. 12. Формы «Автомобиль» и «Водитель подчиненная форма» в окне конструктора
Рис. 13. Вид формы «Автомобиль»
Рис. 14. Формы «Водитель» и «Путевой лист подчиненная форма» в окне конструктора
Рис. 15. Вид формы «Водитель»
Рис. 16. Форма «Путевой лист» в окне конструктора
Рис. 17. Вид формы «Путевой лист»
Выполнение описанных выше действий по автоматизации заполнения путевого листа потребовало создания вспомогательных форм, которые используются для обмена информацией между формой «Путевой лист», с одной стороны, и запросами «Закрепленная машина» и «Пробег машины», с другой. Вспомогательные формы созданы как автоформы, отражающие данные соответствующих запросов.
Рис. 18. Форма «Закрепленная машина» в окне конструктора
Рис. 19. Форма «Занято места в номере» в окне конструктора
Отчеты
Отчет «График техосмотров» формирует соответствующий выходной документ и основан на одноименном запросе. Вид отчета в окне конструктора представлен на рис. 20, а в режиме предварительного просмотра отчет показан на рис. 21.
Рис. 20. Отчет «График техосмотров» в окне конструктора
Рис. 21. Вид отчета «График техосмотров»
Отчет «Средняя выручка по водителям» формирует соответствующий отчетный документ. Отчет использует в качестве источника данных одноименный запрос. Вид отчета в окне конструктора представлен на рис. 22, а в режиме предварительного просмотра отчет показан на рис. 23.
Рис. 22. Отчет «Средняя выручка по водителям» в окне конструктора
Рис. 23. Вид отчета «Средняя выручка по водителям»
Отчет «Статистика по автомобилям» формирует соответствующий выходной документ за заданный период. Месяц указывается пользователем в форме «Отчетный период». Отчет использует в качестве источника данных одноименный запрос. Вид отчета в окне конструктора представлен на рис. 24, а в режиме предварительного просмотра отчет показан на рис. 25.
Рис. 24. Отчет «Статистика по автомобилям» в окне конструктора
Рис. 25. Вид отчета «Статистика по автомобилям»
Отчет «Статистика по водителям» формирует соответствующий выходной документ за заданный период. Месяц указывается пользователем в форме «Отчетный период». Отчет использует в качестве источника данных одноименный запрос. Вид отчета в окне конструктора представлен на рис. 26, а в режиме предварительного просмотра отчет показан на рис. 27.
Отчет «Статистика по маркам» формирует соответствующий выходной документ за заданный период. Месяц указывается пользователем в форме «Отчетный период». Отчет использует в качестве источника данных одноименный запрос. Вид отчета в окне конструктора представлен на рис. 28, а в режиме предварительного просмотра отчет показан на рис. 29.
Рис. 26. Отчет «Статистика по водителям» в окне конструктора
Рис. 27. Вид отчета «Статистика по водителям»
Рис. 28. Отчет «Статистика по маркам» в окне конструктора
Рис. 29. Вид отчета «Статистика по маркам»
Макросы
Для автоматизации ввода данных в путевой лист разработаны три макроса, описанных ниже в этом разделе. Макрос Autoexec, используемый для автоматической загрузке кнопочной формы, описан в следующем разделе, посвященном этой форме.
Макрос «Машина водителя по умолчанию» автоматически запускается при переходе от одной записи к другой в форме Водитель. Макрос назначает для поля Машина формы, подчиненной форме Водитель, госномер машины, закрепленной за данным водителем (этот номер отображается на форме Водитель). Текст макроса:
Макрокоманда | Аргумент | Значение |
SetValue | Элемент: | [Forms]![Водитель]![Путевой лист подчиненная форма].[Form]![Машина].[Default Value] |
Выражение: | """" & [Forms]![Водитель]![Машина] & """" |
Макрос «Закрепленная машина» после обновления данных о водителе в форме «Путевой лист» при условии, что данные о машине не были заполнены ранее (чтобы не затереть данные, которые могли быть введены пользователем), вносит в эту форму данные о закрепленной за ним машине. Текст макроса:
Условие | Макрокоманда | Аргумент | Значение |
[Forms]![Путевой лист]![Машина] Is Null | OpenForm | Имя формы: | Закрепленная машина |
Режим: | Форма | ||
Имя фильтра: | |||
Условие отбора: | |||
Режим данных: | -1 | ||
Режим окна: | Невидимое | ||
... | SetValue | Элемент: | [Forms]![Путевой лист]![Машина] |
Выражение: | [Forms]![Закрепленная машина]![Машина] | ||
... | SetValue | Элемент: | [Forms]![Путевой лист]![СпидВыезд] |
Выражение: | IIf([Forms]![Закрепленная машина]![Спидометр] Is Null, 0, [Forms]![Закрепленная машина]![Спидометр]) | ||
... | Close | Тип объекта: | Форма |
Имя объекта: | Закрепленная машина | ||
Сохранение: | Подсказка |
Макрос «Пробег выбранной машины» при обновлении данных о машине в форме «Путевой лист» обновляет данные о последнем зарегистрированном показании спидометра этой машины, внося его в форму путевого листа:
Макрокоманда | Аргумент | Значение |
OpenForm | Имя формы: | Пробег машины |
Режим: | Форма | |
Имя фильтра: | ||
Условие отбора: | ||
Режим данных: | -1 | |
Режим окна: | Невидимое | |
SetValue | Элемент: | [Forms]![Путевой лист]![СпидВыезд] |
Выражение: | IIf([Forms]![Пробег машины]![Спидометр] Is Null, 0, [Forms]![Пробег машины]![Спидометр]) | |
Close | Тип объекта: | Форма |
Имя объекта: | Пробег машины | |
Сохранение: | Подсказка |
Главная кнопочная форма
Главная кнопочная форма приложения разработана для обеспечения пользователю удобного способа взаимодействия с информационной системой. Главная форма вызывается автоматически при открытии базы данных. Для этого разработан макрос Autoexec, который сворачивает окно базы данных и открывает форму:
Макрокоманда | Аргумент | Значение |
Minimize | ||
OpenForm | Имя формы: | Кнопочная форма |
Режим: | Форма | |
Имя фильтра: | ||
Условие отбора: | ||
Режим данных: | -1 | |
Режим окна: | Обычное |
Главная кнопочная форма приложения — двухуровневая, причем одна из форм, открывающихся кнопкой на странице второго уровня «Отчеты», сама является по сути кнопочной, что позволяет говорить об общей трехуровневой организации. Схема кнопочной формы представлена на рис. 30. На этом рисунке страницы кнопочной формы обозначены прямоугольниками, экранные формы ввода и редактирования — параллелограммами, а просмотры отчетов — прямоугольниками с «обрезами» снизу.
Рис. 30. Схема главной кнопочной формы приложения
Главная кнопочная форма создавалась с использованием диспетчера кнопочных форм Microsoft Access.
Стартовая страница главной кнопочной формы показана на рис. 31. Как видно из рисунка, она содержит три ссылки на страницы второго уровня и кнопку выхода из приложения.
Рис. 31. Стартовая страница главной кнопочной формы
Страница «Путевые листы» кнопочной формы (рис. 32) предназначена для выполнения основного оперативного учета — работы с путевыми листами. Первая кнопка этой формы вызывает на экран форму «Путевой лист», а вторая — форму «Водитель».
Рис. 32. Страница «Путевые листы» кнопочной формы
Страница «Парк и кадры» (рис. 33) предназначена для просмотра и редактирования редко меняющейся информации — данных об парке автомобилей (форма Марка) и закреплении водителей за автомобилями (форма Автомобиль).
Рис. 33. Страница «Парк и кадры» кнопочной формы
На странице «Отчеты» (рис. 34) кнопочной формы сосредоточены средства формирования выходных документов. Первые две кнопки выводят на экран для просмотра соответствующие отчеты, а кнопка «Отчеты за период» выводит на экран форму, показанную на рис. 35. Эта форма предоставляет пользователю возможность ввести границы отчетного периода (по умолчанию предлагается текущий месяц) и просмотреть отчеты за период (в соответствии с кнопками на форме).
Выводы
В ходе выполнения курсовой работы разработано приложение баз данных, позволяющее автоматизировать учет автотранспорта, водителей и выполненных рейсов в таксопарке. Таблицы созданной базы данных отвечают требованиям нормализации, что позволяет обеспечить целостность и непротиворечивость информации.
Созданное приложение имеет удобный пользовательский интерфейс и позволяет решать все задачи, сформулированные в задании на курсовую работу. Это позволяет сделать вывод, что задание выполнено в полном объеме.
Рис. 34. Страница «Статистика» кнопочной формы
Рис. 35. Форма ввода отчетного периода
Список использованной литературы
- Дейт К. Дж. Введение в системы баз данных. — К.; М.; СПб.: Издательский дом «Вильямс», 1999. — 848 с.
- Хансен Г., Хансен Дж. Базы данных: разработка и управление. — М.: БИНОМ, 1999. — 704 с.
- Карпов Б. Microsoft Access 2000: справочник. — СПб: Питер, 2000. — 416 с.
- Праг К. Н., Ирвин М. Р. Access 2000. Библия пользователя. — М.: Вильямс, 2000. — 1040 с.
- Конноли Т., Бегг К., Страчан А. Базы данных: проектирование, реализация и сопровождение. — М.: Вильямс, 2000. — 1120 с.