access2base Access2Base

VBA for MSAccess emulator

★ ★ ☆ ☆ ☆
Base Extensions
Download latest

latest release: 2024-03-21 21:00:36


Access2Base is a standard feature of LibreOffice. The 1.9.0 version (= last available version of the extension) is pre-installed in LibreOffice 6.1.

Later LibreOffice releases (6.2 ... 7.0) embed Access2Base fresher releases (6.2.0 ... 7.0.0). The latter Access2Base versions are not available as extensions anymore and never will.

Download this software only if your LibreOffice version is <= 6.0.

This extension implements a LibO/AOO Basic library for Base applications.

The API is entirely inspired by VBA for MSAccess and its object model.

As such it is a tool helping people either to migrate their Access databases to Base OR to write code as if it was VBA OR to write their first macros.
It is much more intuitive and easy to learn than the standard UNO API. It is documented (online) in detail.

Version 1.9.0 was uploaded to this site on 11-Aug-2018.

The implemented macros include (among a huge list of functionalities):

  1. forms, dialogs and controls manipulations derived from the MSAccess object model
  2. an API for database access with the table, query, recordset and field objects
  3. actions with a syntax identical to their corresponding MSAccess macros/actions
  4. the DLookup, DSum, ... database functions
  5. the support of the shortcut notations like Forms!myForm!myControl
  6. a consistent errors and exceptions handler
  7. facilities for management of form and control events

The macros using the API may be stored both in Database documents (".odb" files) and in standalone (Writer/Calc/...) forms.

It is even possible to access data from Calc cell formulas.



(Only to have a first idea ...) Compare Access2Base with MSAccess VBA

LibreOffice Base with Access2Base

REM Open a form ...


REM Move a form to new left-top coordinates ...

Dim ofForm As Object
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

Additional documentation:


Release List

Release Description Compatibility Operating Systems License Release notes   1.9.0 Base forms may contain more than 1 data source (NB: MSAccess does not have that feature).
A translation in german is provided (thanks to Gisbert Friege).
5.0 Linux, Windows, macOS LGPL Download 1.8.0 Document, dialog, form, subform and control events can be dynamically got and updated with the new On database, On dialog, On form and On control events properties.
The new module object class and its properties and methods makes it easy to navigate thro
4.0 Linux, Windows, macOS LGPL Download 1.6.0 The CopyObject action may copy tables (structure and data) from one database to another. As an experimental feature involved tables may even reside in different database systems.
The database class has received new properties: Name, Connect and Version.
4.0 Linux, Windows, macOS MPL Download 1.5.0 More complete management of (long) binary fields in databases with the addition of the GetChunk and AppendChunk methods to the field object.<br />
Addition of the Picture property for ImageControl controls.
4.1 MPL Download 1.4.0 The OutputTo action has been significantly enhanced. Output in one single Basic statement the content of a table or of a SELECT query into
- an html file. The data table can be embedded in a template file wontaining styling options
- a Calc spreadsheet
4.1 MPL Download 1.3.0 New CommandBars collection of CommandBar objects:
Easily show/hide menu bar, status bar, toolbars and toolbar elements.
4.0 MPL Download 1.2.0 All the methods which can be used without a database connection (error handling, dialogs manipulations, status bar and window handling, commands launch, ...) are usable as such even from non-Base applications.
To pass values from one open document to ano
4.1 MPL Download 1.1.0 The 1.1.0 version allows dynamic data access from any Basic macro, including, just as an example, from a user-defined function invoked in a Calc cell formula. 3.6 MPL The Access2Base library can be run to access a database defined in any form defined in any AOO/LibO document. Now the CurrentDb method may be associated with a form object, not only with the root class. The OpenDatabase method allows any AOO/LibO document or any Basic macro to get access to tables stored in any database. The CopyObject (new) action copies query definitions and/or table definitions and data. Creation of table and fields without SQL with the CreateTableDef, CreateField and Add methods. The new GetRows method loads a given number of records from a recordset in a Basic array. RunSQL, OpenSQL, database functions have been extended to be run from a database object, not only as a command. New GetHiddenAttribute and SetHiddenAttribute actions hide or show any AOO/LibO or Base object. SelectObject scope has been extended accordingly. The Description property of a TableDef is writable. Addition of the SelStart, SelLength and SelText properties for text controls. Download 1.0.0 Inclusion of Access2Base code into the LibreOffice 4.2 build.
Code stabilisation, robustness improvements (naming collisions risks, error handler, ...)
Toggle sidebar in RunCommand
Alignment of code with LibreOffice 4.2 new internal format for Time fie
3.3 MPL Download 0.9.5 Framework for database access:
TableDefs, QueryDefs, Recordsets and Fields collections.
TableDef, QueryDef, Recordset and Field objects.
Addition of the CurrentRecord and Recordset properties for forms and subforms.
Introspection improved with the Ite
3.6 LGPL Download 0.9.1 Bug fixing.
Performance improvement when processing very large (1000+ items) listboxes.
Workaround implemented to survive the LibreOffice 4.0 bug described in BugZilla (
Finalization of the App
3.6 LGPL Download 0.9.0 Complete internal redesign of code to allow more object-oriented syntaxes for property settings and method invocations.
form.height = 100
Old syntax still supported.
Consolidation of the object model with the Parent, S
3.3 LGPL Download 0.8.9 Localization:
- of the 2 dialogs forms
- of all strings (mainly error messages) used in the API
A french translation is provided.
For other languages, contributions are welcome.
3.3 LGPL Download 0.8.6 Maintenance release 3.3 LGPL Download 0.8.5 Introduction of new commands:
OutputTo for storing a form document as a PDF, DOC, ... file.
SendObject to send a form after transformation to PDF, DOC, ... by mail.
RunApp to start an external application.
3.3 LGPL Download 0.8.2 API implementation identical to 0.8.1.
"Check for Updates ..." functionality now detects Access2Base new versions.
3.3 LGPL Download 0.8.1 Bug fixing in the setValue method. 3.3 LGPL

Bug fixing in the setValue method.

Download 0.8.0 Full support of standalone (Writer) forms. 3.3 LGPL

Full support of standalone (Writer) forms.

Other minor changes:

RadioButtons order is now determined by their X-Y coordinates on the screen.
Bug fixing in checkboxes controls when linked to a database field.
Support of "Currency" datatype in arguments to the API. Useful for controls of currency type. Converted to Double in internal processing.

Download 0.7.5 Support of Listboxes with a separate column for bound fields.
Introduction of the Bookmark property of Form pseudo-objects.
New actions: ShowAllRecords and GoToControl.
New methods for managing Listboxes content (with the ValueList rowsource type): Add
3.3 LGPL Download 0.7.1 Correction of URL of online help. Clickable from Help menu in the Basic IDE. 3.3 LGPL Download 0.7.0 Bugs fixing in the SelectObject action (abort when help file open).
Extension of the scope of the SelectObject action.
Introduction of the RunCommand action. Documentation updated.
3.3 LGPL Download 0.6.0 New actions: Maximize, Minimize, etc. 3.3 LGPL Download 0.5.1 Minor changes vs. version 0.5.0 3.3 LGPL Download 0.5.0 First public release 3.3 LGPL Download
Show more

Other Extensions


VBA for MSAccess emulator



★ ★ ☆ ☆ ☆

BaseDocumenter, to document your Base applications

BaseDocumenter is a software tool producing a full documentation of a LibreOffice Base application.



★ ★ ★ ☆ ☆


★ ★ ☆ ☆ ☆

Post your review

You cannot post reviews until you have logged in. Se connecter.


  • Rickeysmoob 8 oct. 2020 à 16:48 (Il y a 4 année)

    ☆ ☆ ☆ ☆ ☆

    Наша компания занимается расскруткой продвижение сайта буржунет совершенно не дорого. В случае, если у вас существует свой бизнес, тогда рано или поздно вы лично осознаете, что без оптимизация и продвижение сайтов сшау вас нет возможности работать дальше. Сейчас фирма, которая подумывают о собственном будущем развитии, должна иметь веб-сайт для seo продвижение сайтов google. продвижение англоязычного сайта в google- способ, используя который возможно приобретать новых покупателей, и дополнительно получить проценты, с тем чтобы рассказать об наличии вашей собственной производственной компании, её продуктах, функциях. Специализированная международная фирма сделать для вашей фирмы инструмент, с помощью которого вы сможете залучать правильных партнеров, получать прибыль и расти.Продающийся сайт- лицо фирмы, в связи с этим имеет значение, кому вы доверяете создание своего веб страницы. Мы - команда профи, которые имеют обширный практический опыт конструирования электронную коммерцию с нуля, направления, разработанного типа. Сотрудники нашей фирмы неизменно действуем по результатом. Международная компания сумеет предоставить всем нашим заказчикам профессиональное сопровождение по доступной антикризисной расценке.Вы можете сделать заказ онлайн-визитку, рекламный сайт. Не сомневайтесь, что ваш портал будет разработан высококлассно, с разными самыми новыми технологиями.

    <a href=>продвижение сайтов com</a>

  • Bill Kinsey 21 juin 2020 à 23:47 (Il y a 4 année)

    ★ ★ ★ ☆ ☆

    Help! I have 100s of *.db files created with Paradox that I need to convert to Excel files. I thought I used to be able to do this with LibreOffice...but no more. Does one of these extensions allow me to do this?

    • Mulwa Ndau 23 mars 2022 à 18:04 (Il y a 2 année)

      Hey Kinsey,
      Have you tried opening the .db files using SQLite DB. Could be a helpful option. It's opensource and once you open them you can export to .csv format.However, you'll have to come with some good file organization to work with the multi-dimensional data i a spreadsheet.
      It will be quite a task working on 100s of files though! Luck to you!

RSS feed for reviews on this page | RSS feed for all reviews