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í).

Ikona upozornění

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

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

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

  3. 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