我有一张表,我从中创建了一个视图。该视图实际上不会更改任何内容,但列的顺序和converted
中的varchar
到int
除外。
视图在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。
那么为什么我会收到错误?
答案 0 :(得分:3)
您收到错误的原因是'视图'并没有改变基础领域仍然是' int'的事实。如果您使用表单,可能可以在更改之前包含代码'将NA翻译为null的事件,但这可能是一个坏主意。