Bedingte Formatierung
Wenn Sie SELECT-Anweisungen im SQL Editor ausführen, werden die abgerufenen Daten im Fenster "Ergebnis" (oder bei Ausführung mehrerer Abfragen in mehreren Ergebnisfenstern) angezeigt. Sie können das Aussehen der abgerufenen Daten (z.B. Farbe, Hintergrund, Schriftbreite) auf Basis benutzerdefinierter SQL-Bedingungen ändern. So können Sie z.B. bestimmte Werte im Ergebnisraster mit gelbem Hintergrund anzeigen lassen, wenn diese einen bestimmten Grenzwert übersteigen.
Die Abbildung unten zeigt ein Beispiel für eine bedingte Formatierung in einer SQLite-Datenbank. Sie finden dieses Beispielprojekt unter dem folgenden Pfad: C:\Benutzer\<Benutzername>\Dokumente\Altova\DatabaseSpy2024\DatabaseSpyExamples\Tutorial\NanonullEnterprise.qprj. Ziel in diesem Beispiel ist es, die folgende bedingte Formatierung anzuwenden:
•Datensätze, deren Anzahl (quantity) 200 übersteigt, müssen fett und mit orangem Hintergrund angezeigt werden.
•Datensätze, deren Anzahl weniger als 10 beträgt, müssen kursiv und mit türkisem Hintergrund dargestellt werden.
![ds_condformat_01](./images/ds_condformat_01.png)
Bedingte Formatierung in der SQLite-Syntax
Damit bedingte Formatierung unterstützt wird, muss die SQL-Anweisung, wie oben gezeigt, eine Alias-Spalte enthalten, die konventionsgemäß den Namen DbSpyRowSettings haben muss. DatabaseSpy verarbeitet diese Spalte dadurch als Anweisung für die bedingte Formatierung. Beachten Sie, dass die Alias-Spalte aus einem "CASE"-Konstrukt besteht. Die WHEN-Verzweigung ist der SQL-Ausdruck, in dem Sie die zu überprüfende Bedingung in der entsprechenden Datenbankgrammatik angeben. Die THEN-Verzweigung ist ein String, der Formatierungsstile wie z.B. Schriftbreite oder Hintergrundfarbe definiert. Dieser String muss in der datenbankspezifischen Grammatik in Anführungszeichen gesetzt werden, damit er für die Datenbank wie ein String aussieht.
Die SQL-Syntax, die eine Alias-Spalte definiert, hängt vom Datenbanktyp ab. Spezifische Beispiele für verschiedene Datenbankarten finden Sie weiter unten. Nähere Informationen dazu finden Sie in der Dokumentation des jeweiligen Datenbankanbieters. |
Es können die folgenden Stile verwendet werden:
Stil | Anmerkungen | Beispiel |
---|---|---|
Textstil | Text kann fett, kursiv oder unterstrichen formatiert werden. | font:bold font:italic font:underline |
Schriftgröße | Die Schriftgröße kann in festgelegten Einheiten (denselben wie im Dialogfeld Optionen) oder als Prozentwert definiert werden. Ein Prozentwert ist relativ zu der im Dialogfeld "Optionen" definierten Schriftgröße. | font-size:10 font-size:150% |
Schriftartfamilie | Im Gegensatz zu anderen Stilen spielt die Groß- und Kleinschreibung bei Schriftartnamen eine Rolle. Schriftartnamen können in Anführungszeichen gesetzt werden, solange die SQL-Anweisung gültig bleibt. | font-family:Arial |
Textfarbe | Die Textfarbe kann als hexadezimaler Wert (ohne Beachtung der Groß- und Kleinschreibung) oder als benannte Farbe ausgedrückt werden. Eine Referenz zu allen verfügbaren benannten Farben finden Sie unter https://www.w3.org/TR/2003/REC-SVG11-20030114/types.html, Abschnitt 4.2. | color:yellow color:#FFFF00 |
Hintergrundfarbe | Die Hintergrundfarben können dieselben Werte wie Textfarben haben. | background-color:gold background-color:#FFD700 |
Anmerkungen:
•Sie können mehrere durch Semikola getrennte Stile verwenden, z.B.: background-color:gold; font: bold; color: blue;. Leerzeichen zwischen den Stilen sind nicht relevant.
•Wenn die von Ihnen eingegebenen Stile nicht erkannt werden, ignoriert DatabaseSpy sie, ohne Fehler oder Warnungen anzuzeigen.
•Die Spalte DbSpyRowSettings kann an jeder beliebigen Stelle in der Spaltenliste vorkommen.
•Die Groß- und Kleinschreibung der Spalte DbSpyRowSettings bzw. der Stile spielt (außer bei Schriftartnamen, siehe oben) keine Rolle.
•Wenn eine bedingt formatierte Zelle, Spalte oder Zeile den Fokus hat (ausgewählt ist), hat die Hintergrundfarbe keine Auswirkung. Es werden dann nur Textfarbe und Schriftart angewendet.
•Es empfiehlt sich für eine bessere Anzeige eventuell in den Optionen für die Ergebnisansicht das Kontrollkästchen Raster in unterschiedlichen Farben anzeigen zu deaktivieren.
Bedingte Formatierung in verschiedenen Datenbankarten
Im Folgenden sehen Sie einige datenbankspezifische Beispiele für SQL-Anweisungen, in denen bedingte Formatierung zum Einsatz kommt. Beachten Sie, dass hier nur einige der Methoden gezeigt werden, mit denen eine bedingte Formatierung angewendet werden kann. Wenn dies von der Datenbank unterstützt wird, können dieselben Ergebnisse auch auf komplexere Arten, z.B. mittels Unterabfragen, gespeicherten Prozeduren, usw. erzielt werden.
Datenbankart | Beispiel |
---|---|
Access | Verwenden Sie die SWITCH-Funktion, siehe https://support.office.com/en-us/article/Switch-Function-D750C10D-0C8E-444C-9E63-F47504F9E379
SELECT [id],
Verwenden Sie alternativ dazu die IF-Funktion, siehe https://support.office.com/en-us/article/IIf-Function-32436ECF-C629-48A3-9900-647539C764E3
SELECT [id], |
IBM DB2 IBM DB2 for i Oracle PostgreSQL Progress OpenEdge SQLite Sybase Teradata | SELECT "id", |
IBM Informix | SELECT id, |
MariaDB MySQL | SELECT `id`, |
SQL Server | SELECT [ProductID], |