Учебная работа. Курсовая работа: Создание и обработка Баз данных средствами Visual Basic 60
Государственное образовательное учреждение высшего проф образования «ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ УПРАВЛЕНИЯ»
Кафедра КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
Курсовой проект по дисциплине
«Компьютерная подготовка»
На тему:
«Создание и обработка Баз данных средствами 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%.
Наименование компании
Численность персонала
Объём выпускаемой продукции в руб.
Отсутствие жилища
Нуждающиеся в улучшении
Создание документа:
Сведения о объеме выпускаемой продукции на 1-го работающего на предприятиях, выше 70% служащих которых имеют обычные жилищные условия.
Наименование компании
% служащих обеспеченных жильем
Продукция на 1-го работающего (в руб.)
Начальные данные
Таблица 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, а во 2-м подменю- 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 употребляется 5 различных типов данных. Для хранения целочисленных данных будем применять тип 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 и, выполнив те же шаги, сделаем в Базе данных БД структуру 2-ой таблицы 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. Окно редактора раскрывается на активной форме 3-мя методами:
— основное Меню — Инструменты — Редактор меню (меню Editor);
— Нажатием на линейке инструментов Главной панели системы VB 6.0 клавиши;
— Нажатием кнопок CTRL + E
Набросок 11. Окно редактора меню
Обычно меню состоит из нескольких уровней. Верхний — это строчка меню, которую именуют головным (распологающемся в голове) меню. Любой пункт Головного меню может включать подменю из 1-го либо нескольких пт. Любой последующий пункт, в свою очередь, может включать свое подменю и т.д.
Открываем окно редактора меню на Form1. Form1 употребляется как
основная. В окне редактора и осуществим конструирование Пользовательского меню.
Опосля вызова редактора требуется заполнить его необходимыми данными. Поначалу в окно Caption (заголовок) вводится имя пт меню, под
которым оно будет выводиться в строке меню на форме. Для резвого открытия меню в поле Заголовок можно указать т.н. жаркую кнопку. Это делается записью амперсанда (&) перед соответственной буковкой.
Потом нажимаемся TAB и вводится в окно имя неповторимое имя пт
Меню в программке. Оно обязано состоять из последующих частей:
— Префикса mnu, указывающего, что имя относится к меню;
— Собственного имени.
Не считая параметров Заголовок, имя элементы меню имеют еще три характеристики, способные принимать
Отмечено (Checked) —дозволяет отметить избранный элемент эмблемой ,
Включено (Enabled) — дозволяет включить либо выключить команды
меню во время выполнения программки эмблемой .
Видимо (Visible) -позволяет показать либо скрыть отдельные элементы меню (заместо блокировки) эмблемой
Элементы конструирования структуры Меню разрешают:
устанавливать уровни Меню стрелками:
сдвигает элемент на уровень ниже,
сдвигает элемент на уровень выше,
перемещают элементы в перечне частей 1-го уровня
перемещать указатель к последующему Меню («Далее» (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) = «Продукция на 1-го рабочего(в руб.)»
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, в разрабатываемом программном проекте я предпочел применять пользовательское меню по последующим причинам:
— Отпадает необходимость сотворения отдельных экранных форм для решения каждой задачки программного проекта.
— Намного упрощается работа с проектом, потому что результаты отдельных задач проекта не обращаются к остальным, формам.
— На экранной форме проекта отсутствую командные клавиши, роль которых на себя берут пункты меню.
— Управление проектом становиться еще проще, легче и даже комфортнее — устраняется неясность в последовательности активизации командных клавиш при выполнении программного проекта.
— Программный проект объединен в единое целое.
]]>