У меня есть форма, содержащая два текстовых поля для ввода пользователя. Оба текстовых поля имеют формат свойства «Короткая дата». Одним из них является «дата начала», а другим - «дата окончания». У меня также есть несколько таблиц, каждая с полем DateTime ("studystartdatetime"). Я хотел бы иметь возможность запрашивать эти таблицы, но ограничить результаты строк, чьи поля DateTime между введенными датами (включительно). В настоящее время условие:
WHERE s.studystartdatetime BETWEEN forms!frmMain!txtstartdate AND forms!frmmain!txtenddate
Это, однако, не возвращает строки, которые произошли в указанной конечной дате.
Я пробовал каждую комбинацию CDate, Format и DateValue, в которой я мог придумать, чтобы обернуть одно или все эти поля, но я всегда получаю одну и ту же загадочную ошибку:
Выражение введено неправильно или оно слишком сложно для оценки. Например, числовое выражение может содержать слишком много сложных элементов. Попробуйте упростить выражение, назначив его части переменным.
Некоторые примеры условий, которые я пробовал:
WHERE CDate(Format(s.studystartdatetime, "yyyy/mm/dd")) BETWEEN forms!frmMain!txtstartdate AND forms!frmmain!txtenddate
WHERE DateValue(Format(s.studystartdatetime, "yyyy/mm/dd")) BETWEEN forms!frmMain!txtstartdate AND forms!frmmain!txtenddate
WHERE CDate(Format(s.studystartdatetime, "yyyy/mm/dd")) BETWEEN CDate(Format(forms!frmMain!txtstartdate, "yyyy/mm/dd")) AND CDate(Format(forms!frmmain!txtenddate, "yyyy/mm/dd"))
WHERE DateValue(Format(s.studystartdatetime, "yyyy/mm/dd")) BETWEEN CDate(Format(forms!frmMain!txtstartdate, "yyyy/mm/dd")) AND CDate(Format(forms!frmmain!txtenddate, "yyyy/mm/dd"))
WHERE DateValue(Format(s.studystartdatetime, "Short Date")) BETWEEN forms!frmMain!txtstartdate AND forms!frmmain!txtenddate
Etc.
Любой вклад в это будет принята с благодарностью:)