Съдържание

# Access2Base

## Какво е Access2Base?

Access2Base е библиотека от макроси на LibreOffice BASIC за разработчици на приложения (лични или за бизнеса) и напреднали потребители. Тя е една от библиотеките в хранилището „Макроси и диалози на приложението“.

Цялата функционалност, предлагана от реализираните макроси, е пряко подсказана от Microsoft Access. Макросите могат да се извикват главно от приложението LibreOffice Base, но също и от произволен документ на LibreOffice (Writer, Calc, ...), в който има смисъл обръщението към данни, съхранявани в база от данни.

ППИ на Access2Base е създаден с намерение да бъде по-стегнат, интуитивен и лесен за научаване от стандартния ППИ на UNO (ППИ = приложен програмен интерфейс, англ. API, Application Programming Interface).

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

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

1. опростен и разширяем ППИ за работа с формуляри, диалогови прозорци и контроли, подобен на обектния модел на Microsoft Access,

2. ППИ за достъп до бази от данни с обекти за таблица, заявка, набор от записи и поле,

3. набор от действия със синтаксис, идентичен на съответните им макроси/действия от Microsoft Access,

4. функциите за бази от данни DLookup, DSum и пр.,

5. поддръжка за съкратен запис от типа на Формуляри!моятФормуляр!моятаКонтрола

а освен това

6. унифицирана обработка на грешки и изключения,

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

8. поддръжка както за вградени, така и за самостоятелни формуляри (на Writer).

## Сравнение между Access2Base и VBA в Microsoft Access

       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