Access2Base
Que é Access2Base?
Access2Base é unha biblioteca de macros do Basic do LibreOffice para desenvolvedores de aplicativos (de negocios ou persoal) e usuarios avanzados. É unha das bibliotecas almacenadas en «Macros e diálogos do LibreOffice».
As funcionalidades fornecidas polas macros incluídas están todas inspiradas directamente no Access da Microsoft. As macros poden ser chamadas principalmente desde un aplicativo Base do LibreOffice, mais tamén desde calquera documento do LibreOffice (Writer, Calc,..) no que teña sentido acceder a datos almacenados nunha base de datos.
A API fornecida por Access2Base pretende ser máis concisa, intuitiva e fácil de utilizar que a API estándar de UNO (API=Interface de Programación de Aplicativos).
A biblioteca está documentada na rede en http://www.access2base.com
As macros implementadas inclúen:
-
unha API simplificada e extensíbel para a manipulación de formularios, diálogos e controis semellante ao modelo de obxectos do Access da Microsoft
-
unha API para acceder a bases de datos cos obxectos táboa, consulta, rexistro e campo
-
diversas accións cunha sintaxe idéntica á das macros/accións correspondentes do Access da Microsoft
-
as funcións de base de datos DLookup, DSum, ...
-
a compatibilidade coas notacións de atallo do tipo Forms!myForm!myControl
e ademais
-
un manipulador de erros e excepcións consistente
-
facilidades para programar eventos de formularios, diálogos e controles
-
a compatibilidade con formularios incorporados ou autónomos (Writer).
Compare Access2Base con MSAccess 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