Startseite

Outlook | Excel | Word | PowerPoint | Adobe Acrobat CD | Blog

XING | Facebook |


Pia Bork
Training, Support, Coaching für Office und Filesite



 

Tipps und Tricks rund um Word

A B C D E F G H I/J K
L M N O P/Q R S T U-W X-Z

 

Beispiel: Kursleiter, Kurse und Bürotage

  1. Generelle Funktion
    1. Schalter für DATABASE
    2. Accent graves `, Anführungszeichen ' und "
    3. Bedingungen mit WHERE
    4. Sortieren mit ORDER BY
    5. Spalten umbenennen mit AS
    6. Formate für Zahl und Datum
    7. Addieren und andere Berechnungen
    8. Tabellenformate
  2. Schalter für DATABASE
  3. SELECT-Anweisung
  4. Beispiel: Kursleiter, Kurse und Bürotage
  5. Beispiel: Wohnungen und Besitzer
    1. Adresszeilen übernehmen
    2. Zahlen formatieren
  6. Beispiel: Offene Rechnungen pro Kunde
  7. Beispiel: Liste der Kursleiter mit Anzahl
  8. Beispiel: Liste der Reiseteilnehmer in Serienbrief (Blog)
  9. Fehler "Ungültiges Seriendruckfeld"
  10. Fehler: zu wenig Zeichen werden ausgelesen

Die Aufgabenstellung ist, einen Serienbrief zu erstellen, in dem die Namen aus einer Datenquelle stammen und weitere Angaben aus zwei anderen Datenquellen. Für jeden Referenten aus der Tabelle "Namen" sollen die für ihn geltenden Kurse aus der Tabelle "Kurse" und die Bürotage aus der Tabelle "Büro" aufgelistet werden. Gemeinsam ist allen das Feld "Name" - und es ist sichergestellt, dass jeder Nachname eindeutig ist.

Hinweis: Sie können auch mit einer eindeutigen Mitarbeiter-Nummer oder einer ID arbeiten.

Die Daten sehen so aus:

Namen Kurse

 

 

Büro
 

 

Alle drei Tabellenblätter befinden sich in der gleichen Excel-Tabelle (in meinem Beispiel: Planung.xlsx)

Daraus soll pro Referent ein Blatt entstehen, auf dem sich die Daten in dieser Form befinden:

 

1. Schritt: Serienbrief

Zuerst wird ein normaler Serienbrief erstellt. Verbinden Sie sich mit der Adressquelle und fügen Sie die Seriendruckfelder für Anrede, Vor- und Nachname ein. Damit wird auch bestimmt, für welchen Referenten später die Daten mit DATABASE übernommen werden. Der Seriendruck führt den Namen ein - daran orientiert sich DATABASE.

Formatieren Sie den Kopfbereich nach Wunsch. Richten Sie nach dem Kopfbereich einen Zwei-Spalten-Satz mit einer vertikalen Trennlinie ein. Sie finden den Befehl unter "Seitenlayout | Spalten".

Das Dokument sieht jetzt so aus:

 

Jetzt ist übrigens der richtige Moment, um zum ersten Mal zu speichern.

Schalten Sie mit ALT+F9 die Sicht auf die Feldfunktionen ein.

2. Schritt: Daten aus dem Tabellenblatt "Kurs" übernehmen

Es gibt zwei Möglichkeiten:

Stellen Sie den Cursor in die linke Spalte und tippen Sie STRG+F9, um ein leeres Feld zu erzeugen.

Tragen Sie DATABASE zwischen die beiden Klammern ein. Der gesamte Ausdruck muss zum Schluss so aussehen wie rechts.

 

 

Hinweise, die wichtig sind:

\d gibt die Arbeitsmappe an

 

\d "D:\\Seminare\\Planung.xlsx"

\s startet die Abfrage der Felder

Achten Sie auf die doppelten Anführungszeichen vor SELECT und am Ende des Ausdrucks!

die Felder Kurs, Datum und Raum werden übernommen

 

\s "SELECT `Kurs`, Format (`Datum`, 'dd.mm.yyyy') as Datum, `Raum` FROM `Kurse$` WHERE ((`Name` = '{mergefield name}'));"

 

Im Detail:
Das Feld "Datum" muss formatiert werden (Format (`Datum`, 'dd.mm.yyyy'). Da dabei leider die Überschrift verloren geht, muss Word noch einmal ausdrücklich angewiesen werden, das Feld "Datum" zu nennen (as Datum).

Übernommen wird aus dem Blatt "Kurse"; Excel verwendet ein $-Zeichen zur Kennzeichnung der Namen.

Es sollen nur die Daten für den Referenten übernommen werden, dessen Name gerade im Serienbrief aktuell ist.

Dafür wird das Feld "Name" aus der Tabelle "Kurse" gleichgesetzt mit dem aktuellen Seriendruckfeld "Name". Tippen Sie mit STRG+F9 ein leeres Feld und tragen Sie mergefield name ein. Achten Sie darauf, dass die einfachen Anführungszeichen vor und hinter den geschweiften Klammern stehen!

Vergessen Sie das Semikolon am Ende von SELECT nicht - vor den doppelten Anführungszeichen muss es stehen.

\h übernimmt die Überschriften aus der Excel-Tabelle; der Schalter hat keine weiteren Parameter.

 

\h

\l und \b formatieren die Tabelle

\l "33" sorgt für einen Rahmen und eine Überschriftenzeile

\b "8" verwendet aus dem alten AutoFormat für Tabellen die achte Tabelle.

Nochmal der ganze Ausdruck:

{DATABASE  \d "D:\\Seminare\\Planung.xlsx" \s "SELECT `Kurs`, Format (`Datum`, 'dd.mm.yyyy') as Datum, `Raum` FROM `Kurse$` WHERE ((`Name` = '{mergefield name}'));" \h \l "33" \b "8"}

3. Schritt: Daten aus dem Tabellenblatt "Büro" übernehmen

Stellen Sie den Cursor in die rechte Spalte und tippen Sie STRG+F9, um ein leeres Feld zu erzeugen. Es geht wieder los mit DATABASE, die Tabelle ist die gleiche.

Hinter \d geben Sie die gleiche Excel-Arbeitsmappe an.

Es folgt \s "SELECT ...;" mit nur einem Feld: Datum.

Die Formatierung ist wieder genauso im zweiten Schritt. Die verwendete Tabelle ist dieses Mal das Blatt "Büro" (FROM `Büro$`). Die Abfrage des Seriendruckfeldes "Name" ist wieder identisch. Formatierung habe ich diese Tabelle nicht, eine Überschrift soll auch nicht aus Excel übernommen werden. Die Schalter \h, \b und \l fehlen deswegen.

Der Ausdruck sieht so aus:

{DATABASE  \d "D:\\Seminare\\Planung.xlsx"  \s "SELECT format (`Datum`, 'dd.mm.yyyy') as Datum FROM `Büro$` WHERE ((`Name` = '{mergefield name}'));" }

4. Schritt: Zusammenstellen

Zum Schluss werden die Seriendrucke wie immer zusammengestellt: "Sendungen | Fertig stellen und zusammenführen".

Hinweise zu den Beispieldateien

Die Pfade sind fest eingegeben. Sie müssen die Pfadnamen nach \d auf Ihrem System anpassen, wenn Sie die Dateien entpackt und gespeichert haben. Auch die Seriendruckdatei muss neu verbunden werden (Sendungen | Empfänger auswählen | Vorhandene Liste).

28.04.2014

DATABASE

Die Feldfunktion mit allen Schaltern finden Sie hier.

Download

Beachten Sie Hinweise am Ende des Artikels!

Beispieldateien (Worddokument mit Feldern, Excel-Tabelle, gezippt)