Автошкола "Кадиллак"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?, а кнопка “Вернуться” скрывает этот лист и возвращает на форму построения отчета.
2.5.3 Статистика инструкторов
Рисунок 39 - Статистика инструкторов
Отчет “Статистика инструкторов” отображает все данные по результатам сдачи экзаменов у конкретных инструкторов.
Графа “Инструктор” отображает имя инструктора по которому выдается информация.
Графа “Автомобиль” отображает марку автомобиля, на которой проводит обучение инструктор.
Графа “Кол-во” записанных учеников отображает количественную информацию об учениках, обучавшихся у данного инструктора. В расчет принимаются только те, кто уже окончил обучение.
Ниже идет подробная информация по каждому экзамену.
Самая нижняя графа “Процент полностью сдавших экзамены в ГАИ”, отображает процентную информацию о тех, кто сдал все экзамены в гаи, и получил возможность получить права.
Кнопка “Печать” открывает диалог отправления этого отчета на печать, а кнопка “Вернуться” скрывает этот лист и возвращает на форму построения отчета.
3. Заключение
Сегодня, существует множество задач, которые возможно автоматизировать в той или иной степени. Умение автоматизировать задачи позволяет в значительной мере экономить время и избегать ошибок.
В ходе выполнения курсовой работы была подробно изучена среда разработки VBA и закреплены следующие навыки:
- Создание пользовательского интерфейса.
- Создание алгоритмов автоматизирующих процесс работы с базой данных.
- Занесение новых значений в базу данных.
- Обработка ошибочных данных.
- Алгоритмы создания отчетной информации.
В дальнейшем возможна доработка этого приложения, в качестве примеров можно привести следующие доработки:
- Добавление новых видов отчетов.
- Добавление интерфейсной части по редактированию исходной базы данных (устройство на работу новых сотрудников, расширение автопарка).
- Добавление учета посещаемости занятий.
- Анализ сдачи экзаменов по сезонам.
4. Литература
- Горных Е. Н. Программирование на VBA.: Учебное пособие - Челябинск: Изд. ЮУрГУ, 2003.-76 с.
- Уокенбах Джон. Профессиональное программирование на VBA в Excel 2002.:Пер. с англ. М.: Издательский дом Вильямс, 2003. 784 с.
5. Приложения
Здесь содержатся некоторые листинги кода.
5.1 Главная форма
Кнопка “Клиенты”:
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)
End Sub
Кнопка “Статистика инструкторов”:
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
5.2 Форма “Справка”
Кнопка “Все ясно!”:
Private Sub CommandButton1_Click()
MainHelpForm.Hide
MainForm.Show (0)
End Sub
Завершение работы формы:
Private Sub UserForm_Terminate()
MainForm.Show (0)
End Sub
Активация формы:
Здесь листинг опущен, так как происходит лишь установка значений текстовых полей, которые очень объемны, по своему содержанию.
5.3 Форма “Группы”
Кнопка “Закрыть”:
Private Sub bt_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
Sheets("База").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
If x = 0 Or y > 0 Then
z = MsgBox("Нельзя сформировать группу! ", vbCritical + vbOKOnly, "Автошкола")
Else
GroupForm.Hide
CreateGroupForm.Show (0)
End If
End Sub
Кнопка “Выпустить группу”:
Private Sub bt_unform_Click()
0Then">If CDate(Sheets("Данные").Range("J2")) 0 Then
x = MsgBox("Вы подтверждаете окончание обучения группы?", vbQuestion + vbYesNo, "Автошкола")
If x = 6 Then
Sheets("База").Activate
Sheets("База").Cells(1, 1).Select
all = Selection.CurrentRegion.Rows.Count
For i = 2 To all
If Sheets("База").Cells(i, 29) = "Обучаемый" Then Cells(i, 29) = "Окончил"
Next i
lb_cur.Clear
Sheets("Данные").Activate
Sheets("Данные").Range("H2") = ""