Obsah

# Access2Base

## Co je Access2Base?

Access2Base je knihovna maker LibreOffice Basic určená pro vývojáře aplikací (firemních nebo soukromých) a pokročilé uživatele. Jedná se o jednu z knihoven uložených v části „Makra a dialogová okna aplikace“.

Všechny funkce implementované v těchto makrech jsou přímo inspirovány aplikací Microsoft Access. Makra lze volat zejména z aplikace LibreOffice Base, ale také z jakéhokoliv dokumentu LibreOffice (Writer, Calc, ...), v němž se přistupuje k datům uloženým v databázi.

Access2Base poskytuje API, jehož účelem je být stručnější, intuitivnější a snazší na naučení než standardní UNO API (API = Application Programming Interface, rozhraní pro programování aplikací).

Dokumentace ke knihovně je dostupná online na http://www.access2base.com.

## Implementovaná makra zahrnují:

1. zjednodušené a rozšířitelné API pro manipulace s formuláři, dialogovými okny a ovládacími prvky, podobné objektovému modelu aplikace Microsoft Access,

2. API pro přístup do databáze s objekty tabulka, dotaz, sada záznamů a pole,

3. množství akcí se stejnou syntaxí, jakou mají odpovídající makra nebo akce aplikace Microsoft Access,

4. databázové funkce DLookup, DSum, ...,

5. podporu zkráceného zápisu jako Forms!myForm!myControl

a navíc

6. konzistentní správu chyb a výjimek,

7. možnosti programování událostí formulářů, dialogů a ovládacích prvků a

8. podporu vložených a samostatných (Writer) formulářů.

## Porovnání Access2Base a 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