Я нахожусь в процессе нормализации нескольких таблиц, и я добавил суррогатный первичный ключ в таблицу с именем Exams
, в которой содержатся названия экзаменов.
Ранее дочерние таблицы просто использовали полное имя экзамена в качестве записи FK.
Теперь, когда я добавил в таблицу автонумерованное поле, я хочу обновить записи, которые его используют, например таблицу, из которой получены вопросы, так как их более тысячи.
Прохождение каждого экзамена с измененным обновлением, как только я нахожу имя, каждый раз займет некоторое время, поэтому я решил написать коррелированный подзапрос в запросе UPDATE
. Запрос выглядит так:
UPDATE tblExamQuestion
SET ExamID = (SELECT ExamID FROM tblExam WHERE ExamName = tblExamQuestion.ExamName);
К сожалению, как только я напишу часть подзапроса, Access отказывается предоставить мне опцию Run
и просто отображает Представление проекта , Представление таблицы и Представление SQL для этого запроса. Однако он по-прежнему отображает значок Update Query в обозревателе объектов.
Есть ли правильный способ написать это, чтобы Access не расстраивался?
Использование: Access 2007 с базой данных Access 2003 MDB.