Are you looking for this?
SELECT id, date, state_on_date,
(
SELECT TOP 1 year_quantity
FROM table2
WHERE id = t.id
AND date >= t.date
ORDER BY date
) AS year_quantity
FROM table1 t
Output:
| ID | DATE | STATE_ON_DATE | YEAR_QUANTITY | |----|------------|---------------|---------------| | 1 | 2013-12-30 | 23 | 100 | | 1 | 2013-12-31 | 25 | 100 | | 1 | 2014-01-01 | 35 | 150 | | 1 | 2014-01-02 | 12 | 150 | | 2 | 2013-12-30 | 34 | 200 | | 2 | 2013-12-31 | 65 | 200 | | 2 | 2014-01-01 | 43 | 300 |
Here is SQLFiddle demo It's for SQL Server but should work just fine in MS Accesss.