DLookup на основе диапазонов дат

Я новичок в доступе к MS, и сейчас я создаю простую реляционную базу данных. У меня есть две таблицы, одна из которых содержит поле даты, а другая - диапазон дат и значение, которое я хочу вернуть, в зависимости от диапазона дат. В Excel я бы использовал функцию ПРОСМОТР, но при доступе, похоже, единственными вариантами является использование функции «DLookup».

введите здесь описание изображения

в целевой таблице есть столбец с датами. Пока что выражение, которое у меня есть, которое продолжает возвращать ошибку, это

DLookup(DLookUp([KR_DB]![DPL_TargetMonth],[SeasonFY],[KR_DB]![DPL_TargetMonth] Between [SeasonFY]![SeasonDateFrom] And [SeasonFY]![SeasonDateTo])

Я не знаю, как написать для этого правильный синтаксис.


person ala    schedule 14.12.2017    source источник
comment
Чтобы справиться с этим в реляционных базах данных, нужно создать запрос. Перестаньте думать о MS Excel и начните изучать MS Access.   -  person Rene    schedule 14.12.2017


Ответы (1)


Сохранение идентификатора SeasonFY ID в качестве внешнего ключа в KR_DB было бы реляционным подходом. Однако DLookup может выглядеть так:

SELECT KR_DB.*, 
DLookup("Season", "SeasonFY", "#" & [DPL_TargetMonth] & "# BETWEEN SeasonDateFrom AND SeasonDateTo") AS Season
FROM KR_DB;
person June7    schedule 14.12.2017
comment
Это работает, большое спасибо! Я действительно хочу использовать реляционный подход, но я учу себя, как это делать, и я изо всех сил пытался найти способ использовать внешний ключ на основе текущего диапазона дат из таблицы. - person ala; 14.12.2017