Задание:
Автоматизировать рабочее место менеджера по продажам автомобилей марки BMW.
- Средство для автоматизации работы менеджера по продаже легковых автомобилей.
- Организовать ведение базы даных, содержащей информацию об автомобилях (марка, страга, год выпуска, технические характеристики, особенности исполнения, техническое состояние, цена) и клиентах.
- Осуществить автоматизированный подбор вариантов покупки автомобилей (требования к модели, техническим характеристикам и техническому состоянию, допустимая цена).
- Обеспечить возможность просмотра и поиска необходимо пользователю информации.
- Предоставить возможность сортировки данных по различным критериям.
- Создать отчеты по интересующей пользователя информации, в том числе и статитической с возможностью выбора аналитики и оцениваемых параметров.
- Организовать возможность экспорта в файлы Microsoft Office интересующей пользователя информации.
- Создать справочную систему приложения.
- Обеспечить организацию интерфейса приложения средствами создания меню, кнопочных форм, панелей инструментов.
Программа выполнена в приятных голубых тонах, с уникальным икон паком!
Содержимое проекта:

Содержимое папки Data (bin/Debug/Data):
- DB - папка с исходным SQL кодом, для создания базы данных и её заполнения
- Help - папка с файлом справки о проекте, а также проектом Help and Manual для изменения файла справки
- Ico - папка со всеми иконками проекта
- Img - папка со всеми изображениями проекта

Для проекта было разработано три класса: cMSQSQLConnection.vb, cPrintExcel.vb, cProcedures.vb.
Класс cMSQSQLConnection.vb:
- Соединение с базой данной
- Закрытие соединения
- Запросы к базе данных
- Выгрузка данных в таблицу
- Агрегатные запросы
- Выгрузка столбца с данными в выпадающий список
Класс cPrintExcel.vb:
- Печать таблицы в Excel
Класс cProcedures.vb:
- Удаление записи из таблицы
- Добавление фотографии
- Удаление фотографии
Пример кода:
'Правка/Изменить
Private Sub ИзменитьToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ИзменитьToolStripMenuItem.Click
'Ставим флаг добавления в False, редактируем запись
bAdd = False
'Переменная хранящая индекс текущей строки
Dim x As Integer = 0
'Открыть главную панель
PanelBMW.Visible = True
'Меняем название лейбла
LabelAddEdit.Text = "Изменяем запись"
'Меняем название редактируемой таблицы
LabelNameOfTable.Text = cbTablesName.Text
'SPECIFICATIONS
If (cbTablesName.SelectedIndex = 0) Then
'Возвращаем вкладку на место
TabPagePanelSpec.Parent = TabControlPanels
'Меняем имя
TabPagePanelSpec.Text = "Данные"
Try
'Определяем индекс выбранной строки
x = DataGridViewBMW.CurrentRow.Index
Catch exc As Exception
MsgBox("Редактировать нечего!", vbOK + vbExclamation, "Сообщение")
Exit Sub
End Try
'Переносим данные на форму
cbSpecifications_EngineType.Text = Convert.ToString(DataGridViewBMW(1, x).Value)
NumericUDSpecifications_EngineCapacity.Value = Convert.ToInt32(DataGridViewBMW(2, x).Value)
NumericUDSpecifications_HorsePower.Value = Convert.ToInt32(DataGridViewBMW(3, x).Value)
NumericUDSpecifications_FuelConsumption.Value = Convert.ToInt32(DataGridViewBMW(4, x).Value)
tbSpecifications_PerformanceFeatures.Text = Convert.ToString(DataGridViewBMW(5, x).Value)
'Открываем побочную панель
PanelSpecifications.Visible = True
'MANAGER
ElseIf (cbTablesName.SelectedIndex = 1) Then
'Возвращаем вкладку на место
TabPagePanelManager.Parent = TabControlPanels
'Меняем имя
TabPagePanelManager.Text = "Данные"
Try
'Определяем индекс выбранной строки
x = DataGridViewBMW.CurrentRow.Index
Catch exc As Exception
MsgBox("Редактировать нечего!", vbOK + vbExclamation, "Сообщение")
Exit Sub
End Try
'Переносим данные на форму
tbManagerFIO.Text = Convert.ToString(DataGridViewBMW(1, x).Value)
tbManager_Phone.Text = Convert.ToString(DataGridViewBMW(2, x).Value)
'Открываем побочную панель
PanelManager.Visible = True
'CLIENT
ElseIf (cbTablesName.SelectedIndex = 2) Then
'Возвращаем вкладку на место
TabPagePanelClient.Parent = TabControlPanels
'Меняем имя
TabPagePanelClient.Text = "Данные"
Try
'Определяем индекс выбранной строки
x = DataGridViewBMW.CurrentRow.Index
Catch exc As Exception
MsgBox("Редактировать нечего!", vbOK + vbExclamation, "Сообщение")
Exit Sub
End Try
'Переносим данные на форму
tbClient_FIO.Text = Convert.ToString(DataGridViewBMW(1, x).Value)
tbClient_Phone.Text = Convert.ToString(DataGridViewBMW(2, x).Value)
DateTPClient_DateOfIssue.Value = Convert.ToDateTime(DataGridViewBMW(3, x).Value)
DateTPClient_DateBirth.Value = Convert.ToDateTime(DataGridViewBMW(4, x).Value)
tbClient_IssuedBy.Text = Convert.ToString(DataGridViewBMW(5, x).Value)
tbClient_Batch.Text = Convert.ToString(DataGridViewBMW(6, x).Value)
NumericUDClient_Number.Value = Convert.ToInt32(DataGridViewBMW(7, x).Value)
'Открываем побочную панель
PanelClient.Visible = True
'AUTO
ElseIf (cbTablesName.SelectedIndex = 3) Then
'Возвращаем вкладку на место
TabPagePanelAuto.Parent = TabControlPanels
'Меняем имя
TabPagePanelAuto.Text = "Данные"
Try
'Определяем индекс выбранной строки
x = DataGridViewBMW.CurrentRow.Index
Catch exc As Exception
MsgBox("Редактировать нечего!", vbOK + vbExclamation, "Сообщение")
Exit Sub
End Try
'Переносим данные на форму
tbAuto_Country.Text = Convert.ToString(DataGridViewBMW(1, x).Value)
cbAuto_FK_Specification.Text = Convert.ToString(DataGridViewBMW(2, x).Value)
NumericUDAuto_Count.Value = Convert.ToInt32(DataGridViewBMW(3, x).Value)
DateTPAuto_YearOfIssue.Value = Convert.ToDateTime(DataGridViewBMW(4, x).Value)
NumericUDAuto_Price.Value = Convert.ToInt32(DataGridViewBMW(5, x).Value)
tbAuto_CarMark.Text = Convert.ToString(DataGridViewBMW(6, x).Value)
tbAuto_CarModel.Text = Convert.ToString(DataGridViewBMW(7, x).Value)
tbAuto_TechnicalCondition.Text = Convert.ToString(DataGridViewBMW(8, x).Value)
'Открываем побочную панель
PanelAuto.Visible = True
'ORDER_CAR
ElseIf (cbTablesName.SelectedIndex = 4) Then
'Возвращаем вкладку на место
TabPagePanelOrderCar.Parent = TabControlPanels
'Меняем имя
TabPagePanelOrderCar.Text = "Данные"
Try
'Определяем индекс выбранной строки
x = DataGridViewBMW.CurrentRow.Index
Catch exc As Exception
MsgBox("Редактировать нечего!", vbOK + vbExclamation, "Сообщение")
Exit Sub
End Try
'Переносим данные на форму
cbOrderCar_FK_Manager.Text = Convert.ToString(DataGridViewBMW(1, x).Value)
cbOrderCar_FK_Client.Text = Convert.ToString(DataGridViewBMW(2, x).Value)
cbOrderCar_FK_Auto.Text = Convert.ToString(DataGridViewBMW(3, x).Value)
DateTPOrderCar_Date.Value = Convert.ToDateTime(DataGridViewBMW(4, x).Value)
NumericUDOrderCar_Summ.Value = Convert.ToInt32(DataGridViewBMW(5, x).Value)
'Открываем побочную панель
PanelOrderCar.Visible = True
End If
End Sub
Перед первым запуском проекта требуется внимательно изучить файл инструкции Настройки.docx.
Содержание архива
-
Исходный код на VBA.NET для Visual Studio
-
Исходный код на SQL для MS SQL Server
- Файл инструкции по установке и настройке
Телеграм
-