2017-02-22 15 views
1

У меня есть таблица, из которой я создал представление. Представление действительно ничего не меняет, кроме порядка столбцов и одного столбца: converted - varchar от int.Обновление до SQL View не выполняется из Access с связанной таблицей

Вид создается как связанная таблица в Access 2013. Все в порядке. Когда я вытягиваю форму в Access для редактирования строк в представлении, я получаю эту проблему.

Я пытаюсь обновить колонку OSP_PERCENT_COMPLETE с NA. Конечным пользователям требуется, чтобы это поле не было только int. Я обновил вид так, что она тянет колонку, как это:

convert(varchar(10),OSP_PERCENT_COMPLETE) OSP_PERCENT_COMPLETE 

Так что держит такое же имя, но в настоящее время является varchar поля. Затем, когда я иду, чтобы обновить это поле в форме, я получаю сообщение об ошибке

ODBC - обновление связанной таблицы 'PMDBII' не удалось доступа [Microsoft] [ODBC SQL Server Driver] [SQL Server] Update или Вставка представления или функции '' не удалось, поскольку она содержит производное или постоянное поле. (# 4406)

можно проверить поле в PMDBII связанной таблице, и это показывает его как short text поле с длиной 10.

Одна вещь, я должен упомянуть, большая часть этого была создана соавтором, который больше не работает с компанией, и я не так разбираюсь в Access, как он.

Так почему я получу ошибку?

+1

Вы получаете ошибку, потому что «вид» не изменяет того факта, что базовое поле по-прежнему является «int» –

+0

@ WayneG.Dunn. Так что поле базовой таблицы должно быть «varchar» не только для представления? Это то, что я должен был знать. Положите это как ответ, и я закрою этот вопрос. – Mike

ответ

3

Вы получаете ошибку, потому что «вид» не меняет того факта, что базовое поле по-прежнему является «int». Если вы используете форму, возможно, вы можете включить код в событие «до изменения», которое переводит NA в нуль, но это может быть плохой идеей.

+0

Заставляет меня чувствовать себя довольно глупым, не понимая этого для начала. благодаря – Mike