Я использую MS Access, чтобы получить некоторые данные с сервера Oracle через сквозной запрос.Пользователю предоставляется форма, в которой он может вводить некоторые переменные (например, диапазон дат).Я хотел бы, чтобы Oracle SQL мог выбрать два поля даты из формы.
Текущий SQL (который не работает) выглядит следующим образом:
SELECT a.I_LOAN_NUM, a.I_LOAN_SUB_ALLOC, c.N_EXCLV, e.I_GSL_SPNSR, e.N_GSL_SPNSR, b.D_CAL, b.C_LOAN_STAT, g.N_CNTRY
FROM SLD_LOAN_MSTR a
JOIN SLD_LOAN_CDL b on b.I_LOAN_ID = a.I_LOAN_ID
JOIN SLD_EXCLV c on c.I_EXCLV_ID = b.I_EXCLV_ID
JOIN SLD_AC d on d.I_AC_ID = b.I_AC_ID
JOIN SLD_CUST e on e.I_CUST_ID = d.I_CUST_ID
JOIN SLD_DPT_CNTRY f on f.I_DPT_ID = b.I_DPT_ID
JOIN SLD_CNTRY g on g.I_CNTRY_ID = f.I_CNTRY_ID
WHERE (b.C_LOAN_STAT = 'SETTLED' and b.D_CAL between [Forms]![Cost Allocation Form]![Start_Date] and [Forms]![Cost Allocation Form]![End_Date])
ORDER BY b.D_CAL
SQL выше работает, если я заменяю ссылки на формы жестко закодированными датами, поэтому я знаю, что SQL в целом хорош.Пример:
WHERE (b.C_LOAN_STAT = 'SETTLED' and b.D_CAL between '01JAN2019' and '01FEB2019')
Сообщение об ошибке, сгенерированное SQL, гласит: «ODBC - сбой вызова. [Oracle] [ODBC] [Ora] ORA-00936: отсутствует выражение (# 936)»
Оба поля даты в форме используют формат краткой даты.
Я не уверен, имеет ли это какое-либо значение, но форма имеет несколько вкладок.Из того, что я видел в других примерах, ссылка на форму не должна учитывать метки вкладок.
Спасибо