Tipps und Tricks rund um Word
Funktion DATABASE - SELECT
- Generelle Funktion
- Schalter für DATABASE
- SELECT-Anweisung
- Beispiel: Kursleiter, Kurse und Bürotage
- Beispiel: Wohnungen und Besitzer
- Beispiel: Offene Rechnungen pro Kunde
- Beispiel: Liste der Kursleiter mit Anzahl
- Beispiel: Liste der Reiseteilnehmer in Serienbrief (Blog)
- Fehler "Ungültiges Seriendruckfeld"
- Fehler: zu wenig Zeichen werden ausgelesen
Der Schalter \s "SELECT ..." erlaubt eine Auswahl bestimmter Felder aus der Ursprungstabelle, eine Filterung und Formatierung.
- Der gesamte Ausdruck SELECT wird in doppelte Anführungszeichen gefasst.
- Spaltennamen stehen in Accent Graves `Kurs`(Shift + Accent, dann Leerschritt)
- Formatanweisungen oder Schalter stehen in einfachen Anführungszeichen 'dd.mm.yyyy'
- SELECT wird mit einem Semikolon geschlossen, wenn nicht alle Felder ausgewählt werden
- Der Spaltenname der Tabelle kann geändert werden mit dem Schalter AS
\s "SELECT `Kurs`, Format (`Datum`, 'dd.mm.yyyy') as Datum, `Raum` FROM `Kurse$` WHERE ((`Name` = '{mergefield name}'));"
\s "SELECT `Kurs`, Format (`Date`, 'dd.mm.yyyy') as Datum, `Raum` FROM `Kurse$` WHERE ((`Name` = '{mergefield name}'));"
\s "SELECT `Name`, `Kurs`, `Datum`, `Raum` FROM `Kurse$` WHERE ((`Kurs` = 'Word')) ORDER BY `Raum`;"
SELECT * | suche alle Felder aus
|
SELECT `Name`, `Kurs`, `Datum` | verwende nur die Spalten: Name, Kurs und Datum
|
FROM `Kurse$` | Tabellenblattname aus einer Excel-Arbeitsmappe
|
Format (`Datum`, 'dd.mm.yyyy') as Datum | Datumsformat in der Schreibweise 03.09.2014 - immer notwendig, da sonst die amerikanische Schreibweise verwendet wird. Die Spaltenüberschrift muss ausdrücklich wiederholt werden: ... as Datum (ohne Anführungszeichen!). Besteht der Alias aus mehreren Worten, muss er in Accent Graves eingefasst werden: `Umsatz 2012`
|
Format (`Betrag`, '#,##0.00 €') as Betrag | Zahlenformat in der Schreibweise 1.500,25 €
|
WHERE ((`Kurs`= 'Word')) | Filter in der Spalte "Kurs" auf den Begriff "Word" - nur Wordkurse werden gezeigt. Achten Sie auf die Accent Graves beim Spaltennamen und die einfachen Anführungszeichen beim Suchbegriff!
|
WHERE ((`Name` = '{mergefield name}')) | Filter in der Spalte "Name" auf den Namen, der im Seriendruckfeld "Name" aktuell verwendet wird (Beispiel dazu siehe hier). Das Seriendruckfeld fügen Sie mit STRG+F9 ein, schreiben Sie dann zwischen die geschweiften Klammern: mergefield plus den Namen des Seriendruckfeldes. Achten Sie auf die einfachen Anführungszeichen rund um das Seriendruckfeld! |
WHERE ((`Betrag`>1500)) | Erlaubt sind Operatoren wie Achtung! Der SQL-Operator != für Ungleich wird von Word nicht akzeptiert. |
WHERE ((`Kurs`= 'Word' OR `Kurs`= 'Excel')) | Erlaubt sind Operatoren wie |
WHERE ((`Kurs` LIKE 'W%')) | LIKE sucht nach Mustern. Es gibt auch NOT LIKE. Platzhalterzeichen sind: |
ORDER BY `Raum` | Sortiere nach diesem Spaltennamen.
|
Es gibt auch die Möglichkeit, einfache Berechnungen durchzuführen.
|
Diese Auflistung mit der Anzahl der Kurse pro Dozent wird aus dieser DATABASE-Anweisung berechnet: {database \d "D:\\Seminare\\Planung2.xlsx" \s "SELECT `Name`, count(`Kurs`) as Anzahl FROM `Kurse1$` group by `Name` order by `Name`;" \h} "count(Spaltenname)" zählt die Kurse - gruppiert nach den Namen der Referenten, was mit "group by" angegeben wird. "Count" ohne "Group by" kann nur als Gesamtsumme verwendet werden.
|
|
Mit "sum (Spaltenname)" addieren Sie Werte. In den Spalten "Umsatz 2012" und "Umsatz 2013" stehen mehrere Werte, die addiert werden mit: \s "SELECT SUM (`Umsatz 2012`) AS `Gesamt 2012`, SUM (`Umsatz 2013`) AS `Gesamt 2013` FROM `Umsatz$`" Eine Formatierung für die Zahlen erreichen Sie mit einem zusätzlichen FORMAT: \s "SELECT FORMAT (SUM (`Umsatz 2012`), '#,##0 €') AS `Gesamt 2012`, FORMAT (SUM (`Umsatz 2013`), '#,##0 €') AS `Gesamt 2013` FROM `Umsatz$`" |
Weitere Berechnungsfunktionen sind:
- MIN (Spalte) - Kleinster Wert in der Spalte
- MAX (Spalte) - Höchster Wert in der Spalte
- AVG (Spalte) - Durchschnittswerte der Spalte
29.04.2014