Base
 

Kapitel 4
Formulare

Copyright

Dieses Dokument unterliegt dem Copyright © 2015. Die Beitragenden sind unten aufgeführt. Sie dürfen dieses Dokument unter den Bedingungen der GNU General Public License (http://www.­gnu.org/licenses/gpl.html), Version 3 oder höher, oder der Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), Version 3.0 oder höher, verändern und/oder weitergeben.

Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt.

Fast alle Hardware- und Softwarebezeichnungen und weitere Stichworte und sonstige Angaben, die in diesem Buch verwendet werden, sind als eingetragene Marken geschützt.

Da es nicht möglich ist, in allen Fällen zeitnah zu ermitteln, ob ein Markenschutz besteht, wird das Symbol (R) in diesem Buch nicht verwendet.

Mitwirkende/Autoren

Robert Großkopf

Jost Lange

Jochen Schiffers

Jürgen Thomas

Michael Niedermair

 

Rückmeldung (Feedback)

Kommentare oder Vorschläge zu diesem Dokument können Sie in deutscher Sprache an die Adresse discuss@de.libreoffice.org senden.

Vorsicht

Alles, was an eine Mailingliste geschickt wird, inklusive der E-Mail-Adresse und anderer persönlicher Daten, die die E-Mail enthält, wird öffentlich archiviert und kann nicht gelöscht werden. Also, schreiben Sie mit Bedacht!

Datum der Veröffentlichung und Softwareversion

Veröffentlicht am 15.08.2021. Basierend auf der LibreOffice Version 7.2.

Inhalt

Formulare als Eingabeerleichterung

Erstellung von Formularen

Einfaches Formular

Symbolleisten des Formularentwurfs

Formulargründung über den Navigator

Formulargründung über ein Formularfeld

Externe Formulare

Formular-Eigenschaften

Eigenschaften der Kontrollfelder

Standardeinstellungen vieler Kontrollfelder

Textfeld

Numerisches Feld

Datumsfeld

Zeitfeld

Währungsfeld

Formatiertes Feld

Listenfeld

Kombinationsfeld

Markierfeld

Optionsfeld

Grafisches Steuerelement

Maskiertes Feld

Tabellen-Kontrollfeld

Beschriftungsfeld

Gruppierungsrahmen

Schaltfläche

Grafische Schaltfläche

Navigationsleiste

Drehfeld und Bildlaufleiste

Verstecktes Steuerelement

Mehrfachselektion

Einfaches Formular komplett erstellt

Felder als Gruppe hinzufügen

Felder anpassen

Felder einzeln hinzufügen

Tabellenkontrollfeld

Hauptformular und Unterformular

Eine Ansicht – viele Formulare

Fehlermeldungen bei der Eingabe in Formulare

Suchen und Filtern in Formularen über die Navigationsleiste

Datensatzsuche mit Parametern

Filterung mit dem Autofilter

Filterung mit dem formularbasierten Filter

Filterung über den Standardfilter

Fazit

Dateneingabe und Navigation

Drucken aus Formularen

Darstellungsgröße von Formularen

 

 

Formulare als Eingabeerleichterung

Formulare werden dann genutzt, wenn die Eingabe direkt über eine Tabelle zu unübersichtlich wird, eventuelle Fehleingaben rechtzeitig abgefangen werden sollen oder zu viele Tabellen eine direkte Verwaltung der Daten unmöglich machen.

Hinweis

Ein Formular ist in Base ein für den Nutzer nicht sichtbares Konstrukt. Es dient innerhalb von Base dazu, den Kontakt zur Datenbank zu ermöglichen.

Sichtbar sind für den Nutzer die Kontrollfelder, die dazu dienen, Text, Zahlen usw. einzugeben oder anzuzeigen. Diese Kontrollfelder werden über die GUI in verschiedene Feldarten unterteilt.

 

Der Begriff Formular hat eine doppelte Bedeutung.
Zum einen steht ein
Formular für den gesamten Inhalt des Eingabefensters, in dem die Daten für eine oder mehrere Tabellen verwaltet werden. Hier handelt es sich genaugenommen um ein Formulardokument, das in der Datenbankdatei auch als komplette Writer-Datei abgespeichert wird.
Zum anderen enthält ein solches
Formulardokument ein Fenster, das wiederum ein oder mehrere Hauptformulare enthalten kann; auch für diese Teilbereiche des Fensters wird der Begriff Formular verwendet. Jedes dieser Hauptformulare in dem Fenster des Formulardokumentes kann außerdem noch wieder Unterformulare enthalten.
Aus dem Zusammenhang sollte immer klar werden, welche Art von Formular gemeint ist, sodass es hoffentlich niemals zu Missverständnissen kommt.

Erstellung von Formularen

Der einfachste Weg zur Erstellung von Formularen ist der über den Formular-Assistenten. Mit diesem Assistenten lassen sich auch Formulare mit Unterformularen erstellen. Dieser Weg wurde bereits im Kapitel «Eingabeformular» im Kapitel «Einführung in Base» beschrieben.

Einfaches Formular

Als Start dient uns aus dem Formularbereich die Aufgabe Formular in Entwurfsansicht erstellen.

 

Rufen wir damit den Formulareditor auf, so zeigt sich erst einmal das Fenster Abbildung 1.

 
 

Am linken Rand ist die Symbolleiste «Formular-Steuerelemente» eingeblendet. Am unteren Rand ist die Symbolleiste «Formular-Entwurf» angedockt. Sollten diese Symbolleisten nicht automatisch erscheinen, so können sie über Ansicht → Symbolleisten angewählt werden. Ansonsten steht noch im Hauptmenü der Menüpunkt Formular zur Verfügung.

Die weiße Fläche weist ein gepunktetes Raster auf. Dies dient dazu, die Elemente möglichst genau positionieren zu können – vor allem im Verhältnis zueinander. Dass das Raster sichtbar und eingeschaltet ist, ist an den Symbolen ganz rechts in der Leiste zum Formular-Entwurf zu erkennen.

 

Abbildung 2: Alle verfügbaren Schaltflächen der Symbolleiste «Formular-Entwurf»

 

Symbolleisten des Formularentwurfs

Auf der leeren Fläche soll nun ein Formular entstehen. Dies kann auf verschiedene Arten geschehen:

Formulargründung über den Navigator

Mit dem in Abbildung 2 abgebildeten Button Formular-Navigator wird der Navigator gestartet. Es erscheint ein Fenster, das auf lediglich ein Verzeichnis hinweist. Dies ist die höchste Ebene der Fläche, die jetzt bearbeitet wird. Sie ist mit Formulare benannt. Dies weist darauf hin, dass nicht nur ein, sondern ohne weiteres mehrere Formulare auf der angezeigten Fläche untergebracht werden können.

 

Mit einem Rechtsklick auf das Verzeichnis Formulare öffnet sich ein Kontextmenü, in dem über den Menüpunkt Neu ein neues Formular erstellt werden kann. Die weiteren Befehle des Kontextmenüs entsprechen denen der Buttons in der Abbildung 2.

Hinweis

Soll ein Formular automatisch mit dem Cursor im ersten Formularelement starten, so kann dies durch die Auswahl Automatischer Kontrollelement-Fokus bewirkt werden. Das erste Formularelement wird über die Aktivierungsreihenfolge geregelt.

Leider hat diese Funktion zur Zeit einen Bug. Befindet sich in einem Formular ein Tabellenkontrollfeld, so wird der Fokus automatisch auf das erste Feld des Tabellenkontrollfeldes gesetzt. Dieser Bug ist merkwürdigerweise zu beheben, wenn nach der Wahl des automatischen Kontrollelement-Fokus die Sprache der Benutzeroberfläche umgestellt wird: Bug 87290.

 

Das Formular erhält standardmäßig den Namen Formular. Diese Bezeichnung kann direkt oder später geändert werden. Sie hat allerdings für die spätere Funktion nur dann eine Bedeutung, wenn über Makros auf Teile des Formulars zugegriffen werden soll. Spätestens dann sollten nicht zwei Elemente mit gleicher Bezeichnung in der gleichen Ebene des Verzeichnisbaums auftauchen.

Über das Kontextmenü des Formulars geht schließlich der Weg zu den Formulareigenschaften.

Formulargründung über ein Formularfeld

Über die Symbolleiste für die Formularsteuerelemente (Abbildung 3) stehen direkt alle Formularfelder zur Verfügung. Während die ersten vier Elemente identisch zu den entsprechenden Elementen des Formular-Entwurfs sind, folgen anschließend sämtliche Formularfelder.

 

Abbildung 3: Alle verfügbaren Schaltflächen der Symbolleiste «Formular-Steuerelemente»

 

Hinweis

Der Inhalt der Symbolleiste «Formular-Steuerelemente» ist mit der Zeit geändert worden. Vor der Version LO 6.0 gab es eine Symbolleiste «Weitere Steuerelemente», die aus der Symbolleiste «Formular-Steuerelemente» als frei schwebende Leiste angezeigt wurde. Zur Version LO 6.3 schließlich gibt es die Symbolleiste «Weitere Steuerelemente» nicht mehr.

Neben der Symbolleiste stehen alle Steuerelemente über den neuen Menüeintrag Formular zur Verfügung.

Über den Aufruf eines Formularfeldes wird automatisch ein Formular mit gegründet:

Dazu wird z. B. ein Beschriftungsfeld aufgerufen. Der Cursor verändert sein Erscheinungsbild. Es kann eine rechteckige Form auf die weiße Oberfläche des Formulars gezogen werden. Aus der gestrichelten Form entsteht anschließend ein Beschriftungsfeld. Jetzt wird zur Erstellung des Formulars das Kontextmenü des Kontrollfeldes aufgerufen.

Über den Menüpunkt Formular werden hier die Eigenschaften des nebenher gegründeten Formulars aufgerufen. Das Formular wurde mit dem Standardnamen «Formular» erstellt.

Externe Formulare

Neben den Formularen, die direkt in Base erstellt werden, gibt es auch die Möglichkeit, im Writer oder in Calc Formulare zu erstellen. Auch Formulare, die in Base erstellt wurden, lassen sich zu externen Formularen umwandeln. Dies wird im Kapitel «Datenbank-Anbindung» beschrieben.

Formular-Eigenschaften

 

Werden die Formulareigenschaften über das Kontextmenü im Formular-Navigator oder das Kontextmenü eines Formularfeldes aufgerufen, so erscheint ein Fenster mit drei Registerreitern: Allgemein, Daten und Ereignisse

Allgemein

Hier kann der Name des Formulars geändert werden. Außerdem finden sich Einstellungsmöglichkeiten, die innerhalb von Base keine weitere Bedeutung haben. Sie zeigen lediglich die universelle Einsatzmöglichkeit des Formulareditors; bei Erstellung von Webformularen ist hier eine Einstellung notwendig. (URL: Ziel, an das die Daten gesandt werden sollen | Frame: Teil der Zielwebseite, der eventuell separat angesprochen werden muss | Kodierung beim Submit: Neben dem normalen Kodieren der Zeichen für eine Weitergabe über die URL sind hier Textkodierungen und Multipartkodierungen (z. B. zum Versenden von Dateien …) möglich. | Art des Submits: Get (über die URL sichtbar an den Dateinamen angehängt) oder POST (nicht sichtbar, auch für größere Datenmengen geeignet).

Daten

 

Für die Erstellung interner Formulare von Base ist dies der wichtigste Registerreiter. Hier wird zuerst der Inhalt des Formulars festgelegt.

Ereignisse

Ereignisse können Makros auslösen. Durch einen Klick auf den rechts stehenden Button (…) können Makros mit dem Ereignis verbunden werden.

Zurücksetzen: Das Formular wird von allen neuen Einträgen geleert, die noch nicht abgespeichert sind.

Vor dem Submit: Bevor die Formulardaten gesendet werden. Dies hat nur bei Webformularen eine Bedeutung.

Beim Laden: Nur beim Öffnen des Formulars. Nicht beim Laden eines neuen Datensatzes in das Formular.

Erneutes Laden: Dies erfolgt, wenn der Inhalt des Formulars z. B. über einen Button in der Navigationsleiste aktualisiert wird.

Entladen: Nach einigen Tests scheint dies ohne Funktion zu sein. Erwartet würde der Ablauf eines Makros beim Schließen des Formulars.

Datensatzaktion: Dies ist z. B. das Abspeichern mittels Button. Im Test ergibt sich, dass die Aktion Vor der Datensatzaktion regelmäßig doppelt erscheint, d. h. Makros werden direkt nacheinander zweimal abgearbeitet. Dies liegt daran, dass hier unterschiedliche Funktionen (Implementationen) ausgeführt werden. Beide sind mit Namen versehen: org.openoffice.comp.svx.FormController und com.sun.star.comp.forms.ODatabaseForm. Wenn innerhalb des Makros mit oForm.ImplementationName der entsprechende Name abgefragt wird, so kann das Makro auf eine Ausführung begrenzt werden.

Datensatzwechsel: Bereits das Öffnen des Formulars stellt einen Datensatzwechsel dar. Beim Wechsel von einem Datensatz zum anderen innerhalb eines Formulars taucht diese Aktion ebenfalls zweimal auf. Makros werden also auch hier zweimal hintereinander ausgeführt. Auch hier kann aber zwischen den Ursachen des Ereignisses unterschieden werden.

Parameter füllen: Dieses Makro springt ein, wenn eine Parameterabfrage in einem Unterformular aufgerufen werden soll, aber aus irgendeinem Grund der Parameter vom Hauptformular nicht richtig weiter gegeben wird. Ohne das Ereignis abzufangen, erfolgt dann beim Laden des Formulars eine Parameterabfrage.

Fehler aufgetreten: Dieses Ereignis lässt sich nicht nachvollziehen.

Eigenschaften der Kontrollfelder

Ist ein Formular erstellt, so kann es mit den sichtbaren Kontrollfeldern bestückt werden. Die Kontrollfelder sind für verschiedene Aufgaben gedacht:

Dateneingabe und Datenanzeige

Kontrollfeld

Anwendungsgebiet

Textfeld

Texteingaben

Numerisches Feld

Zahleneingabe

Datumsfeld

Datumseingabe

Zeitfeld

Zeiteingabe

Währungsfeld

Zahleneingabe, vorformatiert für Währungen

Formatiertes Feld

Anzeige und Eingabe mit zusätzlicher Formatierung wie z. B. Maßeinheiten

Listenfeld

Auswahl zwischen vielen verschiedenen Möglichkeiten, Weitergabe eines anderen als des angezeigten Wertes an die Datenbank.

Kombinationsfeld

Wie Listenfeld, nur Weitergabe des angezeigten Wertes und dazu noch die Möglichkeit, auch neue Werte einzugeben.

Markierfeld

Ja/Nein-Felder

Optionsfeld

Auswahl zwischen verschiedenen, stark begrenzten Möglichkeiten.

Grafisches Kontrollfeld

Anzeige von Bildern und seit LO 5.0 auch *.pdf-Dateien (1. Seite) aus einer Datenbank und Neueingabe von Bildern und seit LO 5.0 auch anderen Dateien, abhängig von der Einstellung Extras → Optionen → LibreOffice → Allgemein→ Dialoge zum Öffnen/Speichern und den Systemdialogen des Betriebssystems, in eine Datenbank über eine Pfadangabe

Maskiertes Feld

Eingabe in eine vorgefertigte Maske; grenzt die Eingabemöglichkeiten  auf bestimmte Zeichenkombinationen ein.

Tabellen-Kontrollfeld

Universelles Eingabemodul, das eine ganze Tabelle bedienen kann.
Integriert in dieses Kontrollfeld sind wieder viele der obigen Kontrollfelder

 

Gestaltung

Kontrollfeld

Anwendungsgebiet

Beschriftungsfeld

Überschrift über das Formular, Beschriftung anderer Kontrollfelder

Gruppierungsrahmen

Linienzug um z. B. verschiedene Optionsfelder

 

Interaktion

Kontrollfeld

Anwendungsgebiet

Schaltfläche

Button mit Beschriftung

Grafische Schaltfläche

Wie der Button, nur mit einer zusätzlich auf dem Button erscheinenden Grafik

Navigationsleiste

Leiste mit geringen Abweichungen zu der, die am unteren Bildschirmrand angezeigt wird.

Dateiauswahl

Auswahl von Dateien z. B. zum Hochladen in HTML-Formularen. - nicht weiter beschrieben

Drehfeld

Nur über Makroprogrammierung verwendbar – nicht weiter beschrieben

Bildlaufleiste

Nur über Makroprogrammierung verwendbar – nicht weiter beschrieben

Verstecktes Steuerelement

Hier kann ein Wert über Makros eingespeichert und wieder ausgelesen werden.

Standardeinstellungen vieler Kontrollfelder

Die Eigenschaften werden wie beim Formular in drei Kategorien unterteilt: Allgemein, Daten und Ereignisse. Unter Allgemein wird all das eingestellt, was für den Nutzer sichtbar ist. In der Kategorie Daten wird die Verbindung zu einem Feld der Datenbank hergestellt. Die Kategorie Ereignisse schließlich regelt Auslösemomente, die mit irgendwelchen Makros verbunden werden können. Für eine Datenbank ohne Makros spielt diese Kategorie keine Rolle.

 

Hinweis

In den folgenden Übersichten stehen die deutschen Begriffe vor allem der Eigenschaften – genau wie im Formular-Entwurf. In Makros werden zur Beeinflussung der Felder die englischen Begriffe benötigt; diese sind in [Klammern] angegeben. So bedeutet z. B. [Printable] «Druckbar».

Beispiel:

oDoc = thisComponent

oDrawpage = oDoc.drawpage

oForm = oDrawpage.forms.getByName("Formular")

oFeld = oForm.getByName("Formularfeld")

oFeld.Printable = True 'Das Feld wird auf "Druckbar"→"Ja" gesetzt.

Die Eigenschaften werden einfach mit einem Punkt verbunden an das entsprechende Objekt des Formularfeldes angehängt. Weitere Hinweise stehen im Kapitel «Makros».

Allgemein

 

Die Bezeichnung für das Feld sollte innerhalb eines Formulars nur einmal vorkommen – Anwendung bei  Zugriff über Makros.
[Name]

 

Gehört zu dem Feld ein Beschriftungsfeld? Hiermit wird eine Gruppierung festgelegt. Über das Beschriftungsfeld kann dann das Formularfeld mit einer Tastenkombination direkt erreicht werden.
[LabelControl]

 

Nicht aktivierte Felder sind nicht verwendbar und werden grau hinterlegt. Sinnvoll bei Steuerung über Makros (Entscheidung: Wenn in Feld 1 ein Wert eingegeben wird, darf in Feld 2 kein Wert eingegeben werden – Feld 2 wird deaktiviert)
[Enabled]

 

In der Regel 'Ja'; nicht sichtbare Felder können Werte zwischenspeichern. Anwendung z. B. bei der Erstellung von Kombinationsfeldern mit Makros.
[EnableVisible]

 

'Ja' würde eine Veränderung des Wertes ausschließen; z. B. für die Anzeige eines automatisch erstellten Primärschlüssels sinnvoll.
[ReadOnly]

 

Manchmal sind Seitenausdrucke aus einem Formular sinnvoller als ein separater Bericht. Hier sollen dann eventuell nicht alle Felder erscheinen.
[Printable]

 

Durch ein Formular wird in der Regel mit dem Tabulator navigiert.
Ein Feld, das z. B. nur gelesen wird, braucht keinen Stop des Tabulators, würde also übersprungen.
[Tabstop]

 

Hat das Feld einen Tabstop? Hier wird die Reihenfolge innerhalb des Formulars eingestellt.
[Tabindex]

 

Verankerung der Grafik, die das Textfeld darstellt.

 

Position links oben vom linken Rand aus.
[PosSize.X]

 

Position von oben aus.
[PosSize.Y]

 

Breite des Feldes
[PosSize.Width]

 

Höhe des Feldes
[PosSize.Height]

 

Schriftart, Schriftschnitt, Schriftgrad und Schrifteffekt sind hier einstellbar.
[Fontxxx]

 

Der Eintrag wird linksbündig dargestellt.
[Align]

 

Standard | Oben | Mitte | Unten
[VerticalAlign]

 

Hintergrundfarbe des angezeigten Textfeldes
[BackgroundColor]

 

Rahmenform: Ohne Rahmen | 3D-Look | Flach
[Border]

 

Wenn ein Rahmen, dann kann hier die Umrandungsfarbe eingestellt werden.
[BorderColor]

 

Markierter Text wird so nicht mehr als markiert angezeigt, wenn das Textfeld den Fokus verliert.
[HideInactiveSelection]

 

Gut nutzbar für Informationen, die mittels Makros ausgelesen werden sollen, siehe «Zusatzinformationen eines Feldes» im Kapitel «Makros».
[Tag]

 

Erscheint als sogenannter Tooltip, wenn mit der Maus über das Textfeld gefahren wird.
[HelpText]

 

Verweist auf eine Hilfedatei – eher für HTML-Zwecke geeignet. Durch F1 abrufbar, wenn der Fokus auf dem Feld liegt.
[HelpURL]

Zusätzlich sind bei Zahlenfeldern, Datumsfeldern u.ä. üblich:

 

Mit eingeschalteter Überprüfung ist nur die Eingabe von Ziffern und Komma möglich.
[EnforceFormat]

 

Nie erlaubt keine Änderung mit dem Mausrad; Wenn ausgewählt lässt eine Änderung zu, wenn das Feld ausgewählt ist und die Maus sich über dem Feld befindet; Immer bedeutet, dass sich die Maus über dem Feld befinden muss.
[MouseWheelBehavior]

 

Ein Drehsymbol wird an der rechten Seite des Feldes eingeblendet.
[Spin]

 

Wenn ein Drehfeldpfeil länger gedrückt wird lässt sich hier einstellen, ob nicht nur zum nächsten Wert gedreht werden soll.
[Repeat]

 

Stellt die Verzögerungszeit ein, nach der der Druck auf die Maustaste beim Drehfeld Wiederholung interpretiert wird.
[RepeatDelay]

Daten

 

Datenfeld: Hier wird die Verbindung zur Tabelle hergestellt, die dem Formular zugrunde liegt.
[
Model.DataField]

Leere Zeichenfolge ist NULL: Soll ein leeres Feld geleert werden (NULL) oder nur der Inhalt gelöscht werden?

Eingabe erforderlich: Dieser Eintrag sollte sich mit dem in der Tabelle decken. Dann fragt die GUI gegebenenfalls nach einer Eingabe, wenn vom Nutzer kein Wert eingegeben wurde.
[Model.InputRequired]

Filtervorschlag: Bei einer Filterung der Daten werden die Inhalte dieses Feldes als Vorschläge zwischengespeichert. Achtung – dies ist bei umfangreichen Inhalten recht speicherintensiv.
[Model.UserValueFilterProposal]

Ereignisse

 

Modifiziert: Dieses Ereignis tritt ein, wenn das Kontrollfeld geändert wurde und anschließend den Fokus verloren hatte. Das Ereignis geht verloren, wenn direkt zum nächsten Datensatz gewechselt wird. Unter den Umständen ist also eine Änderung gespeichert, ohne vorher wahrgenommen zu werden. [com.sun.star.lang.EventObject]

Text modifiziert: Direkt auf den Inhalt bezogen; kann Text, Zahl o.a. sein, tritt also nach jeder Tastatureingabe auf. [com.sun.star.awt.TextEvent]

Fokuserhalt: Der Cursor kommt in das Feld hinein. Hier sollte auf keinen Fall über das Makro eine Messagebox auf dem Bildschirm erzeugt werden. Durch das Anklicken dieser Box verliert das Formularfeld den Fokus und erhält ihn direkt danach zurück – eine Schleife wird dadurch erzeugt. Sie kann nur durch Tastatureingaben unterbrochen werden.

Fokusverlust: Der Cursor bewegt sich aus dem Feld heraus. Auch dies kann zu einem Wechselspiel führen, wenn eine zu bestätigende Bildschirmausgabe erfolgt.

Taste: Bezieht sich auf die Tastatur. Die Taste muss ausgelöst werden, wenn der Cursor in dem Kontrollfeld steht. Auch der Tabulator zum Verlassen des Kontrollfeldes löst dieses Ereignis aus. Dem Ereignis wird über den KeyCode bzw. KeyChar die auslösende Taste (Buchstabe, Zahl, Spezialtaste) mitgegeben. [com.sun.star.awt.KeyEvent]

Maus: selbsterklärend; Ereignisse treten nur ein, wenn vorher die Maus innerhalb des Feldes ist oder war («außerhalb» entspricht javascript onMouseOut). [com.sun.star.awt.MouseEvent]

Zurücksetzen: Das Formular wird von allen Daten geleert (Anlegen eines neuen Datensatzes) oder auf den alten Datenstand zurück gesetzt (Änderung eines bestehenden Datensatzes). Bei einem Formularfeld wird das Ereignis nur ausgelöst, wenn über den Button in der Navigationsleiste die Dateneingabe rückgängig gemacht wird. [com.sun.star.lang.EventObject]
Wenn ein Formular aufgerufen wird, wird nacheinander das Ereignis Vor dem Zurücksetzen und Nach dem Zurücksetzen abgearbeitet, bevor das Formular für eine Eingabe verfügbar ist.

Aktualisieren: Ist dies Ereignis an ein Kontrollfeld des Formulars gebunden, so tritt die Aktualisierung bei Fokusverlust und Sprung zu einem anderen Formularfeld auf, wenn der Inhalt des Kontrollfeldes geändert wurde. Änderungen in dem Formular werden übernommen und angezeigt. Bei Schließen eines Formular werden nacheinander die Ereignisse Vor dem Aktualisieren und Nach dem Aktualisieren abgearbeitet. [com.sun.star.lang.EventObject]

Textfeld

Neben den bereits unter Standardeinstellungen vieler Kontrollfelder erklärten Eigenschaften gibt es die folgenden Besonderheiten:

Allgemein

 

Solange der Wert 0 ist wird die Einstellung nicht berücksichtigt. In der Praxis wird hier die Zeichenlänge des Feldes aus der Datenbank übernommen, auf das sich das Textfeld bezieht.
[MaxTextLen]

 

Soll in einem leeren Feld ein Standardtext erscheinen? Dieser Text muss gelöscht werden, wenn ein anderer Eintrag erfolgen soll.
[DefaultText]

 

Mögliche Typen: Einzeilig | Mehrzeilig | Mehrzeilig mit Formatierungen (wobei sich die beiden letzten nur im Tabulator unterscheiden – und ein Feld mit Formatierungen nicht an eine Datenbank angebunden werden kann). Bei mehrzeiligen Feldern ist die vertikale Ausrichtung nicht aktiv.
[MultiLine]

 

Unix oder Windows? Prinzipiell funktionieren beide Endungen. Intern müssen für Windowszeilenenden aber zwei Steuerzeichen verwendet werden (CR und LF).
[LineEndFormat]

 

Nur bei mehrzeiligen Feldern: Horizontal | Vertikal | Beide
Nur bei eingeschalteter Bildlaufleiste funktioniert das Scrollen mit der Maus.
[HScroll], [VScroll]

 

Aktiv nur bei einzeiligen Feldern.
[EchoChar]

Daten

keine weiteren Besonderheiten

Ereignisse

keine weiteren Besonderheiten

Numerisches Feld

Neben den bereits unter Standardeinstellungen vieler Kontrollfelder erklärten Eigenschaften gibt es die folgenden Besonderheiten:

Allgemein

 

Mindestwert, den dieses Feld einnehmen kann. Sollte mit dem Mindestwert übereinstimmen, der in der Tabelle erwartet wird.
[ValueMin]

 

Maximalwert
[ValueMax]

 

Intervall-Wert für die Funktion als Scrollelement per Mausrad bzw. Drehfeld
[ValueStep]

 

Wert, der beim Erstellen eines neuen Datensatzes angezeigt wird.
[DefaultValue]

 

Anzahl Nachkommastellen, bei Integer-Feldern auf 0 zu stellen
[DecimalAccuracy]

 

Trennzeichen für Tausenderstellen, in der Regel der Punkt
[ShowThousandsSeparator]

Daten

Es erfolgt keine Nachfrage, ob das Feld NULL sein soll. Eine fehlende Eingabe belässt dennoch das Feld auf NULL, nicht auf 0.
Ein Filtervorschlag wird ebenfalls nicht erstellt.

Ereignisse

Es fehlt das Feld «Modifiziert». Änderungen werden über «Text modifiziert» (hier wohl nicht wörtlich zu nehmen) angesprochen.

Datumsfeld

               
 

Das Datumsfeld kann als aufklappbares Feld Feld und als Drehfeld definiert werden.

Beim aufklappbaren Feld ist ein Monatskalender eingeblendet. Ein Klick auf «Heute» gibt das aktuelle Datum ein. In der Tipp-Hilfe erscheint dann auch noch genau der Tag im Jahr und die entsprechende Woche.

Beim Drehfeld entscheidet der Stand des Cursors darüber, welcher Wert geändert wird. Steht der Cursor, wie im Screenshot, im Wert für den Monat, so verändert ein Klick auf das Drehfeld den Wert für den Monat.

Neben den bereits unter Standardeinstellungen vieler Kontrollfelder erklärten Eigenschaften gibt es die folgenden Besonderheiten:

Allgemein

 

Mindestwert für das Feld, einstellbar über ein Aufklappfeld, das einen Kalender bereitstellt.
[DateMin]

 

Maximalwert.
[DateMax]

 

Kurzform wie 10.02.12 sowie unterschiedliche Formen auch mit '/' statt '.' oder '-' in amerikanischer Schreibweise.
[DateFormat]

 

Hier kann ein festes Datum vorgegeben werden. Das aktuelle Datum (Heute) beim Aufruf des Formulars muss leider (noch) durch ein Makro eingetragen werden.
[DefaultDate]

 

Ein Monatskalender zur Auswahl des Tages kann eingeblendet werden.
[DropDown]

Daten

Es erfolgt keine Nachfrage, ob das Feld NULL sein soll. Eine fehlende Eingabe belässt dennoch das Feld auf NULL, nicht auf 0.
Ein Filtervorschlag wird ebenfalls nicht erstellt.

Ereignisse

Es fehlt das Feld «Modifiziert». Änderungen werden über «Text modifiziert» (hier wohl nicht wörtlich zu nehmen) angesprochen.

Zeitfeld

Neben den bereits unter Standardeinstellungen vieler Kontrollfelder erklärten Eigenschaften gibt es die folgenden Besonderheiten:

Allgemein

 

Mindestwert für das Feld, standardmäßig auf 0 gesetzt.
[TimeMin]

 

Maximalwert, standardmäßig auf 1 Sekunde unter 24 Uhr gesetzt.
[TimeMax]

 

Kurzform ohne Sekunden, Langform mit Sekunden sowie Benennungen mit PM (post meridiem / Nachmittag)
[TimeFormat]

 

Eine feste Zeit ist voreinstellbar, die aktuelle Zeit beim Abspeichern des Formulars leider (bisher) nur mit Makro.
[DefaultTime]

Daten

Es erfolgt keine Nachfrage, ob das Feld NULL sein soll. Eine fehlende Eingabe belässt dennoch das Feld auf NULL, nicht auf 0.
Ein Filtervorschlag wird ebenfalls nicht erstellt.

Ereignisse

Es fehlt das Feld «Modifiziert». Änderungen werden über «Text modifiziert» (hier wohl nicht wörtlich zu nehmen) angesprochen.

Währungsfeld

Neben den bereits unter Standardeinstellungen vieler Kontrollfelder erklärten Eigenschaften gibt es die folgenden Besonderheiten:

Allgemein

Min. Wert, Max. Wert, Intervall, Standardwert, Nachkommastellen und Tausender‑Trennzeichen entsprechen den allgemeinen Eigenschaften Numerisches Feld. Daneben gibt es lediglich:

 

Das Symbol wird angezeigt, aber nicht in der dem Formular zugrundeliegenden Tabelle mit abgespeichert.
[CurrencySymbol]

 

Soll das Symbol vor oder hinter der Zahl erscheinen?
[PrependCurrencySymbol]

Daten

Es erfolgt keine Nachfrage, ob das Feld NULL sein soll. Eine fehlende Eingabe belässt dennoch das Feld auf NULL, nicht auf 0.
Ein Filtervorschlag wird ebenfalls nicht erstellt.

Ereignisse

Es fehlt das Feld «Modifiziert». Änderungen werden über «Text modifiziert» (hier wohl nicht wörtlich zu nehmen) angesprochen.

Formatiertes Feld

Neben den bereits unter Standardeinstellungen vieler Kontrollfelder erklärten Eigenschaften gibt es die folgenden Besonderheiten:

Allgemein

Min. Wert und Max. Wert und Standardwert hängen von der Formatierung ab. Hinter dem Button zur Formatierung versteckt sich ein «Allroundfeld", das Währungsfeld und Zahlenfeld meist überflüssig macht. Im Gegensatz zum einfachen Währungsfeld kann das formatierte Feld negative Beträge auch in roter Farbe darstellen.

 

Über den rechten Button mit den drei Punkten erscheint die Auswahl zum Zahlenformat, die auch in LibreOffice‑Calc üblich ist.
[FormatKey]

 

Abbildung 4: Formatiertes Feld mit allgemeinen Zahleneinstellungen

 

In dem Zahlenformat sind dann neben Datum, Zeit, Währung oder normalen Zahlenformaten auch Möglichkeiten gegeben, die Felder mit einer Maßeinheit wie z. B. kg zu bestücken. Siehe dazu die allgemeine Hilfe zu Zahlenformat-Codes.

Mit dem formatierten Feld ist es auch möglich, Timestamp-Felder aus Tabellen mit nur einem Feld darzustellen und zu beschreiben. Der Formularassistent nutzt dazu sonst ein Datumsfeld und ein Zeitfeld.

Nur mit Hilfe von Makros ist es bei Timestamp-Feldern möglich, Eingaben im Format Minuten:Sekunden,Hundertstelsekunden zu erreichen.

Das Zahlenformat erlaubt auch mit Einstellungen im Format-Code wie z.B.

[<20][BLAU]0" °C";[>30][ROT]0" °C";[SCHWARZ]0" °C "

Werte entsprechend farbig darzustellen. Hier im Beispiel Temperaturen unter 20°C in Blau und über 30°C in Rot, sonst in Schwarz.

Hinweis

Werden Formulare mit Hilfe des Assistenten erstellt, dann wird der Schrift in den Formularfeldern eine Farbe fest zugewiesen. Die formatierten Felder richten sich dann nicht nach dem vorgesehenen Format-Code. Dies kann in dem Steuerelement unter Eigenschaften → Allgemein → Schrift → Button ... → Schrifteffekte → Schriftfarbe mit der Einstellung Automatisch rückgängig gemacht werden. Das Steuerelement übernimmt die Eigenschaft, auch wenn es nachher wieder statt «Automatisch» «Schwarz» anzeigt.

Daten

keine weiteren Besonderheiten.

Ereignisse

Es fehlt das Feld «Modifiziert». Änderungen werden über «Text modifiziert» (hier wohl nicht wörtlich zu nehmen) angesprochen.

Listenfeld

Sobald ein Listenfeld erstellt wird, erscheint standardmäßig der Listenfeldassistent. Diese Automatik lässt sich gegebenenfalls über den Steuerelemente-Assistenten an/aus (Abbildung 3) abschalten.

Assistent