Conteúdo

# Access2Base

## O que é o Access2Base?

Access2Base is a LibreOffice BASIC library of macros for (business or personal) application developers and advanced users. It is one of the libraries stored in "Application macros and dialogs".

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.

Pretende-se que a API disponibilizada pelo Access2Base seja incisiva, intuitiva e mais fácil de utilizar do que a API UNO (API = Application Programming Interface).

A biblioteca está devidamente documentada em http://www.access2base.com.

## As macros implementadas incluem:

1. uma API simplificada e extensível para manipulação de formulários, caixas de diálogo e controlos, tal como o modelo de objetos do Microsoft Access,

2. uma API para acesso a bases de dados com objetos de tabelas, consultas, registos e campos,

3. diversas ações que utilizam uma sintaxe idêntica às ações/macros do Microsoft Access,

4. as funções DLookup, DSum,

5. o suporte a notações de atalhos como, por exemplo, Forms!myForm!myControl

adicionalmente

6. um gestor de erros e exceções,

7. facilidades para criar formulários, caixas de diálogo, controlo de eventos e

8. o suporte a formulários incorporados ou individuais (Writer).

## Comparação entre o Access2Base e 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