看起來我並不是這個問題中唯一的一個,但似乎並沒有解決這個問題。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