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

Microsoft Access. Определение переменных

Изучение программирования Microsoft Access начинаем с определения глобальных переменных.

Переменные бывают локальными и глобальными. Локальные - действуют на уровне функций, глобальные доступны из любого места программы. Существуют также и другие ограничения видимости переменных, например, классы. Для определения переменных в Access и ввода кода на Visual Basic существует специальная среда для работы с этими программами.


На этом снимке отображается специальная среда для ввода кода VBA и его отладки. С помощью ее разработчики вводят, проверяют на ошибки и отлаживают код (Debug). Функциональность среды разработки программ в Access 2016 версии не изменилась по сравнению с Access 2000, наоборот уменьшилась. Нет репликации, проектов adp и т.п.


Для начала определим название нашей программы. Пусть это будет приложение Microsoft Access «Новый калькулятор.mdb». Разработку его начнем с описания переменных, констант, которые потребуются при создании нашей базы данных.
appAccess – это объектная переменная, в которой мы будем создавать новую базу данных
appCM – это константа, которая управляет размером управляющих элементов в формах, отчетах. В Access элементы измеряются в твипах, а нам удобнее указывать размеры в сантиметрах, поэтому, и вводим эту переменную.
appFolder – эта переменная будет содержать главный каталог нашего приложения. Далее мы будем использовать ее для загрузки рисунков, программ, справки и других внешних элементов базы данных
Public appAccess As Access.Application 'Приложение программы
Public Const appCM As Integer = 567  'Размерность (1см=567 твип)
Public appFolder As String 'Папка приложения

Создание приложения

Продолжим создание приложения с разработки всех функций, которые требуются для работы базы данных. Сначала программным способом, т.е. без мастеров, создадим базу данных, затем таблицы, запросы и т.д.
Создадим главную функцию, которая будет связывать в единое целое создание объектов: таблиц, запросов, форм и т.п.

На этом снимке отображается файл Новый калькулятор.mdb, в котором будут создаваться таблицы, формы и другие объекты.

Public Function funCreateApp() As Boolean
    On Error GoTo 999 'Назначаем переход по ошибке
    appAccess = New Access.Application 'Создаем приложение
    appFolder = funGetAppFolder '<1> Находим папку
    funCreateDatabase "Новый калькулятор.mdb" '<2> Создаем базу данных
    funCreateTable "Калькулятор" '<3> Создаем таблицу
    funCreateQueries() '<4> Создаем запросы
    funCreateModule() '<5> Импортируем модули
    funCreateForm "Мой калькулятор"   '<6> Создаем форму
    funCreateReport "Отчет об итогах" '<7> Создаем отчет
    funCreateMacro "AutoExec" '<8> Создаем макрос
    funImportModule("Справка.bas""Справка"'<9> Создаем справку
    funCreateMenu "Калькулятор" '<10> Создаем меню
    funCloseDatabase "Новый калькулятор.mdb" '<2> Закрываем программу
    funCreateApp = True 'Возвращаем значение
    Exit Function 'Выходим из программы
999:
    MsgBox Err.Description 'Сообщаем об ошибке
    Err.Clear() 'Очищаем поток от ошибок
End Function

Папка приложения

Профессионально выполненная программа всегда имеет внешние файлы, например basic-программы, рисунки *.bmp. Чтобы к ним обеспечить быстрый доступ, напишем функцию, которая будет определять папку, где установлена основная программа.
Применяется эта программа для назначения данных глобальной переменной appFolder

На этом снимке отображается папка программы, название которой
мы хотим получить

Public Function funGetAppFolder() As String
    Dim fs
    On Error GoTo 999  'Назначаем переход по ошибке
    fs = CreateObject("Scripting.FileSystemObject"'Создаем файловую систему
    funGetAppFolder = fs.GetFile(CurrentDb.Name).ParentFolder 'Находим папку
    fs = Nothing 'Уничтожаем переменную
    Exit Function 'Выходим из программы
999:
    MsgBox Err.Description 'Сообщаем об ошибке
    Err.Clear() 'Очищаем поток от ошибок
End Function

ОГЛАВЛЕНИЕ

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

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


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