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")) <= Date And lb_cur.ListCount > 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))
Nexti
EndSub
Завершение работы формы:
Private Sub UserForm_Terminate()
MainForm.Show (0)
End Sub
Кнопка “Закрыть”:
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))
Nexti
EndSub
Завершение работы формы:
Private Sub UserForm_Terminate()
GroupForm.Show (0)
End Sub
Кнопка “Закрыть”:
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
Кнопка “Информация о клиенте”:
PrivateSubbt_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
Кнопка “Внести в базу данных!”:
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
Кнопка “Закрыть”:
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, "Автошкола")
EndIf
EndSub
Кнопка “Подтвердить оплату”:
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, "Автошкола")