0

我正在将 Access .ADP 项目转换为带有链接表的 .ACCDB。我知道使用 SQL Server 后端时的一个大问题是使用可空bit字段,因为 Access 的Yes/No数据类型不允许空值。所以我将所有可以为空的bit字段都转换为tinyint. 但是,Access 仍然将这些字段映射为Yes/No,并将我的所有空值都转换为零。

有人对如何让它停止这种情况有任何建议吗?我已经仔细检查了有问题的字段是否设置为tinyint,并且在 SSMS 中查询我发现绝大多数记录都是空的。但我能想到的就是刷新或删除并重新创建链接表,这并不能解决问题。

4

2 回答 2

1

就我而言,答案是我应该记住的,但我忘记了。希望将来对其他人有所帮助。

我的链接表实际上链接到后端的视图(我肯定应该在我的问题中提到这一点)。当基础表更改时,视图上的元数据不会自动刷新。我已将基础表中的所有可为空bit字段更改为tinyint,但就视图而言,它们仍然是bit

昨晚,我删除并重新创建了所有视图,然后刷新了 Access 中的链接表。问题解决了!

于 2013-03-26T13:03:50.330 回答
1

使用可空 int 字段存储 -1(表示是)、0(表示否)和 null(不知道/未定义),我有更多的运气。访问表单完全理解这些值,并且当绑定到复选框并用于过滤等时它们会正确响应。空值(如果您将必需属性设置为否,您可以使用本机访问表执行此操作)将在绑定到复选框时显示为灰色。

于 2013-03-25T19:58:42.460 回答