Access2Base
Was ist Access2Base?
Access2Base ist eine LibreOffice Basic-Bibliothek mit Makros für (geschäftliche oder private) Anwendungsentwickler und fortgeschrittene Benutzer. Sie ist eine der Bibliotheken, die in "LibreOffice Dialoge verwalten" gespeichert sind.
Die Funktionen der implementierten Makros sind alle direkt inspiriert von Microsoft Access. Die Makros können überwiegend direkt aus LibreOffice Base heraus aufgerufen werden, aber auch von jedem LibreOffice-Dokument (Writer, Calc, ...), aus der heraus ein Zugriff auf eine Datenbank Sinn macht.
Die API, die durch Access2Base bereitgestellt wird, ist dafür gedacht, kompakter, intuitiver und einfacher erlernbar zu sein als die Standard UNO-API (API = Application Programming Interface; zu deutsch Anwendungsprogrammierschnittstelle).
Die Bibliothek ist online dokumentiert auf http://www.access2base.com (englisch).
Die bereitgestellten Makros enthalten:
-
eine vereinfachte und erweiterbare API für die Manipulation von Formularen, Dialogen und Steuerelementen, ähnlich dem Microsoft Access-Objektmodell,
-
eine API für den Datenbankzugriff auf die Objekte Tabelle, Abfrage, Datensatz und Feld,
-
eine Anzahl an Aktionen mit einer Syntax, die ihren Microsoft Access-Makros/Aktionen entsprechen,
-
die Datenbankfunktionen DLookup, DSum, ...,
-
die Unterstützung der Kurzschreibweise wie Forms!myForm!myControl
und zusätzlich
-
ein konsequentes Fehler- und Ausnahmesteuerungsprogramm,
-
Möglichkeiten, Ereignisse für Formulare, Dialoge und Steuerelemente zu programmieren und
-
Unterstützung sowohl für eingebettete als auch für eigenständige (Writer-) Formulare.
Vergleich von Access2Base mit 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