Для компоновки экранной формы были использованы следующие элементы управления окна 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
Экранная форма в исходном состоянии
Программа Запроса (справки 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. Row s – 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
Экранная форма с выходными результатами
Выполнение запроса по таблицам VIP и PROD
Справка 3. Виды продукции с сертификатом качества, план по которым не выполняется в 1‑ом и 4‑ом кварталах и которые производятся в цехах с номерами 3 и 5.
Шифр продукции | Наименование продукции | Сертификат качества | Номер цеха | Фактический выпуск по кварталам | |||
1‑й кв | 2‑й кв. | 3‑й кв. | 4‑й кв. | ||||
Алгоритм выполнения запроса по таблицам VIP и PROD
Программа совместного запроса по таблицам 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. R ecordset. 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