понедельник, 28 декабря 2015 г.

Microsoft Access. Создание модуля VBA

Под модулем в Microsoft Access понимается набор программ, написанных на языке Visual Basic.
Когда Вы разрабатываете базу данных, Вам потребуются общие программы, которые можно использовать при работе с формами или другими элементами базы данных. Давайте напишем небольшую программу, которая создает модуль «Настройка» путем импорта готовых Basic-программ.

На этом снимке базы данных показано меню для упрвления моделем. К сожалению кнопки очень небольшие и их невидно. Используйте Alt+F11 для открытия модуля



    Public Function funCreateModule() As Boolean
        On Error GoTo 999 'Переход по ошибке
        funImportModule("Настройка.bas""Настройка"'<5> Добавляем программу
        Exit Function 'Выход из программы
999:
        MsgBox Err.Description 'Сообщаем об ошибке
        Err.Clear() 'Очищаем поток от ошибок
    End Function

Импорт программ модуля

Эта функция является продолжением предыдущих действий, описанных выше. С помощью нее мы сможем прочитать модуль «Настройка.bas» из папки «Программы» и разместить ее у себя в  базе данных.
    'Параметры:
    '   strBasic - название файла «Настройка.bas»
    '   strModule - название модуля «Настройка»
    '
    Public Function funImportModule(strBasic As String, strModule As StringAs Boolean
        Dim sFullPath As String
        On Error GoTo 999
        sFullPath = appFolder & "\Программы\" & strBasic 'Составляем файл
        If Dir(sFullPath) <> "" Then 'Проверяем файл
            With appAccess 'Указываем приложение
                .VBE.ActiveVBProject.VBComponents.Import sFullPath 'Импортируем программу
                .DoCmd.Save(acModule, strModule) 'Сохраняем программу
            End With
        Else
            MsgBox "Файл: " & sFullPath & " не существует!" 'Сообщаем об ошибке
        End If
        Exit Function 'Выходим из программы
999:
        MsgBox Err.Description 'Сообщаем об ошибке
        Err.Clear() 'Очищаем поток от ошибок
    End Function

Выключить панели инструментов

В предыдущем примере мы с Вами импортировали модуль «Настройка.bas».  Далее дается описание программы, которая есть в этом модуле. Назначение ее - выключить все панели инструментов, чтобы они не мешали работе Калькулятора.
Public Sub subBarOff()
     Dim cbr As CommandBar
     Application.SetOption("Строка состояния"False'Гасим строку состояния
     For Each cbr In Application.CommandBars 'Проверяем все панели
         If cbr.Visible = True Then 'Проверяем отображение
             DoCmd.ShowToolbar(cbr.Name, acToolbarNo) 'Гасим панель
         End If
     Next cbr
 End Sub

Включить панель отчетов

В этом разделе опишем еще одну программу модуля «Настройка».  Используется она для работы с отчетами. Назначение ее - включить панель отчетов, чтобы пользователь смог отпечатать  список расчета калькулятора.
Public Sub subBarReport()
    subBarOff() 'Гасим все панели
    DoCmd.ShowToolbar("Строка меню", acToolbarYes) 'Отображаем
    DoCmd.ShowToolbar("Предварительный просмотр", acToolbarYes) 'Отображаем
End Sub

Проверка знаний

Теперь Вы научились создавать внешние функции, используя средства импорта Microsoft Access 2000. Для просмотра разработанных Вами объектов базы данных нажмите кнопку [Проверка N5]
На следующем этапе проектирования мы будем создавать форму «Мой калькулятор» с запросами и программами, которые были разработаны в предыдущих лекциях. Этот этап создания базы данных самый сложный.

Итак, если Вы устали, то лучше отдохнуть 5 минут и 10 секунд. Если же Вам не терпится стать профессионалом и  быстрее начать зарабатывать деньги разработкой баз данных, то нажмите кнопку Вперед>

ОГЛАВЛЕНИЕ

ССЫЛКИ ПО ТЕМЕ

Загрузить исходники по теме (скоро …)

Комментариев нет: