Содержимое

# Access2Base

## Что такое Access2Base?

Access2Base — это библиотека макросов LibreOffice BASIC для разработчиков (коммерческих или частных) приложений, а также для продвинутых пользователей. Это одна из библиотек, входящих в состав области хранения «Макросы и диалоговые окна приложений».

Все функциональные возможности, предоставляемые макросами, имеют непосредственное происхождение от Microsoft Access. Обычно макросы вызываются из приложения LibreOffice Base, а также из любого другого документа LibreOffice (Writer, Calc, …), которому необходим доступ к данным из базы данных.

API, предоставляемый Access2Base, короче, интуитивно понятнее и проще в освоении, чем стандартный UNO API (API = Appication Programming Interface, интерфейс прикладного программирования).

Эта библиотека документирована онлайн на сайте http://www.access2base.com.

## Реализованные макросы включают в себя:

1. простой и расширяемый API для манипуляций с формами , диалогами и элементами управления , аналогичными объектной модели Microsoft Access,

2. API для доступа к объектам баз данных таблицы, запроса, recordset и записи,

3. ряд действий с синтаксисом, идентичным соответствующим макросам/действиям Microsoft Access,

4. DLookup, DSum, ... функции баз данных,

5. поддержка сокращённых обозначений, таких как Forms!myForm!myControl

в дополнение

6. последовательный обработчик ошибок и исключений,

7. средства для программирования форм, диалогов и управления событиями и

8. поддержка как встроенных форм, так и автономных (Writer) форм.

## Сравнение Access2Base с Microsoft Access VBA

       REM Open a form ...
                 OpenForm("myForm")
       REM Move a form to new left-top coordinates ...
                 Dim ofForm As Object  ' In VBA =>  Dim ofForm As Form
                 Set ofForm = Forms("myForm")
                 ofForm.Move(100, 200)
       REM Get the value of a control ...
                 Dim ocControl As Object
                 ocControl = ofForm.Controls("myControl")
                 MsgBox ocControl.Value
       REM Hide a control ...
                 ocControl.Visible = False
       REM ... or alternatively ...
                 setValue("Forms!myForm!myControl.Visible", False)  '  Shortcut notation
                 ' In VBA =>  Forms!myForm!myControl.Visible = False