У меня есть база данных MS Access 2007, для которой мне нужно создать обновление.Таблица, которую я пытаюсь обновить, выглядит следующим образом:
CarID WeekOf NumDataPoints NumWksZeroPoints
3AA May-14-2011 23 0
7BB May-14-2011 9 0
3AA May-21-2011 35 0
7BB May-21-2011 0 1
3AA May-28-2011 24
7BB May-28-2011 0
Я обрабатываю последний набор записей за 28 мая 2011 года, и суть заключается в том, чтобы обновлять каждую машину на количество недель, в которых не было точек данных.,Я делаю это, проверяя количество точек на текущей неделе, и если у него есть несколько точек, тогда #WeeksZeroPoints обнуляется, а если текущее количество точек равно нулю, то я беру подсчет и увеличение предыдущих недель на единицу.В течение моей прошлой недели у меня был бы ввод
0
2
Так что я попробовал что-то вроде
UPDATE tblCars
SET NumWksZeroPoints = IIF(NumDataPoints<>0, 0, (SELECT MAX(NumWksZeroPoints) AS wzp
FROM tblCars AS f
WHERE f.CarID=tblCars.CarID AND
f.WeekEnding=#5/21/2011#) + 1
)
WHERE WeekOf=#5/28/2011#;
К сожалению, это не сработает так, как я думал, что будет.Я думаю, что у меня есть концепция и большинство SQL, я просто не могу заставить его работать.Это против MS Access, поэтому некоторые другие приемы, которые я знаю, просто не работают.Любая помощь приветствуется.