
- •Курсовая работа
- •«Информационные системы в экономике»
- •Постановка задачи
- •Описание базы данных
- •Описание приложения
- •3.1 Главная форма приложения «Отдел 850»
- •3.2 Форма «Сотрудники»
- •3.3 Форма «Ноутбуки сотрудника»
- •3.4 Форма «Отчет «Ноутбуки сотрудника»»
- •3.5 Форма «Ноутбуки»
- •3.6 Форма «Программное обеспечение ноутбука»
- •3.7 Форма «Редактирование программного обеспечения ноутбука»
- •3.8 Форма «Отчет «Программное обеспечение ноутбуков»
- •3.9 Форма «Программное обеспечение»
- •Программный код приложения
3.6 Форма «Программное обеспечение ноутбука»
На каждом компьютере установлено определенное количество разнообразных программ. Соответственно информацию о том, на каком ноутбуке какое программное обеспечение имеется можно посмотреть на данной форме программы.
Рисунок 8 - Форма "Программное обеспечение ноутбука"
3.7 Форма «Редактирование программного обеспечения ноутбука»
Для возможности редактирования программного обеспечения, установленного на ноутбуке, была разработана данная форма. Поскольку для ввода информации используются идентификационные номера программ и компьютеров, то в окне присутствуют отображения таблиц «Ноутбуки» и «Программное обеспечение» для справочной информации.
Рисунок 9 - Форма "Редактирование программного обеспечение ноутбука"
3.8 Форма «Отчет «Программное обеспечение ноутбуков»
Отчет, реализованный средствами инструмента Crystal Report, позволяет пользователю увидеть подробную информацию о программном обеспечении, установленном на ноутбуках, экспортировать эти данные в программы Microsoft Office Word и Microsoft Office Excel, выводить данную информацию на печать, а также осуществлять поиск информации внутри отчета.
Рисунок 10 - Форма "Отчет "Программное обеспечение ноутбуков""
3.9 Форма «Программное обеспечение»
В приложении содержится информация о программном обеспечении, закупаемом отделом 850 для установки на определенные компьютеры в целях дальнейшего использования. Название программных продуктов, а также даты окончания лицензий можно просмотреть и изменить на данной форме. Также на этой форме существует возможность добавления и удаления программных продуктов.
Рисунок 11 - Форма "Программное обеспечение"
Обработка стандартных ошибок также реализована на данной форме.
СХЕМА ПРОГРАММЫ
Исходя из информации, описанной в предыдущих пунктах, можно составить подробную иерархическую схему взаимосвязи всех форм приложения:
Рисунок 12 - Схема программы
Программный код приложения
Form 1
Public Class Form1
Private Sub СотрудникиToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles СотрудникиToolStripMenuItem.Click
Dim frm2 As New Form2
frm2.MdiParent = Me
frm2.Show()
End Sub
Private Sub НоутбукиToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles НоутбукиToolStripMenuItem.Click
Dim frm3 As New Form3
frm3.MdiParent = Me
frm3.Show()
End Sub
Private Sub ПрограммноеОбеспечениеToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ПрограммноеОбеспечениеToolStripMenuItem.Click
Dim frm4 As New Form4
frm4.MdiParent = Me
frm4.Show()
End Sub
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Dim f As New Form
For Each f In Me.MdiChildren
f.Close()
Next
End Sub
Private Sub КаскадToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles КаскадToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.Cascade)
End Sub
Private Sub ПоГоризонталиToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ПоГоризонталиToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.TileHorizontal)
End Sub
Private Sub ПоВертикалиToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ПоВертикалиToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.TileVertical)
End Sub
Private Sub МозаикаToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles МозаикаToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.ArrangeIcons)
End Sub
End Class
Form 2
Public Class Form2
Private Sub Form2_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Me.Hide()
e.Cancel = True
End Sub
Private Sub СотрудникиBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles СотрудникиBindingNavigatorSaveItem.Click
Try
Me.Validate()
Me.СотрудникиBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.НоутыDataSet)
Catch s1 As System.Data.OleDb.OleDbException When s1.Errors(0).NativeError = -534971980
MsgBox("Уделение записей невозможно. В таблице Ноутбуки имеются связанные записи", MsgBoxStyle.OkOnly, "Ошибка")
НоутыDataSet.Clear()
СотрудникиTableAdapter.Fill(НоутыDataSet.Сотрудники)
Catch s1 As System.Data.OleDb.OleDbException When s1.Errors(0).NativeError = -541331061
MsgBox("Поле ФАМИЛИЯ не может содержать значение Null", MsgBoxStyle.OkOnly, "Ошибка")
СотрудникиTableAdapter.Fill(НоутыDataSet.Сотрудники)
End Try
End Sub
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.Сотрудники". При необходимости она может быть перемещена или удалена.
Me.СотрудникиTableAdapter.Fill(Me.НоутыDataSet.Сотрудники)
End Sub
Private Sub НоутбукиСотрудникаToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles НоутбукиСотрудникаToolStripMenuItem.Click
Dim frm5 As New Form5
frm5.MdiParent = Form1
frm5.Show()
End Sub
Private Sub ОтчетToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ОтчетToolStripMenuItem.Click
Dim frm7 As New Form7
frm7.MdiParent = Form1
frm7.Show()
End Sub
End Class
Form 3
Public Class Form3
Private Sub КомпьютерыBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles КомпьютерыBindingNavigatorSaveItem.Click
Try
Me.Validate()
Me.КомпьютерыBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.НоутыDataSet)
Catch s2 As System.Data.OleDb.OleDbException
Me.Show()
MsgBox("Добавление записей невозможно. Необходимо наличие связанных записей в таблице ID CОТРУДНИК", MsgBoxStyle.OkOnly, "Ошибка")
НоутыDataSet.Clear()
КомпьютерыTableAdapter.Fill(НоутыDataSet.Компьютеры)
Catch s1 As System.Data.ConstraintException
Me.Show()
MsgBox("Поля ID ПК и СЕРИЙНЫЙ НОМЕР должны иметь уникальные значения", MsgBoxStyle.OkOnly, "Ошибка")
НоутыDataSet.Clear()
КомпьютерыTableAdapter.Fill(НоутыDataSet.Компьютеры)
End Try
End Sub
Private Sub Form3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.Компьютеры". При необходимости она может быть перемещена или удалена.
Me.КомпьютерыTableAdapter.Fill(Me.НоутыDataSet.Компьютеры)
End Sub
Private Sub Form3_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Me.Hide()
e.Cancel = True
End Sub
Private Sub ПОНоутбукаToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ПОНоутбукаToolStripMenuItem.Click
Dim frm6 As New Form6
frm6.MdiParent = Form1
frm6.Show()
End Sub
Private Sub ДобавитьToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ДобавитьToolStripMenuItem.Click
Dim frm9 As New Form9
frm9.MdiParent = Form1
frm9.Show()
End Sub
Private Sub ОтчетToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ОтчетToolStripMenuItem.Click
Dim frm8 As New Form8
frm8.MdiParent = Form1
frm8.Show()
End Sub
End Class
Form 4
Public Class Form4
Private Sub ПОBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ПОBindingNavigatorSaveItem.Click
Try
Me.Validate()
Me.ПОBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.НоутыDataSet)
Catch s1 As System.Data.ConstraintException
Me.Show()
MsgBox("Поля ID ПК и ДАТА ОКОНЧАНИЯ ЛИЦЕНЗИИ должны иметь уникальные значения", MsgBoxStyle.OkOnly, "Ошибка")
НоутыDataSet.Clear()
ПОTableAdapter.Fill(НоутыDataSet.ПО)
Catch s1 As System.Data.OleDb.OleDbException When s1.Errors(0).NativeError = -534971980
MsgBox("Уделение записей невозможно. В таблице ХХХ имеются связанные записи", MsgBoxStyle.OkOnly, "Ошибка")
НоутыDataSet.Clear()
ПОTableAdapter.Fill(НоутыDataSet.ПО)
End Try
End Sub
Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.ПО". При необходимости она может быть перемещена или удалена.
Me.ПОTableAdapter.Fill(Me.НоутыDataSet.ПО)
End Sub
Private Sub Form4_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Me.Hide()
e.Cancel = True
End Sub
End Class
Form 5
Public Class Form5
Private Sub Form5_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Me.Hide()
e.Cancel = True
End Sub
Private Sub КомпьютерыBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Validate()
Me.КомпьютерыBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.НоутыDataSet)
End Sub
Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.Сотрудники". При необходимости она может быть перемещена или удалена.
Me.СотрудникиTableAdapter.Fill(Me.НоутыDataSet.Сотрудники)
'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.Компьютеры". При необходимости она может быть перемещена или удалена.
Me.КомпьютерыTableAdapter.Fill(Me.НоутыDataSet.Компьютеры)
End Sub
Private Sub ID_СотрудникаComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ID_СотрудникаComboBox.SelectedIndexChanged
Me.КомпьютерыTableAdapter.НС(Me.НоутыDataSet.Компьютеры, Me.ID_СотрудникаComboBox.SelectedValue)
End Sub
End Class
Form 6
Public Class Form6
Private Sub Form6_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Me.Hide()
e.Cancel = True
End Sub
Private Sub Form6_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.Компьютеры". При необходимости она может быть перемещена или удалена.
Me.КомпьютерыTableAdapter.Fill(Me.НоутыDataSet.Компьютеры)
'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.ПО". При необходимости она может быть перемещена или удалена.
Me.ПОTableAdapter.Fill(Me.НоутыDataSet.ПО)
End Sub
Private Sub ID_ПКComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ID_ПКComboBox.SelectedIndexChanged
Me.ПОTableAdapter.ПОН(Me.НоутыDataSet.ПО, Me.ID_ПКComboBox.SelectedValue)
End Sub
End Class
Form 7
Public Class Form7
Private Sub Form7_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Me.Hide()
e.Cancel = True
End Sub
Private Sub MSOfficeWordToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MSOfficeWordToolStripMenuItem.Click
SaveFileDialog1.Filter = "документ Word|*.doc"
SaveFileDialog1.ShowDialog()
End Sub
Private Sub MSOfficeExcelToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MSOfficeExcelToolStripMenuItem.Click
SaveFileDialog1.Filter = "документ Excel|*.xls"
SaveFileDialog1.ShowDialog()
End Sub
Private Sub SaveFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles SaveFileDialog1.FileOk
If InStr(SaveFileDialog1.Filter, "Word") <> 0 Then
CrystalReport11.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.WordForWindows, SaveFileDialog1.FileName)
End If
If InStr(SaveFileDialog1.Filter, "Excel") <> 0 Then
CrystalReport11.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.Excel, SaveFileDialog1.FileName)
End If
End Sub
End Class
Form 8
Public Class Form8
Private Sub Form8_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Me.Hide()
e.Cancel = True
End Sub
End Class
Form 9
Public Class Form9
Private Sub Form9_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
Me.Hide()
e.Cancel = True
End Sub
Private Sub СвязьBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles СвязьBindingNavigatorSaveItem.Click
Try
Me.Validate()
Me.СвязьBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.НоутыDataSet)
Catch s1 As System.Data.OleDb.OleDbException When s1.Errors(0).NativeError = -541331061
MsgBox("Поля данной таблицы не могут содержать значения Null", MsgBoxStyle.OkOnly, "Ошибка")
СвязьTableAdapter.Fill(НоутыDataSet.Связь)
End Try
End Sub
Private Sub Form9_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.ПО". При необходимости она может быть перемещена или удалена.
Me.ПОTableAdapter.Fill(Me.НоутыDataSet.ПО)
'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.Компьютеры". При необходимости она может быть перемещена или удалена.
Me.КомпьютерыTableAdapter.Fill(Me.НоутыDataSet.Компьютеры)
'TODO: данная строка кода позволяет загрузить данные в таблицу "НоутыDataSet.Связь". При необходимости она может быть перемещена или удалена.
Me.СвязьTableAdapter.Fill(Me.НоутыDataSet.Связь)
End Sub
End Class