Access2Base
Què és l'Access2Base?
L'Access2Base és una biblioteca de macros del LibreOffice Basic per a desenvolupadors d'aplicacions (de negocis o personals) i usuaris avançats. És una de les biblioteques emmagatzemades a «Macros i diàlegs del LibreOffice».
The functionalities provided by the implemented macros are all directly inspired by Microsoft Access. The macros are callable mainly from a LibreOffice Base application, but also from any LibreOffice document (Writer, Calc, ...) where access to data stored in a database makes sense.
L'API de l'Access2Base està dissenyada per ser més concisa, intuïtiva i fàcil d'aprendre que l'API estàndard de l'UNO (API = interfície de programació d'aplicacions, per les seves sigles en anglès).

La biblioteca està documentada al web http://www.access2base.com
Les macros implementades inclouen:
-
una API simplificada i extensible per a la manipulació de formularis, diàlegs i controls similar al model d'objectes del Microsoft Access
-
una API per a l'accés a bases de dades amb taules, consultes, conjunts de registres i objectes de camp,
-
un nombre d'accionsamb una sintaxi idèntica a les macros i accions del Microsoft Access corresponents
-
les funcions de base de dades DLookup, DSum, ...
-
el suport de la notació curta com Forms!myForm!myControl
a més
-
un gestor d'errors i excepcions compatible,
-
facilitats per programar esdeveniments per a formularis, diàlegs i controls
-
la compatibilitat amb formularis incrustats i independents (Writer).
Compareu l'Access2Base amb el 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