Jeder kennt sie: Pulldown- oder Dropdown-Felder, aus welchen genau ein Wert gewählt werden kann. Und Checkboxen, aus denen man
keinen, einen oder mehrere Werte anhaken kann. Wie lassen sich diese realisieren?
Erster Fall: Ja/Nein
Für diesen Fall genügt es, als Datentyp bit zu wählen und im Menü 3: Tabellen
als Ja/Nein - Typ auszuwählen, was angezeigt werden soll:
Ja/Nein
Yes/No
Checkbox
Intern wird Nein/No als 0, Ja/Yes als 1 dargestellt. Eine Abfrage
Where <Spalte vom Typ Boolean> = 1
gibt folglich alle Zeilen zurück, bei welchen 'Ja' ausgegeben wird.
Zweiter Fall: Kleine Relation
Das ist eine Pulldown-Liste, die nur wenige Werte anzeigt und die eigentlich nie geändert werden muß. Diese lassen sich auf eine
unmittelbare Weise im Menü 3: Tabellen
deklarieren:
Datentyp int (Integer, Ganzzahlen)
Im Feld PDown-Werte einfach eine Liste eintragen:
1;Firma;2;Frau;4;Mann
erzeugt
als drei Varianten der Anrede
Intern werden die Zahlen verwendet. Werden Potenzen von 2 gewählt, kann man später auch mit Bitoperationen Werte überprüfen:
Where (<Spalte> & 6) <> 0
gibt alle Zeilen zurück, die 'Frau'/'Mann' enthalten. Bei insgesamt drei Werten ist das natürlich auch durch
Where <Spalte> <> 1
überprüfbar.
Dritter Fall: Umfangreiche Pulldownlisten
Wenn die Pulldown-Listen umfangreicher werden (mehr als 10 Werte) oder wenn - im Rahmen von Haupt- und Detailtabellen - die Daten
für die Pulldownlisten aus einer anderen Tabelle kommen und wiederholt ergänzt, geändert oder gelöscht werden, dann wird eine
eigenständige Tabelle genutzt. Minimal muß diese eine Spalte enthalten. Bei Haupt- und Detailtabellen wie Artikel und Artikelverkäufe
kann die Haupt- oder Basistabelle auch mehrere Spalten enthalten. Für eine Pulldownliste genügt es, im
Menü 7: Verknüpfungen
eine Verknüpfung zwischen beiden Tabellen zu definieren:
Die Basistabelle wird im Feld 'Grundtabelle' ausgewählt. Im Feld 'Detailspalte' wird eine Spalte vom Datentyp 'int' gewählt.
Schließlich müssen ein 'gezeigter Ausdruck' aus den Spaltennamen der Grundtabelle und möglichen Operatoren / Funktionen und ein
Name für diese Verknüpfung festgelegt werden. Den Rest erledigt das System automatisch.
Ein Beispiel hierzu liefert die Tabelle Umsatz,
hier mit dem View über alle Spalten. Die Spalten 'VertreterId' und 'ArtikelId' sind Integer-, also Ganzzahl-Spalten. Ein View
liefert jedoch nicht diese unverständliche Zahl, sondern den Ausdruck, der sich anhand des 'gezeigten Ausdrucks' aus den Werten
des zugeordneten Grunddatensatzes ergibt. Ferner werden die Relationen auch bei den Eingabemasken entsprechend berücksichtigt.
Hier werden Pulldown-Listen mit 10 Werten und Buttons zum Blättern ausgegeben.
Vierter Fall: Viele Checkboxen mit Mehrfachauswahl
Der auf den ersten Blick komplizierteste Fall liegt dann vor, falls eine ganze Reihe von Checkboxen ausgegeben werden sollen, so daß
Nutzer einen oder mehrere Werte auswählen können. Die eine Variante besteht darin, für jede Wahlmöglichkeit eine Bit-Spalte
zu verwenden. Dies ist im ersten Fall beschrieben. Das ist unnötig kompliziert. Stattdessen steht die folgende Möglichkeit
zur Verfügung:
Definieren Sie sich eine Tabelle vom Typ bitTable im Menü 3: Tabellen
:
Als Sondertyp 'bitTable' wählen, einen Tabellennamen vergeben und eine einzige Spalte vom nvarchar-Typ erstellen.
Diese Tabelle füllen Sie mit den Zeilen auf, die später als Optionen ausgegeben werden sollen. Beispiel:
1 Deutsch
2 Französisch
4 Englisch
8 Spanisch
Die IDs werden bei bitTable-Tabellen automatisch in Zweierpotenzen hochgezählt. Hier sind bis zu 31 Werte möglich.
Die Tabelle, welche die Werte nutzen soll, erhält eine Spalte vom Typ bitSet.
Schließlich deklarieren Sie im Menü 7: Verknüpfungen
eine Verknüpfung:
Als Grundtabelle wählen Sie die im ersten Schritt erstellte Tabelle, als 'gezeigten Ausdruck' den Namen der Spalte.
'Detailspalte' wird die Spalte vom Typ 'bitSet' in der Detailtabelle.
Rufen Sie nun die Detailtabelle zum Editieren auf - alles ist wie erwartet. Intern werden die Bitkombinationen der angehakten
Werte gespeichert. Wurde oben 'Deutsch' und 'Englisch' angehakt, so wird das interne Integer-Feld mit 5 (= 1 + 4) gefüllt.
Link zur hiesigen Seite als QR-Code
Kontaktformular:
Schreiben Sie mir und wir bauen gemeinsam Ihre neue Web-Datenbank!
Mit dem Klick auf den Button stimmen Sie zu, daß Cookies in Ihrem Browser gespeichert werden. Informationen zu den gespeicherten Cookies finden Sie unter Datenschutz#Cookies.Bei Fragen zur Technik wenden Sie sich bitte an Server-Daten - Web-Datenbank-Lösungen