Keine Ahnung, ob
Access das kann, aber meinst Du sowas?
Delphi-Quellcode:
select *
from Preise a, Artikel c
where a.ArtikelID = c.ArtikelID
and c.Datum = b.Datum
and exists
(
select b.ArtikelID, max(b.Datum) as Datum
from Preis b
where b.datum <= #02/26/2016#
and b.ArtikelID = a.ArtikelID
group by b.ArtikelID
)
order by a.datum desc
Bei genauerer Überlegung wird es das wohl eher nicht sein.
Meiner Meinung nach solltest Du als erstes der Tabelle 2 auch einen eindeutigen Schlüssel "verpassen", damit ein Datensatz über diesen auch eindeutig angesprochen werden kann.