Разработка базы данных "Микроконтроллеры", страница 11

Разработка интерфейса для базы данных «Микроконтроллеры» проводилась с использованием форм  и программной реализации событий на Visual Basic for Application. Соответствующей настройке подвергся и стандартный интерфейс системы управления базами данных Microsoft Access, поскольку не все его элементы требуются для работы стандартному пользователю (не администратору).

            1) Разработка интерфейса для работы с запросом на поиск данных о цене микроконтроллеров:

С помощью мастера форм и конструктора форм для каждого из 4 запросов, относящихся к поиску данных о цене микроконтроллеров, были созданы свои формы (рис.32.), которые являются подчиненными основной форме «Данные о цене определенного микроконтроллера» (рис.33.). В ней предусмотрен ввод разрядности, от значения которой зависит загрузка той или иной подчиненной формы. А текстовое поле «название семейства микроконтроллера» связано через построитель выражений и редактор SQL-выражений с условиями запросов.

Процедура нажатия кнопки «Начать поиск»:

Private Sub FindButton_Click()

MCraz = ScaleBox.Value

If FamilyBox.Value = "" Or FamilyBox.Value = Null Then

MsgBox "Необходимо ввести название семейства требуемого микроконтроллера!", vbExclamation, "Ошибка ввода данных"

End If

If MCraz = 8 Then

        stDocName = "Запрос по ценам на 8-разрядные микроконтроллеры"

        SubForm.Visible = True

        SubForm.SourceObject = stDocName

    ElseIf MCraz = 16 Then

        stDocName = "Запрос по ценам на 16-разрядные микроконтроллеры"

        SubForm.Visible = True

        SubForm.SourceObject = stDocName

    ElseIf MCraz = 32 Then

        stDocName = "Запрос по ценам на 32-разрядные микроконтроллеры"

        SubForm.Visible = True

        SubForm.SourceObject = stDocName

    ElseIf MCraz = 64 Then

        stDocName = "Запрос по ценам на 64-разрядные микроконтроллеры"

        SubForm.Visible = True

        SubForm.SourceObject = stDocName

Else

MsgBox "Введена несуществующая разрядность! Пожалуйста, попробуйте еще раз.", vbExclamation, "Ошибка ввода данных"

DoCmd.CancelEvent

End If

End Sub

Рис.32.   Пример формы для запроса по ценам на 32-разрядные микроконтроллеры.

Рис.33.   Основная форма «Данные о цене определенного микроконтроллера».

2) Разработка интерфейса для работы с запросом на поиск сведений о количестве заказанных микроконтроллеров аналогична разработке интерфейса предыдущего запроса. В данном случае формы запросов (рис.34.) подчиняются форме «Сведения о количестве заказанных микроконтроллеров» (рис.35.).

            Процедура нажатия кнопки «Получить сведения»:

Private Sub RunQuery_Click()

On Error GoTo Err_RunQuery_Click

    Dim MCraz As Integer

G100:

   MCraz = InputBox("Введите разрядность запрашиваемого контроллера", "Ввод разрядности")

    If MCraz = 8 Then

        stDocName = "Количество заказанных микроконтроллеров (8-разрядные)"

        QueryForm.Visible = True

        QueryForm.SourceObject = stDocName

    ElseIf MCraz = 16 Then

        stDocName = "Количество заказанных микроконтроллеров (16-разрядные)"

        QueryForm.Visible = True

        QueryForm.SourceObject = stDocName

    ElseIf MCraz = 32 Then

        stDocName = "Количество заказанных микроконтроллеров (32-разрядные)"

        QueryForm.Visible = True

        QueryForm.SourceObject = stDocName

    ElseIf MCraz = 64 Then

        stDocName = "Количество заказанных микроконтроллеров (64-разрядные)"

        QueryForm.Visible = True

        QueryForm.SourceObject = stDocName

Else

MsgBox "Введена несуществующая разрядность! Пожалуйста, попробуйте еще раз.", vbOKOnly, "Ошибка ввода"

GoTo G100

End If

Exit_RunQuery_Click:

    Exit Sub

Err_RunQuery_Click:

    MsgBox Err.Description

    Resume Exit_RunQuery_Click

End Sub

Рис.34.   Пример формы для запроса по ценам на 32-разрядные микроконтроллеры.

Рис.35.   Основная форма «Сведения о количестве заказанных микроконтроллеров».

3) Разработка интерфейса для работы с запросом на поиск микроконтроллеров с указанными параметрами:

Изначально, с помощью мастера форм и конструктора форм для каждого из 4 запросов, относящихся к поиску микроконтроллеров с указанными параметрами, были созданы свои формы. Их назначение – вывод большого числа характеристик микроконтроллера на экран монитора[2]. Пример такой формы представлен на рис.36.

Рис.36.   Пример формы для запроса на поиск 32-разрядных микроконтроллеров.

            Далее была разработана основная форма поиска по заданным параметрам для микроконтроллеров (рис.37.). Ее текстовые блоки были связаны с условиями запросов через построитель выражений и редактор SQL-выражений.

            По процедуре нажатия кнопки «Поиск» ведется обработка запросов и вывод их форм в соответствии с указанной разрядностью.

Private Sub FindButton_Click()

Form.Visible = False

MCraz = ScaleBox.Value

If MCraz = 8 Then

        stDocName = "Основной запрос по 8-разрядным микроконтроллерам"

        DoCmd.OpenForm stDocName

    ElseIf MCraz = 16 Then

        stDocName = "Основной запрос по 16-разрядным микроконтроллерам"

        DoCmd.OpenForm stDocName

    ElseIf MCraz = 32 Then

        stDocName = "Основной запрос по 32-разрядным микроконтроллерам"

        DoCmd.OpenForm stDocName

    ElseIf MCraz = 64 Then

        stDocName = "Основной запрос по 64-разрядным микроконтроллерам"

        DoCmd.OpenForm stDocName

Else

MsgBox "Введена несуществующая разрядность! Пожалуйста, попробуйте еще раз.", vbExclamation, "Ошибка ввода данных"

Form.Visible = True

DoCmd.CancelEvent

End If

End Sub