Latest news 2019-11-04: The giveaway of two signed copies of “Quack, quack, quack. Give my hat back!” has closed and the winning entrants have been selected. Thank you to everyone who took part.

# Bug Tracker

ID 23 Closed (Not a Bug) datatool 2.13 Only the second row works not the first

## Report

I cant iterate through row 1 of the database, I dont know why, have tried to describe as good as possible the problems. its an MW(N)E including the description of the problem... Best regards Peter

### MWE

\documentclass{article}

\usepackage{expl3}
\usepackage[ansinew]{inputenc}
\usepackage{datatool}
\usepackage{filecontents} % Ein- oder Auskommentieren, siehe Hinweis unten
\begin{filecontents}{tempdatabb.dat}
10 & 100
20 & 130
30 & 150
40 & 170
50 & 190
60 & 210
\end{filecontents}

\makeatletter
\ExplSyntaxOn
\cs_set_eq:NN \ifinstr \tl_if_in:nnTF
\DeclareRobustCommand*\assignvalues[2]{\@assignvalues{#1}{#2}}
\long \def\@assignvalues#1#2{
\seq_set_split:Nnn \l_tmpa_seq { | } {#1}
\seq_set_split:Nnn \l_tmpb_seq { | } {#2}
}
\long \def \assignvalues@ii #1#2 { \protected@csedef{#1}{#2} }
\ExplSyntaxOff
\makeatother

\begin{document}

First problem. I can only search through the second row, not the first.

This workts...

\assignvalues{suchwert}{155}

\DTLsetseparator{&}

\begin{table}[htbp]
\centering
\begin{tabular}{llr}
\bfseries Temperatur & \bfseries Dichte %
\DTLforeach[\DTLislt{\dichte}{\suchwert}]{scoreAAA}%
{\temperatur=temperatur,\dichte=dichte}{%
\\\temperatur & \dichte
}%
\end{tabular}
\end{table}

this does not work...

\assignvalues{suchwert}{155}

\DTLsetseparator{&}

\begin{table}[htbp]
\centering
\begin{tabular}{llr}
\bfseries Temperatur & \bfseries Dichte %
\DTLforeach[\DTLislt{\temperatur}{\suchwert}]{scoreAA}%
{\temperatur=temperatur,\dichte=dichte}{%
\\\temperatur & \dichte
}%
\end{tabular}
\end{table}

Goal of my piece of code is the search of the nearest value pairs to the suchwert.

for example if the suchwert is 35 (for temperatur, row one) than I would like to make assignments of

\assignvalues{firstpointx}{30}
\assignvalues{firstpointy}{150}
\assignvalues{secondpointx}{40}
\assignvalues{secondpointy}{170}

in other words: the nearest point smaller to 35, the nearest point bigger to 35 is to access...

but i rather can't find the point during the problem because of the first row problem as described...

\end{document}

## Evaluation:

This isn't a bug in datatool. Your database file separates entries using <space>&<space>, but you've set the separator to just & which means a spurious space is being added to the data base values. The default math processor (fp.sty) can't cope with that space in \temperatur, which is what's causing the problem. The simplest solution is to use pgfmath instead of fp as pgfmath can cope with the space.
\usepackage[math=pgfmath]{datatool}


## Watch This Report

If you supply your name, it will be used in the email greeting, which provides a more personal message, otherwise you'll just get a generic greeting. If you have previously supplied your name when signing up for notifications, you don't need to resupply it unless you want to change it.

If you have previously subscribed to notifications for this report, you can unsubscribe by clicking on the "Stop Notification" button.

The "Confirm Bug ID" field helps to protect against spambots. Please enter the bug ID (which you can find at the top of this page).

Name: (Optional.)

## Comment

You can append a comment to the report using the form below. Comments are checked first before being added. Any spam or offensive content will be removed first according to this site's Terms of Website Use. Please bear in mind that I develop and maintain free software in my spare time. If you want commerical level support then you can hire a TeX consultant.

The "Confirm Bug ID" field helps to protect against spambots. Please enter the bug ID (which you can find at the top of this page).

Name: (Optional. If provided, it will be shown with the comment.) Message: You can use the following markup: [pre]Displayed verbatim[/pre] [tt]monospace text[/tt] [em]emphasized text[/em] [b]bold text[/b] [url]web address[/url] Ordered list: [ol] [li]first item[/li] [li]second item[/li] [/ol] Unordered list: [ul] [li]first item[/li] [li]second item[/li] [/ul]

Click on the Preview button to preview the message.