Автошкола "Кадиллак"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

?, а кнопка “Вернуться” скрывает этот лист и возвращает на форму построения отчета.

2.5.3 Статистика инструкторов

Рисунок 39 - Статистика инструкторов

 

Отчет “Статистика инструкторов” отображает все данные по результатам сдачи экзаменов у конкретных инструкторов.

Графа “Инструктор” отображает имя инструктора по которому выдается информация.

Графа “Автомобиль” отображает марку автомобиля, на которой проводит обучение инструктор.

Графа “Кол-во” записанных учеников отображает количественную информацию об учениках, обучавшихся у данного инструктора. В расчет принимаются только те, кто уже окончил обучение.

Ниже идет подробная информация по каждому экзамену.

Самая нижняя графа “Процент полностью сдавших экзамены в ГАИ”, отображает процентную информацию о тех, кто сдал все экзамены в гаи, и получил возможность получить права.

Кнопка “Печать” открывает диалог отправления этого отчета на печать, а кнопка “Вернуться” скрывает этот лист и возвращает на форму построения отчета.

 

3. Заключение

 

Сегодня, существует множество задач, которые возможно автоматизировать в той или иной степени. Умение автоматизировать задачи позволяет в значительной мере экономить время и избегать ошибок.

В ходе выполнения курсовой работы была подробно изучена среда разработки VBA и закреплены следующие навыки:

  1. Создание пользовательского интерфейса.
  2. Создание алгоритмов автоматизирующих процесс работы с базой данных.
  3. Занесение новых значений в базу данных.
  4. Обработка ошибочных данных.
  5. Алгоритмы создания отчетной информации.

 

В дальнейшем возможна доработка этого приложения, в качестве примеров можно привести следующие доработки:

  1. Добавление новых видов отчетов.
  2. Добавление интерфейсной части по редактированию исходной базы данных (устройство на работу новых сотрудников, расширение автопарка).
  3. Добавление учета посещаемости занятий.
  4. Анализ сдачи экзаменов по сезонам.

 

4. Литература

 

  1. Горных Е. Н. Программирование на VBA.: Учебное пособие - Челябинск: Изд. ЮУрГУ, 2003.-76 с.
  2. Уокенбах Джон. Профессиональное программирование на 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") = ""