Я использую SQL в MS Access, и мне нужно сравнить 2 значения подряд, чтобы определить результат третьего поля. Поле «Yearmove» имеет значение не во всех случаях. Вот тестовый код, который я запускаю
SELECT z.SCHOOL, z.Year as Year, ProgBuild.BldgNo, ProgMoveBuild.yearmove AS Yearmove,
IIF([Year]=[Yearmove], 1, 0) AS Result
Результаты хороши в тех случаях, когда «Yearmove» пусто и показывает 0, как и ожидалось. Anyplace «Yearmove» имеет номер, в поле «Результат» указано «#ERROR», поэтому как при выполнении условия, так и при его отсутствии. Я попытался заполнить поле «ГОД» как текстом (например, «2014»), так и нетекстом (например, 2014), но получил тот же результат. Все данные числовые. Вот как выглядит часть результатов:
SCHOOL Year BldgNo Yearmove Result
254 2014 254 0
256 2014 256 0
260 2014 260 0
261 2014 261 0
262 2014 202 0
301 2014 301 0
307 2014 307 2019 #ERROR
313 2014 313 2019 #ERROR
314 2014 314 0
321 2014 321 0
322 2014 322 0
#ERROR
? - person Brad   schedule 03.03.2015z.Year
илиProgMoveBuild.yearmove
на текст, я получаю эту ошибку. т.е. они разные, эта ошибка произойдет. Если они совпадают (текст или число), ошибка не возникает. - person Brad   schedule 03.03.2015