Conteúdo

# Access2Base

## O que é o Access2Base?

Access2Base é uma biblioteca de macros do LibreOffice BASIC destinada a programadores de aplicações (empresariais ou pessoais) e a utilizadores avançados. É uma das bibliotecas incluídas na secção «Macros e caixas de diálogo de aplicações».

As funcionalidades oferecidas pelas macros implementadas são todas diretamente inspiradas no Microsoft Access. As macros podem ser executadas principalmente a partir de uma aplicação LibreOffice Base, mas também a partir de qualquer documento LibreOffice (Writer, Calc, ...) em que faça sentido aceder aos dados armazenados numa base de dados.

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