链接到SQL Server的访问权限显示#Name?在过滤后的字段中

时间:2019-05-23 13:18:55

标签: sql-server ms-access view

关于:

  • MS Access 2016
  • SQL Server 2017

我与本地SQL Server有ODBC连接。奇迹般有效。将其中两个链接表作为视图。当我在MS Access中打开视图时,它显示为图1。应用过滤器时,我得到的结果如图2所示,所有字段中的错误均为#Name?

当我直接在SQL Server中查找它时,它工作得很好。

有什么建议吗?

fig1

fig2

1 个答案:

答案 0 :(得分:2)

在表中添加所谓的“行版本”列。 因此,在视图所基于的基表中创建一个timestamp列。现在包括该新列-我通常将其称为TS,但它的类型将是“时间戳”-请勿与日期/时间列混淆。

该表可能具有1个或多个浮点列,或一个timestamp列。因此,将timestamp列添加到基表中。将TS列添加到视图中,然后重新链接视图(或刷新-请不要忘记最后一步)。

当您链接视图(手动使用访问UI)时,将有一次机会选择PK列。您不必设置(选择)PK列,但是如果没有,则表将是只读的(没关系)。

如果上面的TS列不能解决此问题,则请在链接时尝试选择PK(因此刷新将不足,您必须删除并重新创建链接的视图才能获得(强制/触发)所有如前所述,添加TS列应该可以解决此问题,但如果不能,请重新开始,然后重新选择选定的PK以及所有重要的TS列重新创建链接视图。不包括TS列,那么Access(客户端)将逐个字段比较一个丑陋的字段-使用TS列将消除这种额外的工作,并且很可能是您的问题。