Module
Contents
Index 🔎︎

# 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 mezi makry a dialogovými okny LibreOffice.

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