Module
Enhavo
Indekso 🔎︎

# Access2Base

## What is 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 "LibreOffice 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.

The API provided by Access2Base is intended to be more concise, intuitive and easy to learn than the standard UNO API (API = Application Programming Interface).

The library is documented online on http://www.access2base.com.

## The implemented macros include:

1. a simplified and extensible API for forms, dialogs and controls manipulations similar with the Microsoft Access object model,

2. an API for database access with the table, query, recordset and field objects,

3. a number of actions with a syntax identical to their corresponding Microsoft Access macros/actions,

4. the DLookup, DSum, ... database functions,

5. the support of the shortcut notations like Forms!myForm!myControl

in addition

6. a consistent errors and exceptions handler,

7. facilities for programming form, dialog and control events and

8. the support of both embedded forms and standalone (Writer) forms.

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