看起来我并不是这个问题中唯一的一个,但似乎并没有解决这个问题。MS Access链接表中的可空布尔值字段
我正在使用SQL Server 2005数据库的链接表(通过SQL Server ODBC管道)在Access 2010中工作。在该表中,其中一个布尔字段被标记为可空,并且该表中的几个记录实际上在该字段中具有空值。到现在为止还挺好。
进来访问,并且只要您打开链接表,Access显示0(false)而不是空白单元格(问题#1)。如果您尝试修改记录中的任何内容,则会收到一条错误消息,指出该记录已被其他人修改,并且您的更改无法保存。最后一个问题是由于Access不允许可空布尔字段,并且在尝试保存该值时会有点麻烦。
我的研究表明,这可能与Access使用Jet在后台连接到SQL Server数据库有关,Jet显然不支持可空布尔值。似乎没有办法配置Jet来支持它(尽管可能有,如果你使用代码连接的话)。我还认为MS正在用Office 2010中使用的另一项技术(ACE,我认为)取代Jet,但无法分辨这是Access实际使用的内容。无论哪种情况,我都找不到关于可空布尔值的可配置选项。
最后,这个问题似乎已经在不久前提出了到MS,但有他们到底有没有答案:如果任何人在那里遇到了这一点,并找到了https://connect.microsoft.com/SQLServer/feedback/details/617339/null-bit-fields-produce-spurious-ms-access-errors-when-using-the-native-odbc-driver?wa=wsignin1.0#tabs
我想知道解。在你提出这个建议之前,关闭可空选项并将所有的空值设置为“false”在我们的例子中并不是真正的选择。对我们来说,null实际上是一个有效的状态,与'false'非常不同。
Thx!
这是自Access 97以来的一个已知问题:http://support.microsoft.com/kb/278696/EN-US。由于过去14年没有任何变化,我不会期望任何修复很快... – Heinzi 2011-10-28 09:56:44