Почему я получаю «Введите значение параметра» при выполнении моего запроса MS Access? - PullRequest
3 голосов
/ 18 марта 2010

В своем запросе я использую функцию IIF, чтобы присвоить либо «До», либо «После» полю с именем BeforeOrAfter, используя AS.

Однако, когда я запускаю этот запрос, появляется диалоговое окно «Ввод значения параметра», запрашивающее значение для BeforeOrAfter. Если я удалю BeforeOrAfter DESC из предложения ORDER BY, я не получу диалоговое окно.

Вот неправильный запрос:

SELECT
    d.Scenario,
    e.Event,
    IIF(d.LogTime < e.Time, 'Before','After') AS BeforeOrAfter,
    d.HeartRate
FROM
    Data d INNER JOIN
    Events e ON d.Scenario = e.Scenario
WHERE
    e.Include = Yes
ORDER BY
    d.Scenario,
    e.Id,
    BeforeOrAfter DESC

Вопрос: Почему мой AS BeforeOrAfter не распознается предложением ORDER BY? Почему при запуске этого запроса запрашивается ввод значения параметра «BeforeOrAfter»?

Примечание: Я пытался использовать скобки, одинарные кавычки, двойные кавычки и т. Д., Но ничего из этого не имело значения.

1 Ответ

5 голосов
/ 18 марта 2010

Я полагаю, что Access не может обработать функцию псевдонима, поэтому вам придется скопировать свой IIF-блок вниз в клаузулу Order By. Или создайте подзапрос (и тогда вы можете даже оказаться вынужденным даже не использовать паратезы, если ваша версия Access не входит в число последних двух или около того).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...