Tipps und Tricks rund um Word
Funktion DATABASE - Fehler
- 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
Wenn Sie nicht alle Felder verwenden wollen und im Schritt "Abfrageoptionen | Felder auswählen" einige Felder entfernt haben, erhalten Sie eine Fehlermeldung.
Die Fehlermeldung lautet "Ungültiges Seriendruckfeld" und ist unabhängig davon, ob Sie einen Seriendruck verwenden oder nicht. Es werden genau die Felder angemahnt, die Sie entfernt haben. Angeblich sind die Felder im Hauptdokument in Nutzung - was nicht korrekt ist.
|
|
Die entstehende Tabelle ist unsinnig: die entfernten Felder werden mehrfach angezeigt, dafür fehlen die darauf folgenden komplett.
|
|
Sie können den Fehler sehr einfach bereinigen, weil lediglich ein Semikolon fehlt!
In der Anweisung \s "SELECT ..." fehlt am Ende vor dem schließenden Anführungszeichen ein Semikolon. Fügen Sie es hinzu und aktualisieren Sie das Feld mit F9.
Hinweis vom 26.07.2015: Mittlerweile habe ich mehrere Beispiele, bei denen DATABASE auch ohne dieses Semikolon funktioniert. Leider kann ich nicht identifizieren, wann Word das Semikolon braucht und wann nicht. Da ein Semikolon niemals einen Fehler heraufbeschwört, setze ich es sicherheitshalber.
Hinweis: hin und wieder kommt es dennoch vor, dass Word einen Fehler anzeigt, obwohl die Syntax für die Abfrage korrekt ist. Es hilft dann immer an den Tabellenblattnamen eine weitere Anweisung wie "Order by" anzuhängen.
{DATABASE \d "D:\\Seminare\\Planung.xlsx" \s "SELECT `Kurs`, `Raum` FROM `Kurse$` order by `Raum`;" \h}
Entgegen den SQL-Vorschriften verwendet Word bei einer Wahl aller Spalten kein schließendes Semikolon:
{DATABASE \d "D:\\Seminare\\Planung.xlsx" \s "SELECT * FROM `Kurse$`" \h}
Laut SQL ist die Syntax für SELECT immer:
SELECT Spaltenname1, Spaltenname 2 FROM Tabellenname;
SELECT * FROM Tabellename;
29.04.2014/26.07.2015