从具有链接表的Access更新到SQL视图失败

时间:2017-02-22 15:58:28

标签: sql-server ms-access

我有一张表,我从中创建了一个视图。该视图实际上不会更改任何内容,但列的顺序和converted中的varcharint除外。

视图在Access 2013中设置为链接表。一切都很好。当我在Access中提取一个表单来编辑视图中的行时,我遇到了问题。

我尝试用NA更新列OSP_PERCENT_COMPLETE。最终用户希望此字段不仅仅是int。我更新了视图,以便它像这样拉出列:

convert(varchar(10),OSP_PERCENT_COMPLETE) OSP_PERCENT_COMPLETE

所以它保持相同的名称,但现在是varchar字段。然后,当我在表单中更新该字段时,我收到此错误消息

  

ODBC - 在链接表上更新' PMDBII'失败   访问[Microsoft] [ODBC SQL Server驱动程序] [SQL Server]更新或插入视图或功能''失败,因为它包含派生或常量字段。 (#4406)

我可以检查PMDBII链接表中的字段,并将其显示为长度为10的short text字段。

有一件事我应该提到,其中大部分都是由一位不再与公司合作的同事建立的,而且我并不像他那样精通Access。

那么为什么我会收到错误?

1 个答案:

答案 0 :(得分:3)

您收到错误的原因是'视图'并没有改变基础领域仍然是' int'的事实。如果您使用表单,可能可以在更改之前包含代码'将NA翻译为null的事件,但这可能是一个坏主意。