Probleme mit Paket datatool

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Probleme mit Paket datatool

von aph » Mi 26. Jun 2019, 21:05

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

von Bartman » Di 25. Jun 2019, 23:49

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.

Probleme mit Paket datatool

von aph » Di 25. Jun 2019, 22:40

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}

Nach oben