Microsoft Office Access 不能在追加查询中追加所有记录
有客戶反映,我們的軟件ACCESS數(shù)據(jù)庫版本在使用時(shí)會(huì)出現(xiàn)"Microsoft Office Access 不能在追加查詢中追加所有記錄"的錯(cuò)誤。使用客戶的數(shù)據(jù)庫調(diào)試軟件發(fā)現(xiàn)錯(cuò)誤出現(xiàn)在執(zhí)行下圖這條SQL語句的時(shí)候,把SQL語句拿出來直接在Access里面執(zhí)行同樣報(bào)錯(cuò),看來不是我們軟件的問題。。。
"一定是Access出問題了",這是我的第一反應(yīng)。連錯(cuò)誤提示都是這樣沒有參考價(jià)值,什么叫"Microsoft Access設(shè)置0字段為Null是因?yàn)轭愋娃D(zhuǎn)換失敗,它未將1記錄添加到表是因?yàn)殒I值沖突,沒有添加0記錄是因?yàn)殒i定沖突,沒有添加0記錄是因?yàn)轵?yàn)證規(guī)則沖突。"??? That's why I hate Access!!
既然提示了類型轉(zhuǎn)換失敗和鍵值沖突,就看看表結(jié)構(gòu)吧,如下圖:
0字段應(yīng)該是自動(dòng)編號(hào)字段TRADEID了,1字段就是ACCOUNTNO。
先看看ACCOUNTNO有沒有鍵值沖突。錯(cuò)誤語句插入的是691,換個(gè)別的試試,還是不行。再說這個(gè)字段也沒有要求數(shù)據(jù)唯一性,應(yīng)該不是這里的問題了。
只可能是TRADEID字段的問題了。自動(dòng)編號(hào)字段能保證唯一性,不知道"類型轉(zhuǎn)換失敗"和"鎖定沖突"指的是什么。只能修改一下這個(gè)字段試試,把長整型改為整型,也不行。TRADEID是主鍵,把主鍵去掉試試,居然就行了!!!成功插入數(shù)據(jù),沒有提示那個(gè)錯(cuò)誤,見下圖。
由此看來,這應(yīng)該是鎖定沖突造成的。至于"鎖定沖突"是如何造成的,我在網(wǎng)上Google了一下,主要是因?yàn)槎嗳送瑫r(shí)操作數(shù)據(jù)庫。
至此,問題原因和解決方法都已經(jīng)明確。我的軟件設(shè)計(jì)是在單機(jī)環(huán)境下使用,大部分客戶使用方法正確,通過軟件進(jìn)行操作,數(shù)據(jù)庫讀寫正常。該客戶手工打開數(shù)據(jù)庫操作,造成數(shù)據(jù)庫鎖定沖突。
知道原因就知道其實(shí)有更簡單的解決方法,熟悉Access的都知道J.
總結(jié)
以上是生活随笔為你收集整理的Microsoft Office Access 不能在追加查询中追加所有记录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql分页查询减轻压力_mysql分
- 下一篇: MacOS的钥匙串访问没有始终允许