Экранная форма и ее описание

Для компоновки экранной формы были использованы следующие элементы управления окна 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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: