目次

# 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 "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.

Access2BaseのAPIは通常のUNO API（API=アプリケーション プログラミング インタフェース）と比較して、より簡潔かつ直感的で学びやすくなっています。

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

## 実装マクロは以下を含みます：

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. 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