Sql server 使用链接表访问时更新SQL视图失败
我有一个创建视图的表。该视图实际上没有改变任何东西,除了列的顺序,一列从Sql server 使用链接表访问时更新SQL视图失败,sql-server,ms-access,Sql Server,Ms Access,我有一个创建视图的表。该视图实际上没有改变任何东西,除了列的顺序,一列从int转换为varchar 该视图在Access 2013中设置为链接表。一切都很好。当我在Access中调出表单以编辑视图中的行时,我遇到了问题 我尝试用NA更新列OSP\u COMPLETE\u。最终用户希望此字段不仅仅是int。我更新了视图,以便它像这样拉动列: convert(varchar(10),OSP_PERCENT_COMPLETE) OSP_PERCENT_COMPLETE 因此,它保持相同的名称,但现在
int
转换为varchar
该视图在Access 2013中设置为链接表。一切都很好。当我在Access中调出表单以编辑视图中的行时,我遇到了问题
我尝试用NA更新列OSP\u COMPLETE\u
。最终用户希望此字段不仅仅是int
。我更新了视图,以便它像这样拉动列:
convert(varchar(10),OSP_PERCENT_COMPLETE) OSP_PERCENT_COMPLETE
因此,它保持相同的名称,但现在是一个varchar
字段。然后,当我在表单中更新该字段时,我会收到此错误消息
ODBC--更新链接表“PMDBII”失败
访问视图或函数“”的[Microsoft][ODBC SQL Server驱动程序][SQL Server]更新或插入失败,因为它包含派生字段或常量字段。(#4406)
我可以检查PMDBII链接表中的字段,它显示为长度为10的短文本字段
有一件事我应该提一提,这大部分是由一位不再在公司工作的同事建立的,我不像他那样精通访问
那么为什么会出现错误呢?之所以会出现错误,是因为“视图”不会改变底层字段仍然是“int”的事实。如果使用表单,可能会在将NA转换为null的“更改前”事件中包含代码,但这可能不是一个好主意。之所以会出现错误,是因为“视图”不会改变基础字段仍然是“int”@WayneG.Dunn的事实,所以基表字段需要是varchar
而不仅仅是视图?这是我应该知道的。作为答案,我将结束这个问题。这让我觉得自己很愚蠢,因为我一开始没有意识到这一点。谢谢