ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования «ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ УПРАВЛЕНИЯ»
Кафедра КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
Курсовой проект по дисциплине
«Компьютерная подготовка»
На тему:
«Создание и обработка Баз данных средствами Visual Basic 6.0»
Специальность
«Государственное и муниципальное управление»
Курс I
Группа ГиМУ 1-4
Студент Дегтярев Д.Н.
Студенческий билет № 009-09
Вариант № 8
«15» мая 2010 г.
Руководитель проекта
______________________
(учебное звание, степень)
Оценка работы
_____________
«___»_________________201_г.
Москва 2010 г.
Содержание
Структура таблицы
Исходные данные
Создание таблицы
Алгоритм чтения таблицы PR
Алгоритм чтения таблицы GL
Создание пользовательского меню
Решение
Меню
Вид формы и свойства элементов управления
Вид формы с таблицей PR
Вид формы с таблицей GL
Справка 1
Справка 2
Справка 3
Документ
Заключение
Вариант 4
Структура таблиц
Таблица PR(предприятия)
Код предприятия |
Наименование предприятия |
Численность персонала |
Объём выпускаемой продукции в руб. |
Таблица GL(обеспеченность жильем)
Код предприятия |
Отсутствие жилья |
Нуждающиеся в улучшении |
Живущие далеко от предприятия |
В таблице GL данные приведены в % к общему количеству персонала.
Состав меню:
1. Распечатка исходных таблиц.
2. Формирование и выдача справок:
Справка 1. Наименование предприятий, объем выпуска продукции которых превышает 20 млн. рублей. Записи упорядочить по возрастанию численности персонала.
Наименование предприятия |
Объём выпускаемой продукции в руб. |
Справка 2. Коды предприятий, в которых процент сотрудников, не имеющих жилья, превышает 15%. Записи упорядочить по убыванию процента сотрудников, не имеющих жилья.
Справка 3. Сведения о предприятиях с количеством персонала, большим 5000 чел., в которых процент сотрудников, не имеющих жилья и нуждающихся в улучшении жилищных условий, превышает 20%.
Наименование предприятия |
Численность персонала |
Объём выпускаемой продукции в руб. |
Отсутствие жилья |
Нуждающиеся в улучшении |
Создание документа:
Сведения об объеме выпускаемой продукции на одного работающего на предприятиях, свыше 70% сотрудников которых имеют нормальные жилищные условия.
Наименование предприятия |
% сотрудников обеспеченных жильем |
Продукция на одного работающего (в руб.) |
Исходные данные
Таблица PR
Таблица GL
Создание Таблиц
Для создания Базы данных, в первую очередь, понадобится Окно формирования новой таблицы базы данных (Table Structure). Для этого в Главном Меню Главной панели проекта Visual Basic 6.0 следует выбрать опцию Add-Ins (Добавления или Модули), а в ней - команду Visual Data Manager.
При выполнении этой команды раскрывается Панель Приложения VisData- Панель Диспетчера баз данных Visual Basic 6.0.
Рисунок 1. Панель VisData
Рисунок 2. Заголовок Панели VisData
Выбрать меню File Панели Приложения VisData и команду New. В раскрывшемся подменю следует выбрать в качестве типа создаваемой базы данных Microsoft Access, а во втором подменю- Version 7.0 MDB, или иначе, выполнить последовательность команд:
File - New - Microsoft Access - Version 7.0 MDB
В результате раскроется Окно создания Нового файла базы данных Microsoft Access - Окно Select Microsoft Access Database To Create. Для открытия уже существующего файла базы данных необходимо вместо команды New воспользоваться командой Open Database.
Рисунок 3. Окно создания Нового файла Базы данных - Окно Select Microsoft Access Database To Create
В окне Имя файла указать имя каталога, в котором будет храниться создаваемая база. При этом на Панели Приложения VisData появится Окно базы данных (Окно Database Window) и Окно операторов SQL Statements (рис. 4).
Рисунок 4 .Панель Приложения VisData после появления на ней Окна Базы данных (Database Window) и Окна SQL Statements
В любом месте Окна Database Window необходимо щелкнуть правой клавишей мыши. В появившемся меню следует выбрать команду New Table (создать таблицу). Раскроется Панель Table Structure - Структура таблицы (рис. 5). Можно приступать к проектированию структуры таблицы.
Рисунок 5. Панель Table Structure
Проектирование структуры таблицы базы данных включает следующие шаги:
1. В поле Table Name (имя таблицы) ввести имя проектируемой таблицы - SM.
Рисунок 6. Панель Table Structure после внесения в окно Table Name
имени проектируемой таблицы SM
2. Раскрыть Диалоговое Окно Add Field (Добавить поле) на Панели Table Structure кнопкой Add Field - раскроется Диалоговое окно Add Field (Добавить поле).
Рисунок 7. Раскрытое диалоговое окно Add Field (Добавить поле)
3. С помощью Диалогового Окна Add Field осуществляется по очереди ввод характеристик всех полей создаваемой таблицы SM – вводятся имена полей, их типы и размеры полей.
Рисунок 8. Диалоговое окно Add Field для ввода сведений о полях проектируемой таблицы создаваемой базы данных
В поле Туре Окна Add Field по умолчанию указан тип вводимого данного - Text. При разработке приложения создания базы данных нам может понадобиться использование данных другого типа, что и осуществляется выбором стандартных типов с использованием клавиши окна Туре. В Visual Basic вы можете применять следующие типы данных:
- числовой (integer, Long, Single, Double, Currency);
- строковый (String);
- типа дата (Date);
- байтовый(Byte);
- логический (Boolean);
- произвольный (variant);
- объектный (object).
Для хранения чисел в Visual Basic используется пять разных типов данных. Для хранения целочисленных данных будем использовать тип Integer, а для храпения десятичных чисел типы данных Single.
4. По окончании ввода всей информации поля создаваемой таблицы базы данных щелкнуть кнопку ОК диалогового окна Add Field Панели Table Structure. Поле добавляется в таблицу.
5. Добавим все необходимые поля тем же способом и нажмем кнопку Close, вернувшись в окно Table Structure.
6. Для завершения процесса проектирования таблицы создаваемой Базы Данных щелкается кнопка Build the Table (сформировать таблицу) на панели Table Structure, что приводит к закрытию окна Table Structure и возврату к Панели Приложения с окном Database Window, в котором представлена создаваемая База Данных, включающая пока только одну таблицу - таблицу PR.
Включим в нашу Базу Данных еще одну таблицу - таблицу GL. Для этого также воспользуемся окном Database Window и, выполнив те же шаги, создадим в Базе данных БД структуру второй таблицы GL.
Рисунок 9. Окно Database Window (Окно баш данных) Панели Приложения VisData со структурами таблиц PR и GL создаваемой базы данных.
Теперь таблицы нужно заполнить конкретными записями. Но если мы хотим, чтобы в дальнейшем записи таблиц БД автоматически упорядочивались по заданному полю, необходимо создать, так называемый, индекс таблицы. Для этого с помощью панели Add Index, ввести в поле окна Name имя поля, которое хотим сделать индексным, щелкнуть по нему, чтобы включить ею в список Indexed Fields.
Заполнение созданных таблиц БД исходными данными.
Щелчком правой кнопкой мыши по таблице PR или GL раскроем контекстное меню выбора опций, являющееся узловым (начальным) инструментом разработки баз данных.
Выбрав опцию Open, раскроем окно Модификаций таблиц базы данных. Оно является исходным инструментом выбора видов работ (видов модификаций) с таблицами баз данных и содержит набор 8-и опций.
Рисунок 10. Окно Модификаций таблиц базы данных
Данные отображаются в табличном формате, удобном для ввода новых записей и редактирования текущей и ранее введенных записей (линейка опций окна Модификаций таблиц базы данных содержит опцию редактирования Edit - рис. 10).
Начинаем процесс заполнения указанных полей конкретными значениями первой записи. Нажимаем Add. Для перехода к следующему полю записи можно пользоваться клавишей Enter. По окончании заполнения всех полей первой записи щелкнуть на кнопке Update (Обновить) - в результате набранная запись будет физически записана в файл создаваемой базы данных, в таблицу PR и восстановится окно модификаций. Для перехода к новой записи - щелчок левой клавишей по кнопке Add. Нажатие кнопки Close после ввода последней записи завершает ввод записей в таблицу создаваемой Базы данных.
Аналогично создадим таблицу GL.
Алгоритм чтения таблицы PR
Алгоритм чтения таблицы GL
Создание пользовательского меню
Меню - один из способов диалога пользователя с информационной системой. Меню представляет собой список Пунктов, из которого следует выбрать необходимый.
Использование большого количества командных кнопок связано с неудобствами. Возникает неясность в последовательности их активизации. Разумная альтернатива – создание собственного меню проекта. В системе проектирования VB 6.0 создание Меню осуществляется с помощью Редактора меню Menu Editor. Окно редактора открывается на активной форме тремя способами:
- Главное Меню - Инструменты - Редактор меню (меню Editor);
- Нажатием на линейке инструментов Главной панели системы VB 6.0 кнопки;
- Нажатием клавиш CTRL + E
Рисунок 11. Окно редактора меню
Обычно меню состоит из нескольких уровней. Верхний - это строка меню, которую называют Головным меню. Каждый пункт Головного меню может включать подменю из одного или нескольких пунктов. Каждый следующий пункт, в свою очередь, может включать свое подменю и т.д.
Открываем окно редактора меню на Form1. Form1 используется как основная. В окне редактора и осуществим конструирование Пользовательского меню.
После вызова редактора требуется заполнить его необходимыми данными. Сначала в окно Caption (заголовок) вводится имя пункта меню, под которым оно будет выводиться в строке меню на форме. Для быстрого открытия меню в поле Заголовок можно указать т.н. горячую клавишу. Это делается записью амперсанда (&) перед соответствующей буквой.
Затем нажимаемся TAB и вводится в окно Имя уникальное имя пункта Меню в программе. Оно должно состоять из следующих частей:
- Префикса mnu, указывающего, что имя относится к меню;
- Собственного имени.
Кроме свойств Заголовок, Имя элементы меню имеют еще три свойства, могущие принимать значение True/False:
Отмечено (Checked) —позволяет отметить выбранный элемент символом ,
Включено (Enabled) - позволяет включить или выключить команды меню во время выполнения программы символом .
Видимо (Visible) -позволяет отобразить или скрыть отдельные элементы меню (вместо блокировки) символом
Элементы конструирования структуры Меню позволяют:
устанавливать уровни Меню стрелками:
смещает элемент на уровень ниже,
смещает элемент на уровень выше,
перемещают элементы в списке элементов одного уровня
перемещать указатель к следующему Меню («Дальше» (Next), добавлять пункт Меню («Вставить» (Insert), удалять пункт Меню («Удалить» (Delete)).
Рисунок 12. Созданное Меню в Окне Редактора
По завершении создания меню нажать ОК и созданное Меню появится на форме Form1-отображается верхний Уровень Меню - Головное Меню. Меню активное. Для раскрытия любого пункта меню достаточно мышкой щелкнуть на выбранном пункте.
Решение
При решении данной курсовой работы я решил выполнить её на одной форме, то есть все пункты меню кроме Vihod(Выход) служат для распечатки таблиц, формирования и выдачи справок, создания документа на 1 форме.
Меню
Рисунок 13. Пользовательское Меню
Private Sub mnuVihod_Click()
End
End Sub
Вид формы
Рисунок 14 .Экранная форма Glav_Form, обеспечивающая просмотр таблиц, выдачи справок и выходного документа(с использованием Пользовательского меню)
Свойства Glav_Form:
Name= Glav_Form
Caption= Курсовой проект Дегтярев Денис ГиМУ 1-4 №8.
Height=6780
Left=105
LinkTopic=Form1
ScaleHeight=5940
ScaleWidth=13350
Top=105
Width=13590
Пояснение
Так как почти все элементы бу
Свойства Элемента Data1 (таблица PR,справка № 1,3 и документ):
Name =Data1
Caption = Data1_Таблица_PR
Connect =Access
DatabaseName = D:кпКурсовая 2file 1.mdb
Height = 495
Left = 240
RecordsetType =0 - Table
RecordSource =PR
Top = 1320
Width = 6375
Свойства элементов связанных с Data1(таблица PR,справка № 1,3 и документ):
Text1(0)
DataField = “Cod pr”
DataSourse = Data1
Height = 495
Index =0
Left = 240
TabIndex = 9
Top = 600
Width = 1215
Text1(1)
DataField = “Name pr”
DataSourse = Data1
Height = 495
Index =1
Left = 1680
TabIndex =8
Top =600
Width = 2175
Text1(2)
DataField = “Zis”
DataSourse = Data1
Height = 495
Index =2
Left = 4080
TabIndex =7
Top =600
Width = 1215
Text1(3)
DataField = “V vip”
DataSourse = Data1
Height = 495
Index =3
Left = 5520
TabIndex =6
Top =600
Width = 1335
Свойства элементов Label (метка) для PR.
Label1(0)
Caption = «Код предприятия»
Height = 255
Index =0
Left = 120
TabIndex =21
Top =240
Width = 1335
Label1(1)
Caption = «Наименование предприятия»
Height = 255
Index =1
Left = 1680
TabIndex =20
Top =240
Width = 2175
Label1(2)
Caption = «Численность персонала»
Height = 255
Index =2
Left = 4200
TabIndex =19
Top =240
Width = 1095
Label1(3)
Caption = «Объем выпуска продукции (в руб)»
Height = 495
Index =3
Left = 5520
TabIndex =18
Top =240
Width = 1335
Свойства элемента MSFlexGrid и Label3 (таблица PR и справка № 2)
MSFlexGrid
Name =Flp
Cools =2
FixedCools =0
FixedRows =1
Height =1695
Left =1080
Rows =2
TabIndex =5
Top =2400
Width =4335
Label3
Caption = « »Height = 255
Left = 1080
TabIndex =13
Top =2040
Width = 4335
Свойства Элемента Data2 (таблица GL,справка № 2,3 и документ):
Name =Data2
Caption = Data2_Таблица_GL
Connect =Access
DatabaseName = D:кпКурсовая 2file 1.mdb
Height = 495
Left = 7080
RecordsetType =0 - Table
RecordSource =GL
Top = 1320
Width = 5895
Свойства элементов связанных с Data2(таблица GL,справка № 2,3 и документ):
Text2(0)
DataField = “Cod pr”
DataSourse = Data2
Height = 495
Index =0
Left = 7320
TabIndex = 4
Top = 600
Width = 1315
Text2(1)
DataField = “Zis”
DataSourse = Data2
Height = 495
Index =1
Left = 8880
TabIndex =3
Top =600
Width = 1455
Text2(2)
DataField = “Ul”
DataSourse = Data2
Height = 495
Index =2
Left = 10560
TabIndex =2
Top =600
Width = 1215
Text2(3)
DataField = “Dal”
DataSourse = Data2
Height = 495
Index =3
Left = 11880
TabIndex =1
Top =600
Width = 1335
Свойства элементов Label (метка) для GL.
Label2(0)
Caption = «Код предприятия»
Height = 255
Index =0
Left = 7320
TabIndex =17
Top =240
Width = 1335
Label2(1)
Caption = «Отсутствие жилья»
Height = 255
Index =1
Left = 8880
TabIndex =16
Top =240
Width = 1455
Label2(2)
Caption = «Нуждающиеся в улучшении»
Height = 435
Index =2
Left = 10560
TabIndex =15
Top =120
Width = 1155
Label2(3)
Caption = «Живущие далеко от предприятия»
Height = 495
Index =3
Left = 11880
TabIndex =14
Top =120
Width = 1335
Свойства элемента MSFlexGrid и Label4 (таблица GL и справка № 1)
MSFlexGrid
Name =Flg
Cools =2
FixedCools =0
FixedRows =1
Height =1695
Left =1080
Rows =2
TabIndex =10
Top =2400
Width =4215
Label4
Caption = “ ”
Height = 255
Left = 8160
TabIndex =12
Top =2040
Width = 3975
Свойства элемента MSFlexGrid и Label5(справка №3 и документ)
MSFlexGrid
Name =Fls
Cools =2
FixedCools =0
FixedRows =1
Height =1575
Left =4080
Rows =2
TabIndex =10
Top =4320
Width =5175
Label5
Caption = “ ”
Height = 495
Left = 1200
TabIndex =11
Top =4680
Width = 2775
Вид формы с таблицей PR
Рисунок 15. Форма с таблицей PR.
Private Sub mnuRs_PR_Click()
Dim K As Integer
Dim I As Integer, J As Integer
Data1.Recordset.MoveFirst
K = Data1.Recordset.RecordCount
Label3.Caption = "Таблица Предприятия"
Flp.Rows = K + 1
Flp.Cols = 4
For I = 1 To K
For J = 1 To 4
Flp.TextMatrix(I, J - 1) = Text1(J - 1)
If I = 1 Then Flp.TextMatrix(I - 1, J - 1) = Data1.Recordset.Fields(J - 1).Name
Next J
Data1.Recordset.MoveNext
Next I
End Sub
Форма с таблицей GL
Рисунок 16. Вид формы с таблицей GL
Private Sub mnuRs_Gl_Click()
Dim K As Integer
Dim I As Integer, J As Integer
K = Data1.Recordset.RecordCount
Label4.Caption = "Таблица Обеспеченность жильём"
Data2.Recordset.MoveFirst
Flg.Rows = K + 1
Flg.Cols = 4
For I = 1 To K
For J = 1 To 4
Flg.TextMatrix(I, J - 1) = Text2(J - 1)
If I = 1 Then Flg.TextMatrix(I - 1, J - 1) = Data2.Recordset.Fields(J - 1).Name
Next J
Data2.Recordset.MoveNext
Next I
End Sub
Справка №1
Таблица PR
Private Sub mnuSpravka1_Click()
Dim I As Integer, T As Integer, L As Integer, J As Integer
Dim Kz As Integer
Dim Q As Variant
Flg.Cols = 3: Flg.Rows = 1: Kz = 0
Label4.Caption = "Справка №1(по таблице PR)"
Flg.TextMatrix(0, 0) = Data1.Recordset.Fields(1).Name
Flg.TextMatrix(0, 1) = Data1.Recordset.Fields(3).Name
Data1.Recordset.MoveFirst
For I = 1 To Data1.Recordset.RecordCount
If Data1.Recordset.Fields(3).Value > 20000000 Then
Flg.Rows = Flg.Rows + 1: Kz = Flg.Rows - 1
Flg.TextMatrix(Kz, 0) = Data1.Recordset.Fields(1).Value
Flg.TextMatrix(Kz, 1) = Data1.Recordset.Fields(3).Value
Flg.TextMatrix(Kz, 2) = Data1.Recordset.Fields(2).Value
End If
Data1.Recordset.MoveNext
Next I
If Kz > 1 Then
For I = 1 To Kz - 1
T = I
For L = I + 1 To Kz
If Val(Flg.TextMatrix(T, 2)) > Val(Flg.TextMatrix(L, 2)) Then T = L
Next L
If T <> I Then
For J = 0 To 2
Q = Flg.TextMatrix(I, J): Flg.TextMatrix(I, J) = Flg.TextMatrix(T, J)
Flg.TextMatrix(T, J) = Q
Next J
End If
Next I
End If
Flg.Cols = 2
If Kz = 0 Then Flg.TextMatrix(Kz, 0) = "Нет таких записей в таблице PR"
End Sub
Рисунок 17. Вид справки №1
Справка №2
Таблица GL
Private Sub mnuSpravka2_Click()
Dim I As Integer
Dim Kz As Integer
Label3.Caption = "Справка №2(по таблице GL)"
Flp.Cols = 2: Flp.Rows = 1: Kz = 0
Flp.TextMatrix(0, 0) = Data2.Recordset.Fields(0).Name
Data2.Recordset.MoveFirst
For I = 1 To Data2.Recordset.RecordCount
If Data2.Recordset.Fields(3).Value > 15 Then
Flp.Rows = Flp.Rows + 1: Kz = Flp.Rows - 1
Flp.TextMatrix(Kz, 0) = Data2.Recordset.Fields(0).Value
Flp.TextMatrix(Kz, 1) = Data2.Recordset.Fields(1).Value
End If
Data2.Recordset.MoveNext
Next I
If Kz > 1 Then
For I = 1 To Kz - 1
T = I
For L = I + 1 To Kz
If Val(Flp.TextMatrix(T, 1)) < Val(Flp.TextMatrix(L, 1)) Then T = L
Next L
If T <> I Then
For J = 0 To 1
Flp.TextMatrix(T, J) = Q
Next J
End If
Next I
End If
Flp.Cols = 1
If Kz = 0 Then Flp.TextMatrix(Kz, 0) = "Нет таких записей в таблице GL"
End Sub
Рисунок 18. Вид справки №2
Справка №3
Таблица PR и GL
Private Sub mnuSpravka3_Click()
Dim I As Integer, J as Integer
Dim Kz As Integer
Label5.Caption = "Справка №3(по таблицам GL и PR)"
Fls.Cols = 5: Fls.Rows = 1: Kz = 0
Fls.TextMatrix(0, 0) = Data1.Recordset.Fields(1).Name
Fls.TextMatrix(0, 1) = Data1.Recordset.Fields(2).Name
Fls.TextMatrix(0, 2) = Data1.Recordset.Fields(3).Name
Fls.TextMatrix(0, 3) = Data2.Recordset.Fields(1).Name
Fls.TextMatrix(0, 4) = Data2.Recordset.Fields(2).Name
Data1.Recordset.MoveFirst
For I = 1 To Data1.Recordset.RecordCount
Data2.Recordset.MoveFirst
For J = 1 To Data2.Recordset.RecordCount
If Data2.Recordset.Fields(0) = Data1.Recordset.Fields(0) Then
If Data1.Recordset.Fields(2).Value > 5000 And Data2.Recordset.Fields(1).Value > 20 And Data2.Recordset.Fields(2).Value > 20 Then
Fls.Rows = Fls.Rows + 1: Kz = Fls.Rows - 1
Fls.TextMatrix(Kz, 0) = Data1.Recordset.Fields(1).Value
Fls.TextMatrix(Kz, 1) = Data1.Recordset.Fields(2).Value
Fls.TextMatrix(Kz, 2) = Data1.Recordset.Fields(3).Value
Fls.TextMatrix(Kz, 3) = Data2.Recordset.Fields(1).Value
Fls.TextMatrix(Kz, 4) = Data2.Recordset.Fields(2).Value
End If
End If
Data2.Recordset.MoveNext
Next J
Data1.Recordset.MoveNext
Next I
If Kz = 0 Then Fls.TextMatrix(Kz, 0) = "Нет записей удовлетворяющих условие"
End Sub
Рисунок 18. Вид справки №3
Документ
Private Sub mnuDoc1_Click()
Dim I As Integer, J as Integer
Dim Kz As Integer
Label5.Caption = "Документ"
Fls.Cols = 3: Fls.Rows = 1: Kz = 0
Fls.TextMatrix(0, 0) = Data1.Recordset.Fields(1).Name
Fls.TextMatrix(0, 1) = "% сотрудников обеспеченных жильем"
Fls.TextMatrix(0, 2) = "Продукция на одного рабочего(в руб.)"
Data1.Recordset.MoveFirst
For I = 1 To Data1.Recordset.RecordCount
Data2.Recordset.MoveFirst
For J = 1 To Data2.Recordset.RecordCount
If Data2.Recordset.Fields(0) = Data1.Recordset.Fields(0) Then
If Data2.Recordset.Fields(1).Value + Data2.Recordset.Fields(2).Value + Data2.Recordset.Fields(3).Value <= 30 Then
Fls.Rows = Fls.Rows + 1: Kz = Fls.Rows - 1
Fls.TextMatrix(Kz, 0) = Data1.Recordset.Fields(1).Value
Fls.TextMatrix(Kz, 1) = 100 - (Data2.Recordset.Fields(1).Value + Data2.Recordset.Fields(2).Value + Data2.Recordset.Fields(3).Value)
Fls.TextMatrix(Kz, 2) = Data1.Recordset.Fields(3).Value / Data1.Recordset.Fields(2).Value
End If
End If
Data2.Recordset.MoveNext
Next J
Data1.Recordset.MoveNext
Next I
If Kz = 0 Then Fls.TextMatrix(Kz, 0) = "Нет записей удовлетворяющих условие"
End Sub
Рисунок 20. Документ
Заключение
В данной курсовой работе по созданию и обработке Баз данных средствами Visual Basic 6.0, в разрабатываемом программном проекте я предпочел использовать пользовательское меню по следующим причинам:
- Отпадает необходимость создания отдельных экранных форм для решения каждой задачи программного проекта.
- Намного упрощается работа с проектом, так как результаты отдельных задач проекта не обращаются к другим, формам.
- На экранной форме проекта отсутствую командные кнопки, роль которых на себя берут пункты меню.
- Управление проектом становиться гораздо проще, легче и даже комфортнее - устраняется неясность в последовательности активизации командных кнопок при выполнении программного проекта.
- Программный проект объединен в единое целое.