Conteúdo
Índice 🔎︎

# Access2Base

## O que é Access2Base?

Access2Base é uma biblioteca de macros do LibreOffice BASIC do LibreOffice para desenvolvedores de aplicações (de negócios ou pessoal) e usuários avançados. É uma das bibliotecas armazenadas nas "Macros da Aplicação".

As funcionalidades fornecidas pelas macros implementadas são todas diretamente inspiradas no Microsoft Access. As macros podem ser chamadas principalmente no LibreOffice Base, mas também de qualquer documento do LibreOffice (Writer, Calc, ...) onde o acesso a dados armazenados num banco de dados faça sentido.

A API fornecida pelo Access2Base pretende ser mais concisa, intuitiva e fácil de aprender que a API padrão do UNO (API = Application Programming Interface).

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

## As macros implementadas incluem:

1. uma API simplificada e extensível para manipulação de formulários, diálogos e controles similar ao modelo de objetos do Microsoft Access,

2. uma API para acesso a banco de dados com objetos do tipo tabela, consulta, conjunto de registros e campo

3. um número de ações com sintaxe idêntica às correspondentes ações e macros do Microsoft Access,

4. as funções de banco de dados DLookup, DSum,

5. o suporte para notações do tipo Forms!myForm!myControl

além do mais

6. um manipulador de erros e exceções consistente,

7. facilidades para programar formulários, diálogos e controlar eventos

8. o suporte para incorporar tanto formulários próprios, quanto os do Writer.

## Compare Access2Base com 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