46728 (Автошкола "Кадиллак"), страница 2

2016-07-29СтудИзба

Описание файла

Документ из архива "Автошкола "Кадиллак"", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "остальное", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "46728"

Текст 2 страницы из документа "46728"

Рисунок 15- Окно формирования группы

Для формирования группы необходимо перенести клиентов, которые будут включены в группу, из списка “Ожидающие клиенты” в список “Формируемая группа”. Перенос осуществляется посредством кнопок “==>>” и “<<==”, также стоит заметить, что при выборе значений из списка работает multiselect (множественный выбор). После завершения выбора необходимо нажать на кнопку “Сформировать”. Если список “Формируемая группа” будет пуст, то будет возвращена ошибка.

Рисунок 16 – Ошибка “Группа пуста”

Если во введенных датах будет содержаться ошибочная информация, то будет возвращена ошибка.

Рисунок 17 – Ошибка “Неверная дата”

Если вся введенная информация будет корректна, и список “Формируемая группа” не будет пуст, то при клике на кнопку “Сформировать” будет выдан запрос о подтверждении формирования группы.

Рисунок 18 - Подтверждение формирования группы

При ответе “Нет” вы будете возвращены в окно формирования группы, при ответе “Да” вы попадете в окно “Группа”, и текущая группа будет сформирована. Т.е. будут установлены сроки обучения и всем членам ныне текущей группы вместо статуса “Ожидает” будет присвоен статус “Обучаемый”.

Кнопка “Закрыть” – вернет вас в окно “Группа”.

2.4.5 Форма “Клиенты”

Рисунок 19 - Окно "Клиенты"

Кнопка “Добавить клиента” – открывает окно “Добавление клиента”, где посредством заполнения полей на форме, будет сформирована новая в базе данных о клиенте.

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

Кнопка “Допуски” – открывает окно “Данные по учебе клиента”, где формируется вся информация, о сдаче экзаменов/зачетов клиентом.

Кнопка “Информация о клиенте” – открывает окно выбора клиента, по которому будет выведена информация.

Кнопка “Закрыть” – вернет вас в главное меню.

2.4.6 Форма “Добавление клиента”

Рисунок 20 - Окно "Добавление клиента"

Рамка “Личные данные” – предназначена для ввода такой информации, как “Фамилия”, “Имя”, “Отчество”, “Дата рождения”.

Рисунок 21 – Рамка “Личные данные”

Рамка “Паспортные данные” – предназначена для ввода такой информации, как “Кем выдан”, “Дата выдачи”, “Серия”, “Номер”.

Рисунок 22 - Рамка "Паспортные данные"

Рамка “Адрес” – предназначена для ввода такой информации, как “Улица”, “Дом”, “Квартира”, “Домашний телефон”, “Сотовый телефон”. Однако номера телефонов являются опциональными полями, то есть их необязательно заполнять, они помечены звездочкой “*”.

Рисунок 23 - Рамка "Адрес"

Рамка “Остальное” – содержит два выпадающих списка: “Автомобиль” и “Инструктор”. Сперва клиент выбирает марку автомобиля, на котором желает проходить обучения. И в зависимости от выбранной им марки формируется выпадающий список “Инструктор”, из тех мастеров, которые обучают вождению на выбранной пользователем модели автомобиля.

Рисунок 24 – Рамка “Остальное”

Кнопка “Внести в базу данных!” – осуществляет запись клиента в базу. Если вся информация введена в необходимом объеме и без ошибок, то будет выдано сообщение об успешном внесении клиента в базу данных. После нажатия на кнопку “ОК”, вы будете возвращены в окно “Клиенты”.

Рисунок 25 – Сообщение об успешном внесении клиента в базу данных

В том случае, если данные введены не в полном объеме или содержат ошибки, то будет выдано сообщение об ошибке.

Рисунок 26 - Сообщение ошибочных данных

2.4.7 Форма “Формирование бланка оплаты”

Рисунок 27 - Формирование бланка оплата

В поле “Дата оплаты” – устанавливается дата, когда произведена оплата. Выпадающий список “ФИО Плательщика” – содержит клиентов со статусами “Обучаемый” и “Ожидает”, он предназначен для выбора плательщика. Поле “Сумма платежа” – предназначено для ввода суммы, которая будет переведена на счет автошколы. Кнопка “Сформировать бланк” – переводит в вас к бланку оплаты, но только в том случае, если введенная сумма отлична от 0, и дата оплаты установлена корректно. В противном случае будет выдано сообщение об ошибке.

Рисунок 28 - сообщение ошибочных данных

В том случае, если вы удачно перешли к бланку оплаты, то окно “Формирование бланка оплаты” будет скрыто, и вы сможете распечатать бланк посредством кнопки “Печать”, либо вернуться к окну “Формирование бланка оплаты” посредством кнопки “Вернуться”.

После того, как плательщик передаст деньги кассиру и распишется об оплате денег, то необходимо занести сведения об оплате клиентом в базу данных. Для этого с нужными выбранными значениями окна “Формирование бланка оплаты” нужно нажать на кнопку “Подтвердить оплату”. Тогда, вам будет отображено сообщение об успешном занесении оплаты в базу данных.

Рисунок 29 – Сообщение внесения оплаты

Кнопка “Закрыть” – возвратит вас к окну “Клиенты”.

2.4.8 Форма “Допуски”

Рисунок 30 - Окно "Допуски"

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

Рисунок 31 - Окно "Допуски", после некоторых изменений

Кнопка “Сохранить” – сохраняет все внесенные изменения о результатах зачетов/экзаменов.

Кнопка “Выйти” – возвращает в окно “Клиенты”.

2.4.9 Форма “Информация о клиенте”

Рисунок 32 - Окно "Информация о клиенте"

Эта форма является простым инструментом для формирования отчета по клиенту. Левый выпадающий список содержит тип клиента (“Окончил”, “Обучаемый”, “Ожидает”), а второй список посредством анализа первого списка заполняется клиентами выбранной категории. Кнопка “ОК” переводит к отчету по выбранному клиенту.

2.4.10 Форма “Статистика сдачи”

Рисунок 33 - Окно "Статистика сдачи"

Эта форма является основным средством по получению статистической информации, характеризующей уровень сдачи/не сдачи экзаменов клиентами.

Верхнее поле “Всего записей в базе” – содержит количественную информацию о том, сколько клиентов всех статусов (“Окончил”, “Обучаемый”, “Ожидает”), содержится в базе данных.

Рамка “Фильтры” – содержит все формирующие отчет критерии.

Выпадающий список “Статус” – содержит значения “Любой”, “Окончил”, “Обучаемый” (включение статуса “Ожидает” нецелесообразно, так как по понятным причинам клиенты этого статуса не имеют никаких сданных экзаменов).

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

Выпадающий список “Автомобиль” – содержит значение “Любой”, и значения всех автомобилей имеющихся в автопарке школы. Также является средством более точного запроса отчета.

Рисунок 34 - Окно "Статистика сдачи" с детальным запросом

Кнопка “Быстрый отчет” – предназначена для быстрого формирования результатов и отображения их во всплывающем сообщении.

Рисунок 35 - "Быстрый отчет"

Кнопка “Табличный отчет” – предназначена для формирования этого же отчета на отдельной таблице с возможностью ее распечатки.

2.4.11 Форма “Статистика инструкторов”

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

Эта форма предназначена для формирования отчета о качестве обучения учеников различными инструкторами, посредством анализа статистической информации о сдаче/не сдаче экзаменов их учениками.

Выпадающий список “Автомобиль” – содержит значение “Любой”, и значения всех автомобилей имеющихся в автопарке школы.

Выпадающий список “Инструктор” – формируется посредством анализа первого поля. И заполняется всеми инструкторами, которые обучают на этой модели автомобиля.

Кнопка “Отчет” – формирует табличный отчет по заданным критериям.

Кнопка “Закрыть” – возвращает в главное меню.

    1. Отчёты

В этом приложении представлены 3 различных отчета, которые представляют собой сформированную законченным образом табличную информацию.

2.5.1 Информация о клиенте

Рисунок 37 – Информация о клиенте

Отчёт “Информация” – отображает всю информацию о выбранном клиенте в таблице. Эта информация содержит помимо общих данных указанных при его регистрации, также и информацию касательно его обучения.

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

2.5.2 Результаты учебы

Рисунок 38 - Результаты учебы

Отчет “Результаты учебы” – отображает все данные по учебе, а именно о сдаче экзаменов, различными категориями учеников. Верхнее поле содержит критерии выбранной категории (“Статус”, “Год рождения”, “Автомобиль”), ниже идут непосредственно сами количественные результаты сдачи каждого из экзаменов.

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

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

В графе “Всего записей в базе” – отображается сколько всего запсией в базе данных, которые удовлетворяют заданному критерию.

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

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()

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") = ""

Sheets("Данные").Range("I2") = ""

Sheets("Данные").Range("J2") = ""

End If

Else

If lb_cur.ListCount > 0 Then

x = MsgBox("Программа обучения еще не пройдена!", vbCritical + vbOKOnly, "Автошкола")

Else

x = MsgBox("Группа не набрана!", vbCritical + vbOKOnly, "Автошкола")

End If

End If

End Sub

Активация формы:

Private Sub UserForm_Activate()

lb_cur.Clear

lb_next.Clear

Sheets("База").Activate

Sheets("База").Cells(1, 1).Select

all = Selection.CurrentRegion.Rows.Count

For i = 2 To all

If Sheets("База").Cells(i, 29) = "Обучаемый" Then lb_cur.AddItem (Sheets("База").Cells(i, 2) & " " & Sheets("База").Cells(i, 3) & " " & Sheets("База").Cells(i, 4))

Next i

For i = 2 To all

If Sheets("База").Cells(i, 29) = "Ожидает" Then lb_next.AddItem (Sheets("База").Cells(i, 2) & " " & Sheets("База").Cells(i, 3) & " " & Sheets("База").Cells(i, 4))

Next i

End Sub

Завершение работы формы:

Private Sub UserForm_Terminate()

MainForm.Show (0)

End Sub

5.4 Форма “Формирование группы”

КнопкаЗакрыть”:

Private Sub bt_exit_Click()

CreateGroupForm.Hide

GroupForm.Show (0)

End Sub

КнопкаСформировать”:

Private Sub bt_save_Click()

On Error GoTo erin:

If ed_date.Text = CDate(ed_date.Text) And ed_enddate.Text = CDate(ed_enddate.Text) And CDate(ed_enddate.Text) > CDate(ed_date.Text) And ListBox1.ListCount <> 0 Then

answ = MsgBox("Вы действительно хотите сформировать группу в таком составе? Она будет зафиксирована до конца обучения.", vbYesNo + vbQuestion, "Автошкола")

If (answ = 6) Then

Sheets("База").Activate

Sheets("База").Cells(1, 1).Select

all = Selection.CurrentRegion.Rows.Count

s = ListBox1.ListCount

For i = 2 To all

For k = 0 To s - 1

If Sheets("База").Cells(i, 29) = "Ожидает" And (Sheets("База").Cells(i, 2) & " " & Sheets("База").Cells(i, 3) & " " & Sheets("База").Cells(i, 4)) = ListBox1.List(k) Then

Sheets("База").Cells(i, 29) = "Обучаемый"

End If

Next k

Next i

Sheets("Данные").Activate

Sheets("Данные").Range("I2") = ed_date

Sheets("Данные").Range("J2") = ed_enddate

Sheets("Данные").Range("H2") = cb_teacher

CreateGroupForm.Hide

GroupForm.Show (0)

End If

End If

If ed_date.Text <> CDate(ed_date.Text) Or ed_enddate.Text <> CDate(ed_enddate.Text) Or CDate(ed_enddate.Text) <= CDate(ed_date.Text) Or ListBox1.ListCount = 0 Then

erin:

If ListBox1.ListCount = 0 Then

x = MsgBox("Группа пуста!", vbCritical + vbOKOnly, "Автошкола")

Else

x = MsgBox("Ошибка в дате!", vbCritical + vbOKOnly, "Автошкола")

End If

End If

End Sub

Кнопка “==>>”:

Private Sub CommandButton1_Click()

Dim i As Integer

For i = ListBox1.ListCount - 1 To 0 Step -1

If ListBox1.Selected(i) Then

ListBox2.AddItem ListBox1.List(i)

ListBox1.RemoveItem i

End If

Next i

End Sub

Кнопка “<<==”:

Private Sub CommandButton2_Click()

Dim i As Integer

For i = ListBox2.ListCount - 1 To 0 Step -1

If ListBox2.Selected(i) Then

ListBox1.AddItem ListBox2.List(i)

ListBox2.RemoveItem i

End If

Next i

End Sub

Активация формы:

Private Sub UserForm_Activate()

ed_date.Text = Date

ed_enddate.Text = Date + 90

cb_teacher.ListIndex = 0

ListBox1.Clear

ListBox2.Clear

Sheets("База").Activate

Sheets("База").Cells(1, 1).Select

all = Selection.CurrentRegion.Rows.Count

For i = 2 To all

If Sheets("База").Cells(i, 29) = "Ожидает" Then ListBox2.AddItem (Sheets("База").Cells(i, 2) & " " & Sheets("База").Cells(i, 3) & " " & Sheets("База").Cells(i, 4))

Next i

End Sub

Завершение работы формы:

Private Sub UserForm_Terminate()

GroupForm.Show (0)

End Sub

5.5 Форма “Клиенты”

Кнопка “Закрыть”:

Private Sub bt_exitclient_Click()

ClientForm.Hide

MainForm.Show (0)

End Sub

КнопкаВнести оплату”:

Private Sub bt_makeblank_Click()

ClientForm.Hide

PayForm.Show (0)

End Sub

КнопкаДобавить клиента”:

Private Sub bt_newclient_Click()

ClientForm.Hide

AddClientForm.Show (0)

End Sub

Кнопка “Информация о клиенте”:

Private Sub bt_showsuc_Click()

ClientForm.Hide

SelectForm.Show (0)

End Sub

КнопкаДопуски”:

Private Sub bt_waydata_Click()

ClientForm.Hide

WayForm.Show (0)

End Sub

Завершение работы формы:

Private Sub UserForm_Terminate()

MainForm.Show (0)

End Sub

5.6 Форма “Добавление клиента”

Кнопка “Внести в базу данных!”:

Private Sub bt_add_Click()

On Error GoTo erin:

If ed_surname.Text <> "" And ed_name.Text <> "" And ed_patron.Text <> "" And ed_birth.Text <> "" And ed_str.Text <> "" And ed_home.Text <> "" And ed_room.Text <> "" And ed_who.Text <> "" And ed_date.Text <> "" And ed_ser.Text <> "" And ed_num.Text <> "" And Val(ed_home.Text) <> 0 And Val(ed_room.Text) <> 0 And Val(ed_ser.Text) <> 0 And Val(ed_num.Text) <> 0 And Val(ed_birth.Text) <> 0 And Val(ed_date.Text) <> 0 And ed_birth.Text = CDate(ed_birth.Text) And ed_date.Text = CDate(ed_date.Text) Then

Dim all As Integer

Sheets("База").Activate

Sheets("База").Cells(1, 1).Select

Selection.CurrentRegion.Select

all = Selection.CurrentRegion.Rows.Count

Sheets("База").Cells(all + 1, 1) = Val(Sheets("База").Cells(all, 1)) + 1

Sheets("База").Cells(all + 1, 2) = AddClientForm.ed_surname.Text

Sheets("База").Cells(all + 1, 3) = AddClientForm.ed_name.Text

Sheets("База").Cells(all + 1, 4) = AddClientForm.ed_patron.Text

Sheets("База").Cells(all + 1, 5) = CDate(AddClientForm.ed_birth.Text)

Sheets("База").Cells(all + 1, 6) = AddClientForm.ed_who.Text

Sheets("База").Cells(all + 1, 7) = CDate(AddClientForm.ed_date.Text)

Sheets("База").Cells(all + 1, 8) = AddClientForm.ed_ser.Text

Sheets("База").Cells(all + 1, 9) = AddClientForm.ed_num.Text

Sheets("База").Cells(all + 1, 10) = AddClientForm.ed_str.Text

Sheets("База").Cells(all + 1, 11) = AddClientForm.ed_home.Text

Sheets("База").Cells(all + 1, 12) = AddClientForm.ed_room.Text

Sheets("База").Cells(all + 1, 13) = AddClientForm.ed_phone.Text

Sheets("База").Cells(all + 1, 14) = AddClientForm.ed_mobile.Text

Sheets("База").Cells(all + 1, 15) = "Нет"

Sheets("База").Cells(all + 1, 16) = "Нет"

Sheets("База").Cells(all + 1, 17) = "Нет"

Sheets("База").Cells(all + 1, 18) = AddClientForm.cb_car.Value

Sheets("База").Cells(all + 1, 19) = AddClientForm.cb_teacher.Value

Sheets("База").Cells(all + 1, 20) = 0

Sheets("База").Cells(all + 1, 21) = 0

Sheets("База").Cells(all + 1, 23) = "Нет"

Sheets("База").Cells(all + 1, 24) = "Нет"

Sheets("База").Cells(all + 1, 25) = "Нет"

Sheets("База").Cells(all + 1, 26) = "Нет"

Sheets("База").Cells(all + 1, 27) = "Нет"

Sheets("База").Cells(all + 1, 28) = "Нет"

Sheets("База").Cells(all + 1, 29) = "Ожидает"

x = MsgBox("Клиент успешно занесен в базу данных", vbInformation + vbOKOnly, "Автошкола")

AddClientForm.Hide

ClientForm.Show (0)

Else

erin:

x = MsgBox("Проверьте правильность введеных значений", vbCritical + vbOKOnly, "Автошкола")

End If

End Sub

КнопкаЗакрыть”:

Private Sub bt_exit_Click()

AddClientForm.Hide

ClientForm.Show (0)

End Sub

СписокАвтомобиль”:

Private Sub cb_car_Change()

Sheets("Данные").Activate

cb_teacher.Clear

For i = 2 To 10

If Sheets("Данные").Cells(i, 4) = cb_car.Value Then cb_teacher.AddItem Sheets("Данные").Cells(i, 3)

Next i

cb_teacher.ListIndex = 0

End Sub

ПолеДом”:

Private Sub ed_home_Change()

ed_home.Text = Val(ed_home.Text)

End Sub

ПолеСотовый”:

Private Sub ed_mobile_Change()

ed_mobile.Text = Val(ed_mobile.Text)

End Sub

ПолеНомер”:

Private Sub ed_num_Change()

ed_num.Text = Val(ed_num.Text)

End Sub

Поле “Дом. телефон”:

Private Sub ed_phone_Change()

ed_phone.Text = Val(ed_phone.Text)

End Sub

ПолеКвартира”:

Private Sub ed_room_Change()

ed_room.Text = Val(ed_room.Text)

End Sub

ПолеСерия”:

Private Sub ed_ser_Change()

ed_ser.Text = Val(ed_ser.Text)

End Sub

Активация формы:

Private Sub UserForm_Activate()

ed_surname.Text = ""

ed_name.Text = ""

ed_patron.Text = ""

ed_birth.Text = ""

ed_who.Text = ""

ed_date.Text = ""

ed_ser.Text = ""

ed_num.Text = ""

ed_str.Text = ""

ed_home.Text = ""

ed_room.Text = ""

ed_phone.Text = ""

ed_mobile.Text = ""

End Sub

Инициализация формы:

Private Sub UserForm_Initialize()

Sheets("Данные").Activate

cb_car.ListIndex = 0

cb_teacher.Clear

cb_teacher.AddItem Cells(4, 3)

cb_teacher.ListIndex = 0

End Sub

Завершение работы формы:

Private Sub UserForm_Terminate()

AddClientForm.Hide

ClientForm.Show (0)

End Sub

5.7 Форма “Формирование бланка оплаты”

КнопкаЗакрыть”:

Private Sub bt_exit_Click()

PayForm.Hide

ClientForm.Show (0)

End Sub

КнопкаСформировать бланк”:

Private Sub bt_makeblank_Click()

If (ed_datepay.Text = CDate(ed_datepay.Text)) And cb_whopay.Text <> "" And ed_money.Value <> "" And ed_money.Value <> 0 Then

Sheets("Оплата").Activate

Sheets("Оплата").Range("B5").Value = cb_whopay.Value

Sheets("Оплата").Range("C8").Value = ed_datepay.Text

Sheets("Оплата").Range("C9").Value = ed_money.Text & " руб."

PayForm.Hide

Sheets("Оплата").Visible = True

Else

x = MsgBox("Проверьте правильность введеных значений", vbCritical + vbOKOnly, "Автошкола")

End If

End Sub

Кнопка “Подтвердить оплату”:

Private Sub bt_pay_Click()

If (ed_datepay.Text = CDate(ed_datepay.Text)) And cb_whopay.Text <> "" And ed_money.Value <> "" And ed_money.Value <> 0 Then

Sheets("База").Activate

Sheets("База").Cells(1, 1).Select

all = Selection.CurrentRegion.Rows.Count

For i = 2 To all

If Sheets("База").Cells(i, 29) <> "Окончил" And (Sheets("База").Cells(i, 2) & " " & Sheets("База").Cells(i, 3) & " " & Sheets("База").Cells(i, 4)) = cb_whopay.Text Then Cells(i, 21) = Val(Cells(i, 21)) + ed_money.Value

Next i

y = MsgBox("Оплата внесена!", vbInformation + vbOKOnly, "Автошкола")

Else

x = MsgBox("Проверьте правильность введеных значений", vbCritical + vbOKOnly, "Автошкола")

End If

End Sub

ПолеСумма платежа (руб.)”:

Private Sub ed_money_Change()

ed_money.Value = Val(ed_money.Value)

End Sub

Активация формы:

Private Sub UserForm_Activate()

cb_whopay.Clear

ed_money.Value = ""

Dim x As Integer

x = 0

ed_datepay.Text = Date

Sheets("База").Activate

Sheets("База").Cells(1, 1).Select

all = Selection.CurrentRegion.Rows.Count

For i = 2 To all

If Sheets("База").Cells(i, 29) <> "Окончил" Then

cb_whopay.AddItem (Sheets("База").Cells(i, 2) & " " & Sheets("База").Cells(i, 3) & " " & Sheets("База").Cells(i, 4))

x = x + 1

End If

Next i

If x = 0 Then

y = MsgBox("Текущая группа пуста!", vbCritical + vbOKOnly, "Автошкола")

PayForm.Hide

ClientForm.Show (0)

Else

cb_whopay.ListIndex = 0

End If

End Sub

Завершение работы формы:

Private Sub UserForm_Terminate()

PayForm.Hide

ClientForm.Show (0)

End Sub

5.8 Форма “Допуски”

Процедура (обновление активности):

Sub endis()

level_1.Enabled = True

level_2.Enabled = True

level_3.Enabled = True

If cb_able.Value = True And cb_pdd.Value = True And cb_help.Value = True And Val(desc_howmuchdrive.Text) >= Sheets("Данные").Range("L4") And Val(desc_howmuchpay.Caption) >= Sheets("Данные").Range("L2") Then

level_1.Enabled = False

If cb_insidepdd.Value = True And cb_insidedrive.Value = True And cb_insidegorod.Value = True Then

level_2.Enabled = False

Else

level_3.Enabled = False

End If

Else

level_2.Enabled = False

level_3.Enabled = False

End If

End Sub

КнопкаВыйти”:

Private Sub bt_exit_Click()

WayForm.Hide

ClientForm.Show (0)

End Sub

КнопкаСохранить”:

Private Sub bt_save_Click()

Sheets("База").Activate

Sheets("База").Cells(1, 1).Select

all = Selection.CurrentRegion.Rows.Count

For i = 2 To all

If ComboBox1.Text = (Sheets("База").Cells(i, 2) & " " & Sheets("База").Cells(i, 3) & " " & Sheets("База").Cells(i, 4)) And Sheets("База").Cells(i, 29) = "Обучаемый" Then

If cb_able.Value = True Then Sheets("База").Cells(i, 17) = "Да" Else Sheets("База").Cells(i, 17) = "Нет"

If cb_pdd.Value = True Then Sheets("База").Cells(i, 15) = "Да" Else Sheets("База").Cells(i, 15) = "Нет"

If cb_help.Value = True Then Sheets("База").Cells(i, 16) = "Да" Else Sheets("База").Cells(i, 16) = "Нет"

If cb_insidepdd.Value = True Then Sheets("База").Cells(i, 23) = "Да" Else Sheets("База").Cells(i, 23) = "Нет"

If cb_insidedrive.Value = True Then Sheets("База").Cells(i, 24) = "Да" Else Sheets("База").Cells(i, 24) = "Нет"

If cb_insidegorod.Value = True Then Sheets("База").Cells(i, 25) = "Да" Else Sheets("База").Cells(i, 25) = "Нет"

If cb_gaipdd.Value = True Then Sheets("База").Cells(i, 26) = "Да" Else Sheets("База").Cells(i, 26) = "Нет"

If cb_gaidrive.Value = True Then Sheets("База").Cells(i, 27) = "Да" Else Sheets("База").Cells(i, 27) = "Нет"

If cb_gaigorod.Value = True Then Sheets("База").Cells(i, 28) = "Да" Else Sheets("База").Cells(i, 28) = "Нет"

Sheets("База").Cells(i, 20) = desc_howmuchdrive.Text

End If

Next i

End Sub

Элементы типа Checkbox:

Private Sub cb_able_Click()

Call endis

End Sub

Private Sub cb_help_Click()

Call endis

End Sub

Private Sub cb_insidedrive_Click()

Call endis

End Sub

Private Sub cb_insidegorod_Click()

Call endis

End Sub

Private Sub cb_insidepdd_Click()

Call endis

End Sub

Private Sub cb_pdd_Click()

Call endis

End Sub

СписокКлиент”:

Private Sub ComboBox1_Change()

Sheets("База").Activate

Sheets("База").Cells(1, 1).Select

all = Selection.CurrentRegion.Rows.Count

For i = 2 To all

If ComboBox1.Text = (Sheets("База").Cells(i, 2) & " " & Sheets("База").Cells(i, 3) & " " & Sheets("База").Cells(i, 4)) And Sheets("База").Cells(i, 29) = "Обучаемый" Then

cb_able.Value = False

cb_pdd.Value = False

cb_help.Value = False

cb_insidepdd.Value = False

cb_insidedrive.Value = False

cb_insidegorod.Value = False

cb_gaipdd.Value = False

cb_gaidrive.Value = False

cb_gaigorod.Value = False

level_1.Enabled = True

level_2.Enabled = True

level_3.Enabled = True

If Sheets("База").Cells(i, 17) = "Да" Then cb_able.Value = True

If Sheets("База").Cells(i, 15) = "Да" Then cb_pdd.Value = True

If Sheets("База").Cells(i, 16) = "Да" Then cb_help.Value = True

If Sheets("База").Cells(i, 23) = "Да" Then cb_insidepdd.Value = True

If Sheets("База").Cells(i, 24) = "Да" Then cb_insidedrive.Value = True

If Sheets("База").Cells(i, 25) = "Да" Then cb_insidegorod.Value = True

If Sheets("База").Cells(i, 26) = "Да" Then cb_gaipdd.Value = True

If Sheets("База").Cells(i, 27) = "Да" Then cb_gaidrive.Value = True

If Sheets("База").Cells(i, 28) = "Да" Then cb_gaigorod.Value = True

desc_howmuchdrive.Text = Val(Cells(i, 20))

desc_howmuchpay.Caption = Val(Cells(i, 21))

Sheets("Данные").Activate

Call endis

End If

Next i

End Sub

Поле “Откатано часов”:

Private Sub desc_howmuchdrive_Change()

desc_howmuchdrive.Text = Val(desc_howmuchdrive.Text)

Call endis

End Sub

Активация формы:

Private Sub UserForm_Activate()

Dim first, hod As Integer

hod = 0

first = 0

ComboBox1.Clear

cb_able.Value = False

cb_pdd.Value = False

cb_help.Value = False

cb_insidepdd.Value = False

cb_insidedrive.Value = False

cb_insidegorod.Value = False

cb_gaipdd.Value = False

cb_gaidrive.Value = False

cb_gaigorod.Value = False

level_1.Enabled = True

level_2.Enabled = True

level_3.Enabled = True

Sheets("База").Activate

Sheets("База").Cells(1, 1).Select

all = Selection.CurrentRegion.Rows.Count

For i = 2 To all

If Sheets("База").Cells(i, 29) = "Обучаемый" Then

hod = hod + 1

If hod = 1 Then first = i

ComboBox1.AddItem (Sheets("База").Cells(i, 2) & " " & Sheets("База").Cells(i, 3) & " " & Sheets("База").Cells(i, 4))

End If

Next i

If first <> 0 Then

i = first

If Sheets("База").Cells(i, 17) = "Да" Then cb_able.Value = True

If Sheets("База").Cells(i, 15) = "Да" Then cb_pdd.Value = True

If Sheets("База").Cells(i, 16) = "Да" Then cb_help.Value = True

If Sheets("База").Cells(i, 23) = "Да" Then cb_insidepdd.Value = True

If Sheets("База").Cells(i, 24) = "Да" Then cb_insidedrive.Value = True

If Sheets("База").Cells(i, 25) = "Да" Then cb_insidegorod.Value = True

If Sheets("База").Cells(i, 26) = "Да" Then cb_gaipdd.Value = True

If Sheets("База").Cells(i, 27) = "Да" Then cb_gaidrive.Value = True

If Sheets("База").Cells(i, 28) = "Да" Then cb_gaigorod.Value = True

desc_howmuchdrive.Text = Val(Sheets("База").Cells(i, 20))

desc_howmuchpay.Caption = Val(Sheets("База").Cells(i, 21))

Sheets("Данные").Activate

Call endis

ComboBox1.ListIndex = 0

Else

y = MsgBox("Текущая группа пуста!", vbCritical + vbOKOnly, "Автошкола")

WayForm.Hide

ClientForm.Show (0)

End If

End Sub

Завершение работы формы:

Private Sub UserForm_Terminate()

ClientForm.Show (0)

End Sub

5.9 Форма “Информация о клиенте”

КнопкаОК”:

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5231
Авторов
на СтудИзбе
424
Средний доход
с одного платного файла
Обучение Подробнее