Base Handbuch
LibreOffice 7.6
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 01.08.2023 . Basierend auf der Version LibreOffice 7.6 .
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
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 Formulare enthalten kann; auch für diese Teilbereiche des Fensters wird der Begriff «Formular» verwendet. Jedes dieser Formulare 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.
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.
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 Formulardokument in der Entwurfsansicht.
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.
Auf der leeren Fläche soll nun ein Formular entstehen. Dies kann auf verschiedene Arten geschehen:
•Aufruf des Formular-Navigators, von dort Gründung eines Formulars sowie
•Erstellung von Formularfeldern und Gründung des Formulars über das dortige Kontextmenü.
Mit dem in 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 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.
Barrierefreiheit: Diese Einstellung ist für die Bedienung durch die Tastatur sehr wichtig. Sonst können Sehbehinderte z.B. nicht von einem Formularfeld zum nächsten navigieren. Zusätzlich sollte jedes Formularfeld mit einer Beschreibung (rechter Mausklick über dem Feld) für den Screenreader versehen werden.
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.
Über die Symbolleiste für die Formularsteuerelemente (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.
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.
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» unter «Externe Formulare» beschrieben.
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. So können z. B. Daten der Datenbank an ein Webformular zur weiteren Verarbeitung geschickt werden. (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.
•Art des Inhalts: Hier besteht die Wahl zwischen 'Tabelle', 'Abfrage' und 'SQL-Befehl'. Während Tabellen in der Regel immer für Eingaben in einem Formular genutzt werden können, so ist dies bei Abfragen eventuell nicht der Fall. Näheres dazu im Kapitel «Abfragen». Gleiches wie für Abfragen gilt auch für die direkten Eingabe eines SQL-Befehls. Hier handelt es sich dann lediglich um eine Abfrage, die nicht im Abfragecontainer von Base sichtbar ist, aber vom Prinzip her die gleiche Struktur aufweist.
•Inhalt: Wird unter Art des Inhaltes Tabelle oder Abfrage gewählt, so werden hier alle verfügbaren Tabellen und Abfragen gelistet. Soll ein SQL-Befehl erstellt werden, so besteht die Möglichkeit, den Abfrageeditor dazu über den Button mit den drei Punkten rechts von dem Inhaltsfeld aufzurufen.
•SQL-Befehl analysieren: Wird die Analyse des SQL-Befehls nicht zugelassen (weil z. B. mit Code gearbeitet wird, den die GUI eventuell nicht richtig deuten kann), so ist hier 'Nein' zu wählen. Allerdings schließt dies aus, dass das Formular weiterhin noch mit der Filterung oder mit der Sortierung auf die zugrundeliegenden Daten zugreifen kann.
•Filter: Hier kann ein Filter gesetzt werden. Hilfe dazu bietet ein Klick auf den Button rechts von dem Eingabefeld. Das Filtern entspricht dem Filtern von Tabellen.
•Sortierung: Hier kann eine Sortierung der Daten festgelegt werden. Hilfe dazu bietet ein Klick auf den Button rechts von dem Eingabefeld. Das Sortieren entspricht dem Sortieren von Tabellen.
•Daten hinzufügen: Sollen neue Daten erstellt werden können? Standardmäßig ist dies auf 'Ja' eingestellt.
•Daten ändern: Sollen Daten geändert werden können? Ebenfalls Standard 'Ja'.
•Daten löschen: Auch das Löschen von Daten wird standardmäßig ermöglicht.
•Nur Daten hinzufügen: Ist dies gewählt, so erscheint immer ein leeres Formular. Auf die alten Datensätze besteht kein Zugriff, sie können nicht bearbeitet oder auch nur angesehen werden. [IgnoreResult]
•Navigationsleiste: Das Erscheinen der Navigationsleiste am unteren Bildschirmrand kann angeschaltet oder ausgeschaltet werden. Außerdem besteht die Möglichkeit, bei einem Unterformular immer die Navigationsleiste des darüber liegenden Hauptformulars anzeigen zu lassen, so dass eine Betätigung der Navigationsleiste direkte Auswirkung auf das Hauptformular hat.
Diese Einstellung zur Navigationsleiste betrifft nicht die Leiste, die gegebenenfalls als Formularfeld eingefügt werden kann.
•Zyklus: 'Standard' bedeutet hier für Base-Datenbanken, dass nach der Eingabe im letzten Feld innerhalb eines Formulars mit dem Tabulator zum ersten Feld des nächsten Datensatzes, also gegebenenfalls eines neuen Datensatzes, gesprungen wird. Dies ist für die Datenbanken gleichbedeutend mit 'Alle Datensätze'. Wird hingegen bei Datenbanken 'Aktueller Datensatz' gewählt, so bewegt sich der Cursor nur innerhalb des einen Datensatzes, beim Erreichen des letzten Feldes also zum ersten Feld des gleichen Datensatzes.
'Aktuelle Seite' bezieht sich wieder besonders auf HTML-Formulare. Hier springt dann der Cursor vom Ende eines Formulars gegebenenfalls zum nächsten Formular auf der Seite, das weiter unten liegt.
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. Dieses Ereignis tritt nur dann auf, wenn eine URL für die Weitergabe der Daten in Formular-Eigenschaften → Allgemein angegeben wurde. Es wird durch eine Schaltfläche ausgelöst, bei der die Aktion → Formular übertragen gewählt wurde.
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.
Ist ein Formular erstellt, so kann es mit den sichtbaren Kontrollfeldern bestückt werden. Die Kontrollfelder sind für verschiedene Aufgaben gedacht:
•Die meisten zeigen den Inhalt aus der Datenbank an oder nehmen die Daten entgegen, die in die Datenbank eingefügt werden.
•Andere Kontrollfelder dienen zur Navigation, zum Suchen und zur Ausführung von Befehlen (Interaktion).
•Weitere Kontrollfelder sorgen für eine zusätzliche grafische Aufarbeitung des Formulars.
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. |
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. |
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
001 oDoc = thisComponent
002 oDrawpage = oDoc.drawpage
003 oForm = oDrawpage.forms.getByName("Formular")
004 oFeld = oForm.getByName("Formularfeld")
005 oFeld.Printable = True 'Das Feld wird auf "Druckbar"→"Ja" gesetzt.
Allgemein
|
Die Bezeichnung für das Feld sollte innerhalb eines Formulars nur einmal vorkommen – Anwendung bei Zugriff über Makros. |
|
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. |
|
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) |
|
In der Regel 'Ja'; nicht sichtbare Felder können Werte zwischenspeichern. Anwendung z. B. bei der Erstellung von Kombinationsfeldern mit Makros. |
|
'Ja' würde eine Veränderung des Wertes ausschließen; z. B. für die Anzeige eines automatisch erstellten Primärschlüssels sinnvoll. |
|
Manchmal sind Seitenausdrucke aus einem Formular sinnvoller als ein separater Bericht. Hier sollen dann eventuell nicht alle Felder erscheinen. |
|
Durch ein Formular wird in der Regel mit dem Tabulator navigiert. |
|
Hat das Feld einen Tabstop? Hier wird die Reihenfolge innerhalb des Formulars eingestellt. |
|
Verankerung der Grafik, die das Textfeld darstellt. |
|
Position links oben vom linken Rand aus. |
|
Position von oben aus. |
|
Breite des Feldes |
|
Höhe des Feldes |
|
Schriftart, Schriftschnitt, Schriftgrad und Schrifteffekt sind hier einstellbar. |
|
Der Eintrag wird linksbündig dargestellt. |
|
Standard | Oben | Mitte | Unten |
|
Hintergrundfarbe des angezeigten Textfeldes |
|
Rahmenform: Ohne Rahmen | 3D-Look | Flach |
|
Wenn ein Rahmen, dann kann hier die Umrandungsfarbe eingestellt werden. |
|
Markierter Text wird so nicht mehr als markiert angezeigt, wenn das Textfeld den Fokus verliert. |
|
Gut nutzbar für Informationen, die mittels Makros ausgelesen werden sollen, siehe «Zusatzinformationen eines Feldes» im Kapitel «Makros». |
|
Erscheint als sogenannter Tooltip, wenn mit der Maus über das Textfeld gefahren wird. |
|
Verweist z. Zt. nur auf die interne Hilfedatei. Die entsprechende Zuordnung von einer sogenannten Hilfe-ID (HID) zu den Verlinkungen in der Hilfe steht in der Datei help/hid2file.js. Diese Datei enthält ein Array, von dem das Element, das vor dem Doppelpunkt steht, zum Anspringen der internen Hilfe genutzt werden kann. Durch F1 abrufbar, wenn der Fokus auf dem Feld liegt. |
Zusätzlich sind bei Zahlenfeldern, Datumsfeldern u.ä. üblich: | |
|
Mit eingeschalteter Überprüfung ist nur die Eingabe von Ziffern und Komma möglich. |
|
'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. |
|
Ein Drehsymbol wird an der rechten Seite des Feldes eingeblendet. |
|
Wenn ein Drehfeldpfeil länger gedrückt wird lässt sich hier einstellen, ob nicht nur zum nächsten Wert gedreht werden soll. |
|
Stellt die Verzögerungszeit ein, nach der der Druck auf die Maustaste beim Drehfeld Wiederholung interpretiert wird. |
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]
Hinweis
Den Eintrag Leere Zeichenfolge ist NULL enthalten nicht alle Formularfelder. So verfügt z. B. ein Numerisches Feld nicht über den Eintrag. Das führt dazu, dass nach einem einmal erfolgten Eintrag bei einer Löschung das Feld immer wieder auf den Wert '0' zurück springt. Die Allroundlösung ist hier ein Formatiertes Feld.
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]
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. |
|
Soll in einem leeren Feld ein Standardtext erscheinen? Dieser Text muss gelöscht werden, wenn ein anderer Eintrag erfolgen soll. |
|
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. |
|
'Unix' oder 'Windows'? Prinzipiell funktionieren beide Endungen. Intern müssen für Windowszeilenenden aber zwei Steuerzeichen verwendet werden (CR und LF). |
|
Nur bei mehrzeiligen Feldern: 'Keine', 'Horizontal', 'Vertikal', 'Beide' |
|
Aktiv nur bei einzeiligen Feldern. |
Daten
keine weiteren Besonderheiten
Ereignisse
keine weiteren Besonderheiten
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. |
|
Maximalwert |
|
Intervall-Wert für die Funktion als Scrollelement per Mausrad bzw. Drehfeld |
|
Wert, der beim Erstellen eines neuen Datensatzes angezeigt wird. |
|
Anzahl Nachkommastellen, bei Integer-Feldern auf '0' zu stellen |
|
Trennzeichen für Tausenderstellen, in der Regel der Punkt |
Daten
Es erfolgt keine Nachfrage, ob das Feld NULL sein soll. Eine fehlende Eingabe belässt dennoch das Feld auf NULL, nicht auf '0'. Wird allerdings erst einmal eine Eingabe gemacht, so lässt sich diese nicht komplett löschen. Statt NULL wird sie anschließend auf '0' gesetzt.
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.
Das Datumsfeld kann als aufklappbares 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. |
|
Maximalwert. |
|
Kurzform wie 10.02.12 sowie unterschiedliche Formen auch mit '/' statt '.' oder '-' in amerikanischer Schreibweise. |
|
Hier kann ein festes Datum vorgegeben werden. Das aktuelle Datum (Heute) beim Aufruf des Formulars muss leider (noch) durch ein Makro eingetragen werden. |
|
Ein Monatskalender zur Auswahl des Tages kann eingeblendet werden. |
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.
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. |
|
Maximalwert, standardmäßig auf 1 Sekunde unter 24 Uhr gesetzt. |
|
Kurzform ohne Sekunden, Langform mit Sekunden sowie Benennungen mit PM (post meridiem / Nachmittag) |
|
Eine feste Zeit ist voreinstellbar, die aktuelle Zeit beim Abspeichern des Formulars leider (bisher) nur mit Makro. |
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.
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. |
|
Soll das Symbol vor oder hinter der Zahl erscheinen? |
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.
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. |