p align="left">Свойства элемента Data1: Caption = Таблица VIP Name = Data1 Connect = Access RecordSource = VIP RecordSetType=0 (из таблицы) DataBaseName=C:\base.mdb Caption = Таблица PROD Name = Data2 Connect = Access RecordSource = PROD RecordSetType=0 (из таблицы) DataBaseName=C:\base.mdb Свойства элемента MSFlexGrid: Name = Grid1 Data Source = Data1 Fixed Cols = 0 Fixed Rows = 1 Name = Grid2 Data Source = Data2 Fixed Cols = 0 Fixed Rows = 1 Name = Grid3 Data Source = Fixed Cols = 0 Fixed Rows = 1 Экранная форма в исходном состоянии
5.2.3 Программа Запроса (справки 2) по таблице PROD Private Sub Command2_Click() Dim I%, K%, Kz%, L% Dim P As String P = «ГДЕЖЗИКЛМНОПРСТ» grid3. Visible = True Data1. Visible = False Data2. Visible = False Data2. Recordset. MoveFirst grid3. Rows = 1: grid3. Cols = 3 grid3. TextMatrix (0, 0) = Data2. Recordset. Fields(0).Name grid3. TextMatrix (0, 1) = Data2. Recordset. Fields(1).Name grid3. TextMatrix (0, 2) = Data2. Recordset. Fields(2).Name Data2. Recordset. MoveFirst For I = 1 To Data2. Recordset. RecordCount If Data2. Recordset. Fields(2).Value = «Да» And (InStr _ (P, Mid (Data2. Recordset. Fields(1).Value, 1, 1))) <> 0 Then grid3. Rows = grid3. Rows + 1: Kz = grid3. Rows - 1 For L = 0 To 2 grid3. TextMatrix (Kz, L) = Data2. Recordset. Fields(L).Value Next L End If Data2. Recordset. MoveNext Next I End Sub 5.2.4 Экранная форма с выходными результатами
5.3 Выполнение запроса по таблицам VIP и PROD Справка 3. Виды продукции с сертификатом качества, план по которым не выполняется в 1_ом и 4_ом кварталах и которые производятся в цехах с номерами 3 и 5. |
Шифр продукции | Наименование продукции | Сертификат качества | Номер цеха | Фактический выпуск по кварталам | | | | | | 1_й кв | 2_й кв. | 3_й кв. | 4_й кв. | | | | | | | | | | | |
5.3.1 Алгоритм выполнения запроса по таблицам VIP и PROD
5.3.2 Программа совместного запроса по таблицам VIP и PROD Private Sub Command4_Click() Dim I%, K%, Kz%, T%, H%, J%, Zeh% grid3. Visible = True Data1. Visible = False Data2. Visible = False Data1. Recordset. MoveFirst Data2. Recordset. MoveFirst grid3. Rows = 1: grid3. Cols = 8 For I = 0 To 2 'Дадим названия полей из таблицы БД полям в гибкой сетке grid3. TextMatrix (0, I) = Data2. Recordset. Fields(I).Name Next I grid3. TextMatrix (0, 3) = Data1. Recordset. Fields(1).Name For I = 6 To 9 grid3. TextMatrix (0, I - 2) = Data1. Recordset. Fields(I).Name Data1. Recordset. MoveFirst Next I For I = 1 To Data1. Recordset. RecordCount 'Отбор сертиф. продуктов, план по которым не выполняется 'в 1 и 4 кварталах и производят которые в цехах 3 и 5. If Data2. Recordset. Fields(2).Value = «Да» And Data1. Recordset. Fields(6) < Data1. Recordset. Fields(2) And Data1. Recordset. Fields(9) < Data1. Recordset. Fields(5) Then If Data1. Recordset. Fields(1) = «3» Or Data1. Recordset. Fields(1) = «5» Then grid3. Rows = grid3. Rows + 1: Kz = grid3. Rows - 1 For L = 0 To 2 grid3. TextMatrix (Kz, L) = Data2. Recordset. Fields(L).Value Next L grid3. TextMatrix (Kz, 3) = Data2. Recordset. Fields(1).Value For L = 6 To 9 grid3. TextMatrix (Kz, L - 2) = Data1. Recordset. Fields(L).Value Next L End If End If Data1. Recordset. MoveNext Data2. Recordset. MoveNext Next I End Sub 5.3.4 Экранная форма с выходными результатами
5.4 Выполнение формирования Итогового документа Создание Документа: Сведения j наиболее ритмичном производстве сертифицированной продукции в 1, 2 и 3 цехах |
Шифр продукции | Наименование продукции | Сертификат Качества | Номер цеха | Показатель ритмичности | | | | | | | | |
Показатель ритмичности производства продукции определяется по формуле: Рос=|F1_P1|+|F2_P2|+|F3_P3|+|F4_P4| где - F1, F2, F3, F4 - фактический поквартальный выпуск продукции - P1, P2, P3, P4 - плановый поквартальный выпуск продукции. Лучшая ритмичность достигается при минимальном Рос. 5.4.1 Алгоритм формирования Итогового Документа 5.4.2 Экранная форма и ее описание Для компоновки экранной формы были использованы следующие элементы управления окна Toolbox: - Элементы управления Data с именами Data1 и Data2, обеспечивающий доступ к Базе Данных; - Не входящий в базовый набор элемент управления MsFlexGrid (гибкая сетка) с именами Grid1, Grid2, Grid3, служащая для непосредственного отображения записей таблиц VIP, PROD и справок. - Командная кнопка Command Button с именами Command1, Command2, Command3, Command4, Command5 Свойства элемента Data1: Caption = Таблица VIP Name = Data1 Connect = Access RecordSource = VIP RecordSetType=0 (из таблицы) DataBaseName=C:\base.mdb Caption = Таблица PROD Name = Data2 Connect = Access RecordSource = PROD RecordSetType=0 (из таблицы) DataBaseName=C:\base.mdb Свойства элемента MSFlexGrid: Name = Grid1 Data Source = Data1 Fixed Cols = 0 Fixed Rows = 1 Name = Grid2 Data Source = Data2 Fixed Cols = 0 Fixed Rows = 1 Name = Grid3 Data Source = Fixed Cols = 0 Fixed Rows = 1 5.4.3 Программа формирования Итогового документа Private Sub Command5_Click() Dim I%, K%, Kz%, T%, H%, J% grid3. Visible = True Data1. Visible = False Data2. Visible = False Data1. Recordset. MoveFirst Data2. Recordset. MoveFirst grid3. Rows = 1: grid3. Cols = 5 For I = 0 To 2 'Дадим названия полей из таблицы БД полям в гибкой сетке grid3. TextMatrix (0, I) = Data2. Recordset. Fields(I).Name Next I grid3. TextMatrix (0, 3) = Data1. Recordset. Fields(1).Name grid3. TextMatrix (0, 4) = «ROS» For I = 1 To Data2. Recordset. RecordCount If Data2. Recordset. Fields(2).Value = «Да» Then If Data1. Recordset. Fields(1) = 1 Or Data1. Recordset. Fields(1) = 2 Or Data1. Recordset. Fields(1) = 3 Then grid3. Rows = grid3. Rows + 1: Kz = grid3. Rows - 1 For L = 0 To 2 grid3. TextMatrix (Kz, L) = Data2. Recordset. Fields(L).Value Next L grid3. TextMatrix (Kz, 3) = Data1. Recordset. Fields(1).Value grid3. TextMatrix (Kz, 4) = Abs (Data1. Recordset. Fields(6) - Data1. Recordset. Fields(2)) + Abs (Data1. Recordset. Fields(7) - Data1. Recordset. Fields(3)) + Abs (Data1. Recordset. Fields(8) - Data1. Recordset. Fields(4)) + Abs (Data1. Recordset. Fields(9) - Data1. Recordset. Fields(5)) End If End If Data1. Recordset. MoveNext Data2. Recordset. MoveNext Next I grid3. Col = 4 'Выберем колонку для сортировки grid3. Sort = 1 'Сортируем строчки по нисходящей End Sub 5.4.4 Экранная форма с выходными результатами
6. Создание пользовательского меню Меню - один из способов диалога пользователя с информационной системой. Оно представляет собой список Пунктов, из которого следует выбрать необходимый. В системе проектирование Visual Basic 6.0 создание Меню осуществляется с помощью Редактора меню Menu Editor. Разработка Пользовательского меню Создана БД из двух таблиц VIP и PROD. Создается двухуровневое меню. Верхний уровень - это строка меню, которую называются Головным Меню. Каждый пункт головного меню может включать подменю из одного или нескольких пунктов. Меню Проекта будет иметь следующих вид:
Конструирование Пользовательского меню осуществляется в окне Редактора меню Menu Editor. При создании меню была выполнена следующая последовательность действий: 1. Формирование меню Справка В окно Название (Свойство Caption) ввести Справка В окно имя (свойство name) ввести mnuSpravka Нажатие Дальше - переход к следующей команде меню Создание отступа (следующий пункт меню - пункт меню другого уровня) Свойству Caption присваивается значение Справка 1, а свойству Name - mnuSpravka1 Нажатие Next Свойству Caption присваивается значение Справка 2, а свойству Name - mnuSpravka2 Далее меню формируется аналогично. При завершении создания меню было произведено нажатие ОК и созданное меню появилось на экранной форме. Отображается верхний уровень меню - головное меню. У меню есть единственное событие Click. Для раскрытия любого пункта меню или запуска любого пункта при выполнении программы достаточно один раз щелкнуть мышкой по выбранном пункту. Для создания реальных процедур в пунктах меню в режиме design осуществим двойной щелчок по соотвествующей кнопке. Двойной щелчок по кнопке меню Распечатка VIP вызовет на форме заготовку процедуры Private Sub mnuSpravka1_Click() …. End Sub В заготовку включаем заранее разработанную и отлаженную процедуру. Такую операцию осуществляем для каждого пункта меню. Теперь оно готов для использования его в режиме выполнения всего проекта. Созданное в окне редактора меню Экранная форма с созданным пользовательским меню Список использованной литературы 1. Michael Halvorson. Microsoft Visual Basic 6.0 Step by Step - Redmond, Washington, USA, 1998 2. С.В. Глушаков, А.С. Сурядный, «Программирование на Visual Basic 6.0». изд «Фолио». М. 2005.
Страницы: 1, 2, 3
|