This must work (you can't refer to calculated fields in WHERE, GROUP, ORDER etc.)
Code:
SELECT
p.FirstName,
p.LastName,
b.BookDate,
b.NumberOfArt1,
b.Art1Price,
b.NumberOfArt1 * b.Art1Price AS Art1Total,
b..NumberOfArt2,
b.Art2Price,
b.NumberOfArt2 * b.Art2Price AS Art2Total,
...
b.NumberOfArt1 * b.Art1Price+b.NumberOfArt2 * b.Art2Price + … AS Total,
b.FirstPay,
b.SecondPay,
...
b.FirstPay+ b.SecondPay+... AS TotalPayed,
(b.NumberOfArt1 * b.Art1Price+b.NumberOfArt2 * b.Art2Price + …) - (b.FirstPay+ b.SecondPay+...) AS Remaining
FROM Book b INNER JOIN Pers p ON p.PersID = b.PersID
WHERE (DateDiff(“d”,b.BookDate,Date()>= 14) AND ((b.NumberOfArt1 * b.Art1Price+b.NumberOfArt2 * b.Art2Price + …) - (b.FirstPay+ b.SecondPay+...) > 0)
ORDER BY b.BookDate
Your main problem is your database structure is wrong. Had you have a 3rd table like BookArt: BookArtID, BookID, NumberOfArt, ArtPrice, you hadn't any issues.