Я ценю, что это простой ответ, но у вас определенно есть права на запись для рассматриваемой таблицы, или, возможно, ссылка на БД открыта только для чтения? Если любое из них истинно, то Access может пройти через .Addnew, но не получится в момент фиксации (.Update). Я говорю это только потому, что ваш код выглядит нормально. Если нет, то вы всегда можете попробовать добавить .MoveFirst после открытия набора записей, чтобы проверить, не приводит ли это также к ошибке.