Смекни!
smekni.com

Создание и обработка баз данных средствами языка Visual Basic 60 (стр. 2 из 3)

Заполнение созданных таблиц БД исходными данными

Для заполнения созданных таблиц БД исходными данными выполняются следующие действия:

1. Вход в среду проектирования, выбрав пиктограмму StandardEXE.

2. В Главном меню Главной панели проекта VisualBasic 6.0 выберем опцию Add-Ins (Добавления), а в ней команду VisualDataManager (Визуальный менеджер данных). Раскроется панель приложения VisData.

3. Выполняется последовательность команд:

File – Open Data Base – Microsoft Access

4. Открыть базу данных клавишей Открыть, предварительно выделив мышкой имя – раскрывается панель приложения VisData со структурой базы данных, включающей в себя таблицы VIP и PROD.

5. Щелчком правой клавиши мыши по таблице VIP или PROD раскрывается контекстное меню выбора опций модификаций структур таблиц базы данных. Вначале заполним таблицу VIP.

Выбрав опцию Open, раскроем окно модификаций таблиц базы данных.

6. Выбрав опцию Add модем осуществлять ввод записей – конкретных значений полей таблицы.

7. Ввод записей в создаваемую Базу Данных завершается нажатием кнопки Close.

Аналогичные действия выполняются для заполнения таблицы Spec.

Создана база данных, содержащая 2 таблицы, заполненных конкретными записями.


4. Чтение созданной Базы Данных

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

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

4.2Экранная форма в исходном состоянии

5. Обработка Созданной Базы Данных

5.1 Выполнение запроса по таблице VIP

Справка 1: Виды продукции, фактический выпуск которых монотонно возрастает по кварталам. Записи справки упорядочить по возрастанию номеров цехов.

Макет справки 1.

Шифр продукции Наименование цеха Фактический выпуск по кварталам
1‑й кв 2‑й кв. 3‑й кв. 4‑й кв.

5.1.1 Алгоритм Запроса 1 (справки 1) по таблице VIP


5.1.2 Экранная форма (интерфейс) и её описание

Для компоновки Экранной формы были использованы следующие элементы управления окна Toolbox:

Элемент управления Data с именем Data1, обеспечивающий доступ к базе данных

Элемент управления Data с именем Data2, обеспечивающий доступ к базе данных

Не входящий в базовый набор элемент управления MSFlexGrid с именем Grid1 и Grid2, служащие для непросредственного отображения записей таблицы VIP и PROD;

Командные кнопки CommandButton с именами Command1, Command2, Command 3, Command 4, Command5 предназначенные для вывода справок и выхода из программы.

Свойства элемента Data1:

Caption = Таблица VIP

Name = Data1

Connect Access

RecordSource =0

DataBaseName = C:\base.mdb

Свойства элемента Data2:

Caption = Таблица PROD

Name = Data2

Connect = Access

RecordSource = Spec

RecordSetType = 0

DataBaseName = C:\base.mdb

Свойстваэлементов MSFlexGrid:

Name = Grid1

Fixed Cols = 0

Fixed Rows = 1

DataSource = Data1

Name = Grid2

Fixed Cols = 0

Fixed Rows = 1

DataSource = Data2

Name = Grid3

Fixed Cols = 0

Fixed Rows = 1

Visible = False

5.1.3 Программа запроса по таблице VIP

Private Sub Command1_Click()

Dim I%, K%, Kz%, T%, H%, J%, Zeh%

Dim P As String

Dim Cn As String

grid3. Visible = True

Data1. Visible = False

Data2. Visible = False

Data1. Recordset. MoveFirst

grid3. Rows = 1: grid3. Cols = 6

ForI = 0 To 1 'Дадим названия полей из таблицы БД полям в гибкой сетке

grid3. TextMatrix (0, I) = Data1. Recordset. Fields(I).Name

Data1. Recordset. MoveFirst

Next I

For I = 6 To 9

grid3. TextMatrix (0, I – 4) = Data1. Recordset. Fields(I).Name

Data1. Recordset. MoveFirst

Next I

For I = 1 To Data1. Recordset. RecordCount'Отбор продуктов, факт. выпуск которых равномерно возрастал

If Data1. Recordset. Fields(6).Value < Data1. Recordset. Fields(7).Value And Data1. Recordset. Fields(7).Value < Data1. Recordset. Fields(8).Value And Data1. Recordset. Fields(8).Value < Data1. Recordset. Fields(9).Value Then

grid3. Rows = grid3. Rows + 1: Kz = grid3. Rows – 1

For L = 0 To 1

grid3. TextMatrix (Kz, L) = Data1. Recordset. Fields(L).Value

Next L

For L = 6 To 9

grid3. TextMatrix (Kz, L – 4) = Data1. Recordset. Fields(L).Value

Next L

End If

Data1. Recordset. MoveNext

Next I

grid3. Col = 1 'Выберем колонку для сортировки

grid3. Sort = 1 'Сортируем строчки по нисходящей

EndSub

Экранная форма в исходном состоянии

5.1.4 Экранная форма с выходными результатами

5.2 Выполнение Запроса 2 (справки 2) по таблице PROD

Справка 2. Виды продукции, имеющие сертификат качества. Названия которых начинается с букв от «Г» до «Т».

Шифр продукции Наименование продукции Наличие сертификата качества

5.2.1 Алгоритм Запроса 2 (справки2) по таблице PROD

5.2.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:&bsol;base.mdb

Caption = Таблица PROD

Name = Data2

Connect = Access

RecordSource = PROD

RecordSetType=0 (изтаблицы)

DataBaseName=C:&bsol;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

ForI = 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