Tipps und Tricks rund um Word
- 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
Beispiel: Offene Rechnungen pro Kunde
In einer Excel-Arbeitsmappe liegen zwei Tabellen vor: eine mit den Kundennummern sowie den Adressen, eine zweite mit den Kundennummern und den offenen Rechnungen pro Kunde.
Tabelle "Kunden-Nr": Kundennummern mit Adressen | Tabelle "Rechnungen": Kundennummern mit offenen Rechnungen |
Mit einem Serienbrief sollen die offenen Rechnungen pro Kunde aufgelistet werden.
Schritt 1 - Serienbrief erstellen:
Erstellen Sie einen Serienbrief und verbinden Sie ihn der Tabelle "Kunden-Nr" der Arbeitsmappe "Offene Rechnungen.xlsx". Fügen Sie die Seriendruckfelder für die Adresse hinzu und speichern Sie den Serienbrief.
Schritt 2 - DATABASE einfügen:
Fügen Sie mit "Einfügen | Schnellbausteine | Felder" das Feld DATABASE hinzu.
Klicken Sie im Dialog "Feld" auf "Datenbank einfügen". Klicken Sie auf "Daten importieren" und suchen Sie die Datei "OffeneRechnungen.xlsx". Markieren Sie die Tabelle "Rechnungen$" und bestätigen Sie mit OK.
|
|
Klicken Sie auf "Abfrageoptionen" und wählen Sie als Feld "Kunden-Nr#", bei Vergleich steht "Gleich" und bei "Vergleichen mit" tragen Sie eine Zahl ein: 1234 oder 9999. ACHTUNG! Sie sollten wirklich eine Zahl, keinen Text verwenden. Bestätigen Sie mit OK. |
|
Wenn Ihre Tabelle formatiert werden soll, müssen Sie jetzt auf "Tabelle AutoFormat" klicken. Die Optionen sind hier beschrieben. |
|
Klicken Sie auf "Daten einfügen" und aktivieren Sie unbedingt die Option "Daten als Feld einfügen"! Wenn Sie das vergessen, bekommen Sie nur eine Tabelle, die sich nicht mehr an die unterschiedlichen Kunden-Nummern anpasst! Mit OK bestätigen. |
|
Nach einigen Sekunden wird das Feld eingefügt, aber Sie sehen nichts!
Schritt 3: DATABASE bearbeiten
- Drücken Sie ALT+F9, um die Feldfunktionen anzeigen zu lassen
- Suchen Sie am Ende des Feldes den Bereich nach \s "Select ..."
|
Sie sehen jetzt alle Spalten, die für DATABASE übergeben werden: Kunden-Nr., Datum, Rechnung-Nr, Betrag. Außerdem wird hinter WHERE angezeigt, für welche Kunden-Nummer aktuell die Daten angezeigt werden: bei mir 1234. Da diese Kundennummer bei mir nicht existiert, wird nichts angezeigt.
Sorgen Sie zuerst dafür, dass die offenen Rechnungen nur für die jeweils aktuelle Kunden-Nummer gezeigt wird:
- Markieren Sie die "Dummy-Kundennummer" (bei mir 1234)
- Klicken Sie auf "Sendungen | Seriendruckfeld einfügen: KundenNr."
Der Teil hinter "WHERE" muss jetzt so aussehen: |
WHERE ((`Kunden-Nr#`= {MERGEFIELD KundenNr}))" \h} |
- Drücken Sie im Feld F9, um das Feld zu aktualisieren und die Änderung zu übernehmen.
- Zeigen Sie mit ALT+F9 die Tabelle des DATABASE-Feldes an.
Sie müssen jetzt die Tabelle der offenen Rechnungen für diese Kunden-Nummer sehen. Wechseln Sie zum nächsten Datensatz und aktualisieren Sie die DATABASE-Tabelle immer mit F9. Die offenen Rechnungen müssen jetzt wechseln.
Die Anpassungen der Spalten nehmen Sie wieder vor, indem Sie mit ALT+F9 das DATABASE-Feld anzeigen lassen. Ich brauche die Spalte "Kunden-Nr." nicht. Sie kann entfernt werden. Löschen Sie hinter Select `Kunden-Nr#`, - mitsamt den Accent-Zeichen und dem schließenden Komma.
Schritt 4: Spalten formatieren
Die Spalten Datum und Betrag werden in amerkanischer Schreibweise ausgegeben und müssen noch umformatiert werden. Dazu dient der Schalter "Format".
Das Datum in deutscher Schreibweise:
|
Format(`Datum`, 'dd.mm.yyyy') as Datum |
Der Betrag in Euro mit zwei Nachkommastellen:
|
Format (`Betrag`, '#,##0.00 €') as Betrag |
Der Spaltenname "Rechnungsnr#" als "Rechnung"
|
`Rechnungsnr#`as Rechnung |
Achten Sie darauf, dass die Formatangaben mit einem Hochkomma eingefasst sind. Die Spaltennamen hingegen werden mit einem Accent grave eingefasst. Der Spaltenname muss zwingend mit "as" wiederholt werden. Das Zahlenformat muss zwingend im amerikanischen Format angegeben werden: #,##0.00 - achten Sie auf die vertauschten Punkt und Komma!
Der gesamte Ausdruck hinter SELECT sieht jetzt so aus:
\s "SELECT Format (`Datum`, 'dd.mm.yyyy') as Datum, `Rechnungsnr#` as Rechnung, Format (`Betrag`, '#,##0.00 €') as Betrag FROM `Rechnungen$` WHERE ((`Kunden-Nr#` = {MERGEFIELD KundenNr}))"
Mehr zu den Befehlen bei SELECT lesen Sie in Punkt 3. SELECT-Anweisung.
Drücken Sie wieder F9 und dann ALT+F9. Jetzt sollte Ihre Tabelle so aussehen:
|
ACHTUNG! Es ist nicht möglich, die Tabelle nachträglich zu formatieren. Wenn Sie ein Format verwenden möchten, müssen Sie im Assistenten vom Beginn dieses Artikels die Option "Tabelle AutoFormat" wählen. Alternativ können Sie auch in das DATABASE nachträglich den Schalter \b einfügen.
Um die Spaltenbreite an den Inhalt anzupassen tragen Sie hinter dem SELECT-Ausdruck ein \b "16". Um das Tabellenformat "Raster 8" zuzuweisen, verwenden Sie den Schalter \l "23".
Das Ende des DATABASE-Feldes sieht jetzt so aus:
{[...] \s "SELECT Format (`Datum`, 'dd.mm.yyyy') as Datum, `Rechnungsnr#` as Rechnung, Format (`Betrag`, '#,##0.00 €') as Betrag FROM `Rechnungen$` WHERE ((`Kunden-Nr#` = {MERGEFIELD KundenNr}))" \b "16" \l "23" \h}
Mehr zu den Schaltern finden Sie hier.
Schritt 5: Gesamtsumme der Beträge berechnen
DATABASE bietet einige Rechenfunktionen wie Summe oder Anzahl. Die Spalte "Betrag" soll addiert werden. Die Gesamtsumme kann nur in einer eigenen Tabelle untergebracht werden, Sie benötigen also ein eigenes DATABASE-Feld für die Summe. Ich habe das vorhandene DATABASE kopiert und unten eingefügt.
SELECT wird folgendermaßen geändert:
- Löschen Sie alles bis auf "Format Betrag as Betrag"
\s "SELECT Format (`Betrag`, '#,##0.00 €') as Betrag - Ändern Sie den Ausdruck so:
\s "SELECT Format (Sum (`Betrag`), '#,##0.00') As `Gesamt` - Löschen Sie den Schalter \h
Ich möchte keine Spaltenüberschrift erzeugen.
Aktualisieren Sie mit F9 und lassen Sie mit ALT+F9 die Tabelle anzeigen. Der Formatierung sind ein paar Grenzen gesetzt. Eine Einrückung ist genauso möglich wie das zentrieren, auch Fett lässt sich die gesamte Zeile formatieren. Aber in die Tabelle integrieren kann man die Ziffer nicht und auch nicht an einem Dezimaltabulator ausrichten. Es ist nicht möglich, die Summe neben das Wort "Gesamt" zu setzen.
|
|
Schließen Sie den Seriendruck ab mit "Sendungen | Fertigstellen und zusammenführen | Einzelne Dokumente bearbeiten: Alle".
14.07.2016