Если нет явного первичного ключа, должен быть хотя бы неявный первичный ключ (даже если это каждый столбец ). Без какого-либо ключа вы не сможете безопасно обновить таблицу.
Если при создании набора данных вы пройдете через мастера, вы должны получить запрос на обновление, который включает оператор обновления, подобный следующему:
update TableA
set Column1 = @Column1, Column2 = @Column2 ...
where Column1 = @PreviousColumn1 and Column2 = @PreviousColumn2 ...
EDIT
Вы не сможете использовать мастер для обновления или удаления команд без PK на столе. Однако вы можете сделать копию файла Access, поместить в таблицу PK (если вы не можете получить короткий неявный ключ, вам, возможно, придется использовать каждый столбец) и использовать его для создания команд с помощью мастера.
Если вы не хотите проходить этот шаг, вам придется создать запрос, аналогичный приведенному выше. Для параметров @PreviousColumnX
их значения SourceVersion
будут установлены на Original
.
update TableA
set Column1 = @Column1, Column2 = @Column2 ...
where (Column1 = @PreviousColumn1 or @PreviousColumn1 is null)
and Column2 = @PreviousColumn2 ...