SQL-Alternative im Serienbrief
Verfasst: Do 24. Nov 2011, 14:16
Hallo,
ich bin neu hier und wende mich mit folgendem Problem an die Mitglieder des Forums.
Beim Umstieg von MS-Office, in diesem speziellen Fall MS-Word, auf LO ist auch ein Serienbrief umzustellen, der auf zwei Dateien im dBase-Format zugreift (alternativ auch im Text-Format).
Eine dieser Dateien enthält die Stammdaten (Name, Anschrift, ...) zu allen Empfängern und die andere zu jedem Empfänger eine variable Anzahl von Sätzen mit Bewegungsdaten.
Die Stammdaten werden als normale Serienfelder in den Brief eingefügt. Die Sätze mit Bewegungsdaten sind für den jeweiligen Empfänger zu ermitteln und bestimmte Felder als Tabelle an einer bestimmten Stelle im Text einzufügen.
Unter Word habe ich das über eine etwa wie folgt aussehende SQL-Anweisung erledigt, wobei es jetzt eher um's Prinzip geht, als um jeden der hier aufgeführten Parameter. Das Ermitteln der Bewegungsdaten für jeden Empfänger erfolgt über die WHERE-Klausel. Die Auswahl der Felder erfolgt mittels SELECT.
{ DATABASE \d "Laufwerk:\\Ordner\\Bewegungsdaten.dbf" \c "DSN=dBASE-Dateien; DBQ=Laufwerk:\\Ordner; DefaultDir=Laufwerk:\\Ordner; DriverId=533;MaxBufferSize=2048; PageTimeout=5;" \s "SELECT `FELD_2`, `FELD_3`, `FELD_n` FROM `Bewegungsdaten` WHERE ((`FELD_1` = `{ MERGEFIELD IDENT }`))" \l "1" \b "191" \h }
Abgesehen von kleinen Anpassungen je nach Word-Version funktioniert das Konstrukt.
Das Verwenden von "normalen" Serienfeldern im Writer ohne Verwendung des Serienbriefassistenten ist dabei nicht das Problem.
Aber, nach meinem jetzigen Kenntnisstand sind im LO-Writer keine SQL-Anweisungen möglich.
Welche Möglichkeiten gibt es in LO, um das Gleiche zu erreichen?
Jeder konstruktive Hinweis ist willkommen.
Kretschi
ich bin neu hier und wende mich mit folgendem Problem an die Mitglieder des Forums.
Beim Umstieg von MS-Office, in diesem speziellen Fall MS-Word, auf LO ist auch ein Serienbrief umzustellen, der auf zwei Dateien im dBase-Format zugreift (alternativ auch im Text-Format).
Eine dieser Dateien enthält die Stammdaten (Name, Anschrift, ...) zu allen Empfängern und die andere zu jedem Empfänger eine variable Anzahl von Sätzen mit Bewegungsdaten.
Die Stammdaten werden als normale Serienfelder in den Brief eingefügt. Die Sätze mit Bewegungsdaten sind für den jeweiligen Empfänger zu ermitteln und bestimmte Felder als Tabelle an einer bestimmten Stelle im Text einzufügen.
Unter Word habe ich das über eine etwa wie folgt aussehende SQL-Anweisung erledigt, wobei es jetzt eher um's Prinzip geht, als um jeden der hier aufgeführten Parameter. Das Ermitteln der Bewegungsdaten für jeden Empfänger erfolgt über die WHERE-Klausel. Die Auswahl der Felder erfolgt mittels SELECT.
{ DATABASE \d "Laufwerk:\\Ordner\\Bewegungsdaten.dbf" \c "DSN=dBASE-Dateien; DBQ=Laufwerk:\\Ordner; DefaultDir=Laufwerk:\\Ordner; DriverId=533;MaxBufferSize=2048; PageTimeout=5;" \s "SELECT `FELD_2`, `FELD_3`, `FELD_n` FROM `Bewegungsdaten` WHERE ((`FELD_1` = `{ MERGEFIELD IDENT }`))" \l "1" \b "191" \h }
Abgesehen von kleinen Anpassungen je nach Word-Version funktioniert das Konstrukt.
Das Verwenden von "normalen" Serienfeldern im Writer ohne Verwendung des Serienbriefassistenten ist dabei nicht das Problem.
Aber, nach meinem jetzigen Kenntnisstand sind im LO-Writer keine SQL-Anweisungen möglich.
Welche Möglichkeiten gibt es in LO, um das Gleiche zu erreichen?
Jeder konstruktive Hinweis ist willkommen.
Kretschi