4D v16.3Feldeigenschaften |
|||||||||
|
4D v16.3
Feldeigenschaften
Feldeigenschaften
Zusätzlich zu Feldname und -typ (siehe 4D Datenfeldtypen) bestimmen Feldeigenschaften die Darstellung sowie Konditionen für Eingabe, Anzeigen, Ändern und Speichern von Daten. Jedes Datenfeld lässt sich individuell einstellen. Sie stellen die Feldeigenschaften im Inspektorfenster ein. Für bestimmte Eigenschaften können Sie auch das Kontextmenü verwenden. Es erscheint, wenn Sie mit der rechten Maustaste auf ein Datenfeld klicken. Hinweis: Sie können die Eigenschaften eines Datenfeldes ändern, für das bereits Daten eingegeben wurden. Bestimmte Änderungen berücksichigten vorhandene Daten. Wählen Sie z.B. das Attribut Einmalig, zeigt 4D eine Meldung und erlaubt keine Aktivierung dieses Attributs, wenn Daten in diesem Feld doppelte Werte enthalten. Der Bereich "Definition" des Inspektorfenster konfiguriert die grundlegenden Eigenschaften für das Feld. Einige Eigenschaften sind nur für bestimmte Feldtypen verfügbar. Sie können jedem Feld eine Farbe zuweisen. Mit Farben können Sie Felder nach ihren Attributen oder ihrem Zweck klassifizieren. Sie können z.B. einmalige Felder oder zwingende Felder jeweils in einer anderen Farbe kennzeichnen. Hinweis: Die Farbe für Felder im Struktureditor hat keine Auswirkung auf die Farbe von Feldern in Formularen (siehe Farben für Hintergrund und Rahmen). Die Farbe für ein Feld wird auf den Feldnamen angewandt. Um eine Farbe zu setzen, markieren Sie das bzw. die gewünschten Datenfelder und wählen eine Farbe auf folgende Weise:
Über die Option Automatik können Sie wieder zur ursprünglichen Farbe des Datenfeldes zurückgehen. Sie können ein Datenfeld für den Anwendungsmodus und für Plug-Ins ausblenden, wenn Sie für dieses Datenfeld die Eigenschaft Unsichtbar wählen. Die Eigenschaft Unsichtbar blendet das Datenfeld für den Benutzer aus. Ein Datenfeld mit dieser Eigenschaft erscheint nicht in den 4D Standard-Editoren und Dialogfenstern des Anwendungsmodus. Davon sind folgende Editoren und Dialogfenster betroffen:
An allen diesen Stellen kann der Benutzer das Datenfeld weder sehen noch auswählen. Er kann z.B. ein ausgeblendetes Datenfeld nicht in einem mit dem Schnellberichteditor erstellten Bericht verwenden. Hinweis: Wenn Benutzer diese Editoren einsetzen, können sie ihre Spezifikationen in Dateien auf der Platte speichern, z.B. Kriterien einer Suche oder Sortierung. Dafür werden auch unsichtbare Datenfelder verwendet. Außerdem können Benutzer die Namen ausgeblendeter Datenfelder in das Dialogfenster Formeleditor schreiben. Ausgeblendete Datenfelder werden im Fenster des Struktureditors kursiv dargestellt. Die Eigenschaft Einmalig benutzen Sie, wenn Sie sicher sein wollen, dass jeder Datensatz einen unterschiedlichen, einmaligen Wert in diesem Datenfeld hat. Einmalig sollte für das Datenfeld definiert werden, welches jeden Datensatz in der Tabelle eindeutig kennzeichnet. Diese Eigenschaft ist sinnvoll für Datenfelder, in denen Personalnummer, Sozialversicherungsnummer und Auftragsnummer o.ä. gespeichert werden. Einmalig verhindert, dass leere Werte dupliziert bzw. aktuelle Werte doppelt eingegeben werden. Ein leeres Datenfeld kann nicht in einen anderen Datensatz dupliziert werden. Die Informationsleiste im Struktureditor zeigt an, ob die Eigenschaft Einmalig für ein Datenfeld ausgewählt ist. Weitere Informationen dazu finden Sie im Abschnitt Struktureditor. In 4D müssen Felder mit der Eigenschaft Einmalig indiziert werden:
Diese Option steuert, ob das Feld für 4D Mobile Anfragen zugänglich ist, die via REST an die 4D Datenbank gesendet werden. Standardmäßig sind alle Tabellen und Felder in 4D Mobile veröffentlicht. Dazu deaktivieren Sie die Option Mit 4D Mobile Service veröffentlichen für das entsprechende Feld. Hinweis: Sie können diese Option auch für eine ganze Tabelle setzen, siehe Tabelleneigenschaften. Beachten Sie, dass ein Feld über 4D Mobile nur zugänglich ist, wenn das auch für die übergeordnete Tabelle gilt. Ist sie nicht veröffentlicht, gilt das auch für alle dazugehörigen Felder, unabhängig welchen Status sie haben. So können Sie die 4D Mobile Veröffentlichung für eine Tabelle je nach Bedarf aktivieren/deaktivieren und die Einstellung der einzelnen Felder unverändert lassen. Diese Option lässt sich im Rahmen der "4D Mobile" Funktionalität verwenden. Weitere Informationen dazu finden Sie im Handbuch 4D Mobile. Das Attribut Eingabe von NULL verweigern verhindert das Speichern von NULL Werten. Diese low-level Eigenschaft entspricht exakt dem Attribut NOT NULL von SQL. Wollen Sie in Ihrer 4D Datenbank die Möglichkeit haben, NULL Werte zu verwenden, empfehlen wir, dafür ausschließlich die SQL Sprache von 4D einzusetzen. Hinweis: In 4D können Datenfelder auch das Attribut „Zwingend” haben (siehe unten). Beide Konzepte sind ähnlich, ihre Reichweite ist jedoch unterschiedlich: Das Attribut “Zwingend” dient zur Kontrolle bei der Dateneingabe, während das Attribut “Eingabe von NULL Werten verweigern” auf Engine-Ebene der Datenbank arbeitet. Die Eigenschaft NULL Werten leere Werte zuordnen sorgt dafür, dass 4D jeden Nullwert, der im Datenfeld auftritt, als standardmäßigen 4D Leerwert betrachtet. Diese Option ist standardmäßig markiert. myAlphavar:=[mytable]MyAlphafield ... enthält das Datenfeld MyAlphafield einen Wert NULL, enthält die Variable myAlphavar “” (Leerstring).
Andererseits greift diese Funktionsweise in der Regel nicht bei Operationen auf Ebene der 4D Datenbank-Engine, z.B. Suchläufe. Eine Suche nach einem „leeren“ Wert, z.B. MeinWert=0, findet keine Datensätze, die den Wert NULL enthalten, und umgekehrt. Sind beide Werte, also Standard- und NULL Wert in den Datensätzen für dasselbe Datenfeld vorhanden, kann das bestimmte Operationen beeinträchtigen oder zusätzlichen Code erfordern. Diese Eigenschaft wird auf einer sehr niedrigen Ebene der Datenbank Engine berücksichtigt. Sie arbeitet hauptsächlich mit der 4D Funktion Is field value Null. Hinweis: Alphanumerische Felder im UUID Format, die nicht generiert werden, werden nicht als NULL gewertet (UUID Format). Die Eigenschaft Autoincrement ermöglicht, für Datensätze einmalige Kennummern zu erzeugen. Diese Eigenschaft ist für Datenfelder vom Typ Ganzzahl, Lange Ganzzahl und Ganzzahl 64 bit möglich. Weitere Informationen dazu finden Sie im Abschnitt 4D Datenfeldtypen. Ein Datenfeld mit dieser Eigenschaft zählt automatisch weiter, wenn ein Datensatz in der Tabelle angelegt wird. Die dem Feld zugewiesene Nummer passt zum "internen Zähler" der Tabelle, den 4D verwaltet. Auf diesen internen Zähler lässt sich über die 4D Befehle Sequence number und Get database parameter zugreifen, sowie über den Marker #N. Weitere Informationen dazu finden Sie im Abschnitt Standardwerte. Die zugewiesenen Nummern sind dauerhaft und werden nie wiederverwendet, selbst wenn Datensätze gelöscht werden. Nummern, die während einer Transaktion erzeugt und dann wieder gelöscht werden, gehen verloren. Diese Eigenschaft entspricht dem SQL Attribut SQL AUTO_INCREMENT und lässt sich mit dieser Programmiersprache spezifizieren (siehe Beispiel unten). Für Felder mit diesem Attribut erscheint die Bezeichnung AUTOINCREMENT auch im Bereich "SQL" des Inspektorfensters Der folgende Code erzeugt in der Tabelle "Tiere" ein "id" Feld vom Typ Ganzzahl: ARRAY TEXT($names;6) Der folgende Code: SELECT * FROM Tiere; ... gibt diese Werte zurück:
Diese Option ist nur für Datenfelder vom Typ Text, BLOB, Bild und Objekt verfügbar. Sie können für Daten dieser Felder einen Speicherort setzen. Es gibt folgende Optionen:
Wie bereits im vorigen Absatz beschrieben, werden zur Optimierung Daten aus Feldern vom Typ BLOB, Bild, Text und Objekt standardmäßig außerhalb der Datensätze oder außerhalb der Datendatei gespeichert. Bearbeitet Ihre Anwendung BLOBs, Bild-, Text- oder Objektdaten unterschiedlicher Größe, ist es hilfreich, wenn Sie den Speicherort von der Größe abhängig machen können, um die Performance zu optimieren. Diese Einstellung können Sie im Inspektorfenster für Felder definieren. Der im Bereich Max. Größe bei interner Speicherung eingegebene Wert gibt den Grenzwert in Bytes an, bis zu dem die Daten im Feld innerhalb des Datensatzes gespeichert werden. Geben Sie z.B. für ein Datenfeld vom Typ Bild den Wert 30 000 ein, wird ein Bild mit 20 KB innerhalb, ein Bild mit 40 KB außerhalb des Datensatzes gespeichert. Standardmäßig ist der Wert 0 vorgegeben, d.h. alle Daten werden außerhalb der Datensätze gespeichert. Diese Eigenschaft ist für Datenfelder vom Typ Alpha verfügbar. Sie gibt an, dass das Feld UUID Identifier speichert. Die gespeicherten Daten müssen dann konform zum UUID Format sein (Kombination aus 32 Buchstaben [A-F, a-f] und Zahlen [0-9]). Sie können dafür die Eigenschaft Auto UUID, den 4D Befehl Generate UUID oder einen beliebigen eigenen Algorithmus verwenden. Versuchen Sie, eine Zeichenkette zu speichern, die nicht dem UUID Format in diesem Feld entspricht, wandelt 4D diese automatisch um. Diese Operation wird auch auf den Inhalt nicht-alphanumerischer Datenfelder angewandt, die in UUID Felder umgewandelt werden: Beim Laden der Datensätze werden die Werte umformatiert und erneut gespeichert. Felder mit der Eigenschaft UUID Format lassen sich in Formularen anzeigen und bleiben eingebbar. Ihr Inhalt erscheint in Großbuchstaben. Zur Anzeige von Kleinbuchstaben müssen Sie über eine Variable gehen. Hinweise:
Diese Option ist nur aktiv, wenn Sie die Eigenschaft UUID Format gewählt haben. Damit wird, immer wenn ein Datensatz erstellt wird, im Feld automatisch eine UUID Nummer erzeugt. Diese Nummer wird in folgenden Kontexten automatisch berechnet:
In allen Fällen muss der Datensatz natürlich gesichert werden, damit das automatisch generierte UUID im Feld gesichert wird. Hinweis: Beim Datenimport generiert 4D keine neue Nummer, selbst wenn diese Eigenschaft markiert ist, sondern verwendet die importierten Werte und wandelt sie bei Bedarf um, wenn das Format nicht gültig ist. Ist der Wert des importierten Feldes dagegen leer, wird automatisch eine UUID zugewiesen. Hinweis zur Kompatibilität: Diese Option wird nur zur Wahrung der Kompatibilität beibehalten. Sie hat standardmäßig keine Auswirkung. Um sie zu nutzen, müssen Sie QuickTime in Ihrer Anwendung aktivieren (siehe Überblick über Bilder). Diese Eigenschaft ist für Datenfelder vom Typ Text oder Alpha verfügbar. Ist diese Option markiert, berücksichtigen Such- und Sortierläufe auf die im Datenfeld gespeicherten Daten keine evtl. enthaltenen Stil-Tags. Diese Option bezieht sich auf die Möglichkeit, verschiedene Stilarten innerhalb eines Textbereichs im Formular anzuwenden. Weitere Informationen dazu finden Sie im Abschnitt GET DATA SOURCE LIST. Stilelemente werden durch Einfügen von HTML Tags in den Text angelegt. Diese Tags werden beim Anzeigen des Textbereichs interpretiert. Stil-Tags werden mit den Daten gespeichert. Schreiben Sie zum Beispiel "Wochen ende" in ein Textfeld, speichert 4D "Wochen <SPAN STYLE = "color: #D81E05">ende</SPAN>". Diese Formatierung ist für den Benutzer auf Formularebene unsichtbar. Such- und Sortierläufe erfordern dagegen eine spezifische Einstellung, damit 4D die Stil Tags ignoriert. Die Suche nach "Wochenende" findet das Wort nur, wenn Sie für das Feld im Inspektorfenster die Option Text Suchen/Sortieren ohne Stil-Tags markiert haben. Hinweis: Mit dieser Option entspricht eine Suche für derWert in den Daten von dasFeld folgender Anweisung in 4D: QUERY BY FORMULA(OBJECT Get plain text(dasFeld)="derWert") Die Eigenschaft Index ist für alle Datenfeldtypen mit Ausnahme von BLOB und Bildern verfügbar. Der Volltext-Index ist für Datenfelder vom Typ Alpha, Text und Bild verfügbar. Sie können für Datenfelder und eingebbare Objekte auf Formularebene Dateneingabe Kontrollen definieren. Sie beschränken dann die Eingabe durch den Benutzer auf eine bestimmte Form. Ist für ein Datenfeld die Eigenschaft Zwingend markiert, muss der Benutzer bei der Dateneingabe in dieses Datenfeld einen Wert eingeben. 4D akzeptiert keinen Datensatz, der ein leeres Datenfeld enthält, wenn die Eingabe zwingend ist. Diese Eigenschaft bewahrt die Integrität der Datensätze. Sie ist für Datenfelder sinnvoll, die wichtige Informationen für Ihre Datenbank enthalten. Ein Datenfeld, das jeden Datensatz eindeutig kennzeichnet, ist hierfür ein gutes Beispiel. Das kann die Nummer der Sozialversicherung, Rechnungsnummer oder die Personalnummer sein. Sie können Zwingend auch für ein Datenfeld in einem einzelnen Formular vorgeben. Wählen Sie die Eigenschaft im Struktureditor, können Sie diese für ein einzelnes Formular nicht deaktivieren. Sie können sie jedoch in einem Formular für ein Datenfeld anwenden, welches diese Eigenschaft im Struktureditor nicht hat. Weitere Informationen dazu finden Sie im Abschnitt Attribute Eingebbar und Zwingend und Feldeigenschaften. Hinweis: In 4D können Felder auch die Eigenschaft Eingabe von NULL verweigern haben (siehe oben). Beide Konzepte sind ähnlich, sind jedoch von unterschiedlicher Reichweite: Zwingend ist eine Dateneingabe Kontrolle, während Eingabe von NULL verweigern auf Engine-Ebene arbeitet. Ist die Eigenschaft Nicht änderbar für ein Datenfeld vorgegeben, akzeptiert 4D den anfänglich in dieses Datenfeld eingegebenen Wert, erlaubt jedoch dem Benutzer nicht, diesen Wert zu ändern, sobald der Datensatz gespeichert ist. Der Benutzer kann einen Eintrag in ein solches Datenfeld nur beim ersten Erstellen bearbeiten. Sobald er diesen Datensatz speichert, lässt sich der Wert nicht mehr bearbeiten. Er lässt sich dann nur über eine Methode oder im Designmodus durch Aufheben dieser Eigenschaft ändern. Hinweis: Diese Eigenschaft gilt nur für Datenfelder im Standardeingabeformular. In den anderen Fällen, also Eingabe in Liste, in Unterformularen im Eingabe- oder Ausgabeformular, lässt sich der Wert des Datenfeldes weiterhin ändern. Der Benutzer kann in ein Datenfeld, für das die Eigenschaft Nur anzeigen markiert ist, keine Werte über die Tastatur eingeben. Für dieses Datenfeld müssen Sie einen voreingestellten Wert verwenden oder eine Methode schreiben, die einen Wert in dieses Datenfeld eingibt. Ein Datenfeld mit der Eigenschaft Nur anzeigen ist sinnvoll für Werte, die der Benutzer der Anwendung nicht ändern soll, wie z.B. berechnete Summen oder eine von einer Methode vergebene laufende Nummer. Diese Option ist nur für Datenfelder vom Typ Text verfügbar. Ist sie markiert, wird das Textfeld automatisch gestaltet, so dass es mehrere Zeilen enthalten kann. Es erhält folgende Merkmale:
Ist diese Option nicht markiert, erscheinen Textfelder in Formularen wie alphanumerische Felder, d.h. sie bestehen aus einer einzigen Zeile und haben keinen Rollbalken. In diesem Fall springen Sie mit der Zeilenschaltung in das nächste Datenfeld im Formular. Sie können die Standarddarstellung des Feldes jederzeit im Formulareditor verändern. Die Eigenschaft Auswahlliste verwenden Sie, wenn Sie für die Eingabe von Daten in das Datenfeld eine Auswahlliste anzeigen wollen. Dafür müssen Sie vorher im Listeneditor eine Auswahlliste anlegen (siehe Auswahllisten). Sie können die Auswahlliste auch einem Datenfeld in einem bestimmten Formular zuweisen. Wenn Sie die Auswahlliste nur einem Formular zuweisen, erscheint sie nicht in anderen Editoren, wie z.B. dem Sucheditor und in den Dialogfenstern. Weitere Informationen dazu finden Sie im Abschnitt Eingabekontrollen. Hinweis: Auf Formularebene können Sie auch Auswahllisten mit erforderlichen oder ausgeschlossenen Werten einrichten. Markieren Sie die Eigenschaft Auswahlliste, wird das zugeordnete DropDown-Menü aktiviert. Hier können Sie dem Datenfeld eine bereits vorhandene Auswahlliste zuweisen oder auf den Bereich [...] klicken, um den Listeneditor zum Erstellen einer Liste zu öffnen (siehe Auswahllisten). Mit einem Tipp, den Sie einem Datenfeld hinzufügen, geben Sie Benutzern weitere Informationen über das Datenfeld. Sind die Tipps aktiviert, erscheint der Tipp – egal, in welchem Formular das Datenfeld liegt – sobald der Benutzer den Mauszeiger auf das Datenfeld setzt. Ein Tipp erscheint auf allen Plattformen. Sie können den Tipp auch für ein Datenfeld in einem bestimmten Formular verwenden, so dass er nicht in den anderen Formularen erscheint. Weitere Informationen dazu finden Sie im Abschnitt Hilfemeldungen. Im Bereich Kommentar in der Inspektorpalette können Sie zusätzliche Information über das Datenfeld speichern, die dann für alle Entwickler zur Verfügung steht. Der Bereich SQL der Inspektorpalette enthält verschiedene Informationen über das Datenfeld zur Verwendung mit der SQL Programmiersprache. Der Bereich zeigt an, ob der Name des Datenfeldes für SQL nicht-erlaubte Zeichen enthält. SQL erlaubt z.B. im Gegensatz zu 4D keine Namen mit Leerzeichen.Bei Datenfeldern erscheinen auch die SQL Attribute wie Typ und Eigenschaften.
Siehe auch
|
EIGENSCHAFTEN
Produkt: 4D
GESCHICHTE
ARTIKELVERWENDUNG
4D Designmodus ( 4D v16) |
|||||||