Conteúdo
Índice 🔎︎

# Access2Base

## O que é o Access2Base?

O Access2Base é uma biblioteca de macros do LibreOffice Basic para programadores e utilizadores avançados (de âmbito pessoal ou empresarial). É uma das bibliotecas existentes em "Macros e caixas de diálogo do LibreOffice".

As funcionalidades disponibilizadas pelas macros implementadas são diretamente inspiradas no Microsoft Access. As macros não só estão disponíveis de dentro do LibreOffice Base, mas também de qualquer documento do LibreOffice (Writer, Calc, ...), onde o acesso a dados armazenados nas bases de dados façam sentido.

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