scrlttr2 und MySQL

Guten Morgen, da draußen,

hat jemand Erfahrung, wie man Serienbriefe erstellt, in denen die
Daten (z. B. Adresse) aus einer MySQL-Datenbank eingelesen werden?

\LaTeX und MySQL kann ich zwar schön mit SQLTeX zusammenarbeiten lassen, aber mehr als ne Tabelle oder einzelne SQL-Abfragen hab ich noch nicht bekommen.

Gruß
Peter.

@Markus Kohm: wär das nicht mal ne nette Erweiterung für scrlttr2? :-)

Darstellungsoptionen

Wählen Sie hier Ihre bevorzugte Anzeigeart für Kommentare und klicken Sie auf „Einstellungen speichern“ um die Änderungen zu übernehmen.

Wohl kaum

Dem Subject habe ich nichts hinzuzufügen.

Hat ja eigentlich auch nix mit KOMA zu tun...

...bei genauerem Überlegen.

Die Datenbankeinbindung ist natürlich auch ne reine Latex-Geschichte in erster Linie.
Also, ab mit dem Thread ins Off-Topic.

Jetzt mach ichs halt so mit meinem Sereinbrief:

ich habe:
Name, Vorname, Adresse, Datenfeld, DF, DF, DF, DF, ....
Ne SQL-Abfrage mit geschickten CONCATs, damit ich neben den Namens- und Adressdaten nur noch 4 Felder habe. Das ganze exportiert in ein ASCII-File. Dann mit nem Perl-Script in ein Addrentry-kompatibles Format gebracht und dann \addrentry.....

Ich würd mir halt gern das Script sparen, Naja, bin halt faul.

Läßt sich möglicherweise \addrentry[9] auf beliebig viele Felder erweitern?
(Doch wieder Topic.)

Gruß
Peter

TeX-Makros haben maximal 9 Argumente

Da TeX nur die Argumente #1 bis #9 bietet, kann das Prinzip nicht auf mehr Argumente erweitert werden. Man müsste dann schon etwas wie:

\newcommand{\xviarguments}[9]{%
  \def\argi{#1}\def\argii{#2}\def\argiii{#3}\def\argiv{#4}%
  \def\argv{#5}\def\argvi{#6}\def\argvii{#7}\def\argviii{#8}%
  \def\argix{#9}\moreargument}
\newcommand{\morearguments}[9]{%
  \def\argx{#1}\def\argxi{#2}\def\argxii{#3}\def\argxiii{#4}%
  \def\argxiv{#5}\def\argxv{#6}\def\argxvi{#7}\def\argxvii{#8}%
  \def\argxviii{#9}\processargs}
\newcommand*{\processargs}{%
  Arg 1 was \ærgi. Arg 2 was \argii ...
  Arg 9 was \argix ... Arg 18 was \argxviii.}

machen.

Da blickt dann aber ohnehin niemand mehr durch. Deshalb würde ich in dem Fall eher mit benannten Argumenten, statt mit nummerierten arbeiten. Dazu verwendet man das keyval-Paket. Zunächst definiert man die entsprechende Optionen:

\define@key{ARG}{beispiel}{\def\ARG@beispiel{#1}}
\newcommand*{\usearg}[#1]{\@nameuse{ARG@#1}}

Dann definiert man eine Anweisung, die das nutzt:

\newcommand{\adresse}[1]{%
  \setkeys{ARG}{#1}%
  \Brief
}
\newcommand*{\Brief}{%
  Argument "`Beispiel"' hat den Wert \usearg{Beispiel}.
}

Die Adressdatei sieht dann so aus:

\adresse{beispiel={erstes Beispiel},example={eine andere Variable}}
\adresse{beispiel={zweites Beispiel},oderauch={eine andere Variable}}

Natürlich sollten alle verwendeten Schlüssel (im Beispiel also "beispiel", "example" und "oderauch") definiert sein.

Darstellungsoptionen

Wählen Sie hier Ihre bevorzugte Anzeigeart für Kommentare und klicken Sie auf „Einstellungen speichern“ um die Änderungen zu übernehmen.
Inhalt abgleichen