Probleme mit Paket datatool

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


aph

Probleme mit Paket datatool

Beitrag von aph »

Hallo,
ich habe ein Problem bei der Verwendung des Paketes datatool.
Beim Übersetzen in pdflatex kommt egal was ich mache der Fehler:

! Package datatool Error: Can't assign \SVIII : there is no key `SVIII' in data
base `Daten'.

Was ich nicht verstehe, warum es immer nur der Wert der 8. Spalte ist, der einen Fehler bringt und alle weiteren wieder richtig umgesetzt werden.

Für Tipps und Hinweise bin ich sehr dankbar.

Gruß Andreas
\documentclass[11pt,oneside,a4paper]{article}
\usepackage[left=25mm,right=15mm,top=15mm,bottom=15mm,includeheadfoot]{geometry}
\usepackage{graphicx}
\usepackage{filecontents}
\usepackage{helvet}
%\usepackage{ngerman}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{xcolor}
\usepackage{colortbl}
\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{arydshln}
\usepackage{datatool}
%\usepackage[scaled]{uarial}
\usepackage[pdftex]{hyperref}
\usepackage[pdftex]{insdljs}
\usepackage{eforms}

\begin{filecontents*}{vertrag.csv}
1;2;3;4;5;6;7;8;9;10;11;12;13
\end{filecontents*}





\DTLsetseparator{;}
\DTLloaddb[noheader, %
keys={Num,Kunde,Spalte,Ansprechpartner,Telefon,Aggregateleistung,Baujahr, SVIII,AnNr,Motortyp,Motornummer,Generatortyp,Generatornummer},%
headers={\shortstack{Nummer},%
\shortstack{Kunde1},%
\shortstack{Kunde2},%
\shortstack{Ansprechpartner},%
\shortstack{Telefon},%
\shortstack{Aggregateleistung},%
\shortstack{Baujahr},%
\shortstack{Aggregatetyp},%
\shortstack{Aggregatenummer},%
\shortstack{Motortyp},%
\shortstack{Motornummer},%
\shortstack{Generatortyp},%
\shortstack{Generatornummer}}% 
]{Daten}{vertrag.csv}
%\DTLloaddb[keys={Nummer,Kunde,Spalte,Ansprechpartner,Telefon}]{Daten}{vertragsdaten.txt}
%\DTLloaddb{Daten}{vertragsdaten.txt}

\begin{document}

\begin{Form}
\noindent
\renewcommand*{\DefaultOptionsofText}{print,bordercolor={}, backgroundcolor=, borderwidth=1pt}
% Tabelle Kopfdaten
\begin{table}
\begin{tabularx}{\textwidth}{llll}
\DTLforeach{Daten}{\Num=Num,\Kunde=Kunde,\Spalte=Spalte,\Ansprechpartner=Ansprechpartner,\Telefon=Telefon,\Aggregateleistung=Aggregateleistung,\Baujahr=Baujahr,\SVIII=SVIII,\AnNr=AnNr,\Motortyp=Motortyp,\Motornummer=Motornummer,\Generatortyp=Generatortyp,\Generatornummer=Generatornummer}{
%Beginn Tabelle Kopf - Kunde, Ansprechpartner, technische Grunddaten
%Zeile 1 - Kundendaten Zeile 1 z.B. Auftraggeber
Kunde:& \multicolumn{3}{l}{\TextField[width=125mm,height=5mm,name=k11,value={\Kunde}]{}}\\
\cdashline{2-4}[1pt/2pt]
%Zeile 2 - Kundendaten Zeile 2 z.B Standort der Anlage
 & \multicolumn{3}{l}{\TextField[width=125mm,height=5mm,name=k21,value={\Spalte}]{}}\\
\cdashline{2-4}[1pt/2pt]
%Zeile 3 - interner Vermerk zur Nummer des Wartungsvertrages
int. Vermerk:& \multicolumn{3}{l}{\TextField[width=35mm,height=5mm,name=k31,value={-\Num-}]{}}\\
\cdashline{2-4}[1pt/2pt]
%Zeile 3 - Ansprechpartner vor Ort und Telefonnummer
Ansprechpartner: & \TextField[width=50mm,height=5mm,name=k41,value={\Ansprechpartner}]{} & Telefon: & \TextField[width=45mm,height=5mm,name=k42,value={\Telefon}]{}\\
\cdashline{2-2}[1pt/2pt]
\cdashline{4-4}[1pt/2pt]
%\hspace{0.3cm}
%Zeile 4 - Aggregateleistung und Baujahr des Aggregates
Aggregateleistung: & \TextField[width=50mm,height=5mm,name=k51,value={\Aggregateleistung}]{} & Baujahr: & \TextField[width=45mm,height=5mm,name=k52,value={\Baujahr}]{}\\
\cdashline{2-2}[1pt/2pt]
\cdashline{4-4}[1pt/2pt]
%Zeile 5 - Aggregatetyp und Aggregatenummer
Aggregatetyp: & \TextField[width=45mm,height=5mm,name=k61,value={\SVIII}]{} & Aggregate-Nr.: & \TextField[width=45mm,height=5mm,name=k62,value={\AnNr}]{}\\
\cdashline{2-2}[1pt/2pt]
\cdashline{4-4}[1pt/2pt]
%Zeile 5 - Motortyp und Motornummer
Motortyp: & \TextField[width=45mm,height=5mm,name=k71,value={\Motortyp}]{} & Motor-Nr.: & \TextField[width=45mm,height=5mm,name=k72,value={\Motornummer}]{}\\
\cdashline{2-2}[1pt/2pt]
\cdashline{4-4}[1pt/2pt]
%Zeile 5 - Motortyp und Motornummer
Generatortyp: & \TextField[width=45mm,height=5mm,name=k81,value={\Generatortyp}]{} & Generator-Nr.: & \TextField[width=45mm,height=5mm,name=k82,value={\Generatornummer}]{}\\
\cdashline{2-2}[1pt/2pt]
\cdashline{4-4}[1pt/2pt]
}
\end{tabularx}
\end{table}
%Ende Tabelle Kopf
\end{Form}
\end{document}

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Gemäß der Dokumentation des Pakets sollten die Spaltennamen auch in der ersten Zeile der Textdatei vorkommen.

Deine Fehlermeldung kommt offenbar von dem Leerzeichen vor SVIII in der Liste, die der Option keys zugewiesen wird.

aph

Beitrag von aph »

Vielen Dank. Hin und wieder ist man einfach nur blind um so etwas selbst zu sehen

Antworten