Рисунок 31 - Окно "Допуски", после некоторых изменений
Кнопка “Сохранить” – сохраняет все внесенные изменения о результатах зачетов/экзаменов.
Кнопка “Выйти” – возвращает в окно “Клиенты”.
Рисунок 32 - Окно "Информация о клиенте"
Эта форма является простым инструментом для формирования отчета по клиенту. Левый выпадающий список содержит тип клиента (“Окончил”, “Обучаемый”, “Ожидает”), а второй список посредством анализа первого списка заполняется клиентами выбранной категории. Кнопка “ОК” переводит к отчету по выбранному клиенту.
Рисунок 33 - Окно "Статистика сдачи"
Эта форма является основным средством по получению статистической информации, характеризующей уровень сдачи/не сдачи экзаменов клиентами.
Верхнее поле “Всего записей в базе” – содержит количественную информацию о том, сколько клиентов всех статусов (“Окончил”, “Обучаемый”, “Ожидает”), содержится в базе данных.
Рамка “Фильтры” – содержит все формирующие отчет критерии.
Выпадающий список “Статус” – содержит значения “Любой”, “Окончил”, “Обучаемый” (включение статуса “Ожидает” нецелесообразно, так как по понятным причинам клиенты этого статуса не имеют никаких сданных экзаменов).
Поле “Год рождения” – предназначено для введения года рождения клиентов, по которым производится запрос, однако по умолчанию это поле неактивно. для того чтобы активизировать это поле, необходимо включить флажок расположенный правее него, тогда год рождения будет учтен при анализе информации фильтров, в противном случае, год рождения учтен не будет.
Выпадающий список “Автомобиль” – содержит значение “Любой”, и значения всех автомобилей имеющихся в автопарке школы. Также является средством более точного запроса отчета.
Рисунок 34 - Окно "Статистика сдачи" с детальным запросом
Кнопка “Быстрый отчет” – предназначена для быстрого формирования результатов и отображения их во всплывающем сообщении.
Рисунок 35 - "Быстрый отчет"
Кнопка “Табличный отчет” – предназначена для формирования этого же отчета на отдельной таблице с возможностью ее распечатки.
Рисунок 36 - "Статистика инструкторов"
Эта форма предназначена для формирования отчета о качестве обучения учеников различными инструкторами, посредством анализа статистической информации о сдаче/не сдаче экзаменов их учениками.
Выпадающий список “Автомобиль” – содержит значение “Любой”, и значения всех автомобилей имеющихся в автопарке школы.
Выпадающий список “Инструктор” – формируется посредством анализа первого поля. И заполняется всеми инструкторами, которые обучают на этой модели автомобиля.
Кнопка “Отчет” – формирует табличный отчет по заданным критериям.
Кнопка “Закрыть” – возвращает в главное меню.
В этом приложении представлены 3 различных отчета, которые представляют собой сформированную законченным образом табличную информацию.
Рисунок 37 – Информация о клиенте
Отчёт “Информация” – отображает всю информацию о выбранном клиенте в таблице. Эта информация содержит помимо общих данных указанных при его регистрации, также и информацию касательно его обучения.
Кнопка “Печать” – открывает диалог отправления этого отчета на печать, а кнопка “Вернуться” – скрывает этот лист и возвращает на форму построения отчета.
Рисунок 38 - Результаты учебы
Отчет “Результаты учебы” – отображает все данные по учебе, а именно о сдаче экзаменов, различными категориями учеников. Верхнее поле содержит критерии выбранной категории (“Статус”, “Год рождения”, “Автомобиль”), ниже идут непосредственно сами количественные результаты сдачи каждого из экзаменов.
В графе “Итого допущено до экзамена в ГАИ” – отображается количественная информация о том, сколько учеников сдали все внутренние экзамены автошколы.
В графе “Итого сдало экзамен в ГАИ” – отображается количественная информация о том, сколько учеников сдали все экзамены в ГАИ и получили возможность получить права.
В графе “Всего записей в базе” – отображается сколько всего запсией в базе данных, которые удовлетворяют заданному критерию.
Кнопка “Печать” – открывает диалог отправления этого отчета на печать, а кнопка “Вернуться” – скрывает этот лист и возвращает на форму построения отчета.
Рисунок 39 - Статистика инструкторов
Отчет “Статистика инструкторов” – отображает все данные по результатам сдачи экзаменов у конкретных инструкторов.
Графа “Инструктор” – отображает имя инструктора по которому выдается информация.
Графа “Автомобиль” – отображает марку автомобиля, на которой проводит обучение инструктор.
Графа “Кол-во” записанных учеников – отображает количественную информацию об учениках, обучавшихся у данного инструктора. В расчет принимаются только те, кто уже окончил обучение.
Ниже идет подробная информация по каждому экзамену.
Самая нижняя графа – “Процент полностью сдавших экзамены в ГАИ”, отображает процентную информацию о тех, кто сдал все экзамены в гаи, и получил возможность получить права.
Кнопка “Печать” – открывает диалог отправления этого отчета на печать, а кнопка “Вернуться” – скрывает этот лист и возвращает на форму построения отчета.
Сегодня, существует множество задач, которые возможно автоматизировать в той или иной степени. Умение автоматизировать задачи позволяет в значительной мере экономить время и избегать ошибок.
В ходе выполнения курсовой работы была подробно изучена среда разработки VBA и закреплены следующие навыки:
1) Создание пользовательского интерфейса.
2) Создание алгоритмов автоматизирующих процесс работы с базой данных.
3) Занесение новых значений в базу данных.
4) Обработка ошибочных данных.
5) Алгоритмы создания отчетной информации.
В дальнейшем возможна доработка этого приложения, в качестве примеров можно привести следующие доработки:
1) Добавление новых видов отчетов.
2) Добавление интерфейсной части по редактированию исходной базы данных (устройство на работу новых сотрудников, расширение автопарка).
3) Добавление учета посещаемости занятий.
4) Анализ сдачи экзаменов по сезонам.
1. Горных Е. Н. Программирование на VBA.: Учебное пособие - Челябинск: Изд. ЮУрГУ, 2003.-76 с.
2. Уокенбах Джон. Профессиональное программирование на VBA в Excel 2002.:Пер. с англ. – М.: Издательский дом «Вильямс», 2003. – 784 с.
Здесь содержатся некоторые листинги кода.
Кнопка “Клиенты”:
Private Sub bt_client_Click()
MainForm.Hide
ClientForm.Show (0)
End Sub
Кнопка “Выход”:
Private Sub bt_exit_Click()
MainForm.Hide
Application.DisplayFormulaBar = True
Application.CommandBars("Standard").Visible = True
Application.CommandBars("Formatting").Visible = True
Workbooks("cursed2ex.xls").Save
Workbooks("cursed2ex.xls").Close
End Sub
Кнопка “Группы”:
Private Sub bt_group_Click()
MainForm.Hide
GroupForm.Show (0)
End Sub
Кнопка “Статистика сдачи”:
Private Sub bt_stat_Click()
MainForm.Hide
StatForm.Show (0)
EndSub
Кнопка “Статистика инструкторов”:
Private Sub CommandButton1_Click()
MainForm.Hide
InstrForm.Show (0)
End Sub
Кнопка “Справка”:
Private Sub CommandButton2_Click()
MainForm.Hide
MainHelpForm.Show (0)
End Sub
Активация главной формы:
Private Sub UserForm_Activate()
Dim x, y As Integer
x = 0
y = 0
Sheets("База").Activate
Cells(1, 1).Select
all = Selection.CurrentRegion.Rows.Count
For i = 2 To all
If Sheets("База").Cells(i, 29) = "Ожидает" Then
x = x + 1
End If
Next i
For i = 2 To all
If Sheets("База").Cells(i, 29) = "Обучаемый" Then
y = y + 1
End If
Next i
Sheets("Данные").Activate
If Sheets("Данные").Range("I2") = "" Then lb_beg.Caption = "Не установлено" Else lb_beg.Caption = Sheets("Данные").Range("I2")
If Sheets("Данные").Range("J2") = "" Then lb_end.Caption = "Не установлено" Else lb_end.Caption = Sheets("Данные").Range("J2")
If lb_beg.Caption = "Не установлено" Then lb_rest.Caption = "Не установлено" Else lb_rest.Caption = CDate(lb_end.Caption) - Date
End Sub
Кнопка “Все ясно!”:
Private Sub CommandButton1_Click()
MainHelpForm.Hide
MainForm.Show (0)
EndSub
Завершение работы формы:
Private Sub UserForm_Terminate()
MainForm.Show (0)
End Sub
Активация формы:
Здесь листинг опущен, так как происходит лишь установка значений текстовых полей, которые очень объемны, по своему содержанию.
Кнопка “Закрыть”:
PrivateSubbt_exitgroup_Click()
GroupForm.Hide
MainForm.Show (0)
End Sub
Кнопка “Сформировать группу”:
Private Sub bt_newgroup_Click()
Dim x, y As Integer
x = 0
y = 0
Sheets("База").Activate