我目前遇到更新查詢問題,它在我們的某個Oracle表中更新了一列。基本上我們將一個CSV文件導入到Access中,將其稱爲'NewULN',然後使用此文件中的條件來更新我們的表格。MS Access更新Oracle數據庫 - 查詢問題
如果您手動輸入人員代碼,此腳本工作正常。它會相應地更新表格並顯示正確的結果。代碼如下:
UPDATE NewULN INNER JOIN FES_PEOPLE ON NewULN.MISIdentifier = FES_PEOPLE.PERSON_CODE SET FES_PEOPLE.UNIQUE_LEARN_NO = [NewULN].[ULN]
WHERE (NewULN.ULN Is Not Null) AND (FES_PEOPLE.PERSON_CODE=[Enter Person Code]);
我們現在希望一次更新所有記錄,但我們一直有這樣做的困難。這裏就是我想下面這段代碼將是確定的:
原單碼:
UPDATE NewULN INNER JOIN FES_PEOPLE ON NewULN.MISIdentifier = FES_PEOPLE.PERSON_CODE SET FES_PEOPLE.UNIQUE_LEARN_NO = [NewULN].[ULN]
WHERE (NewULN.ULN Is Not Null) AND (FES_PEOPLE.PERSON_CODE=NewULN.MISIdentifier);
最最新的版本(基於建議):
UPDATE NewULN INNER JOIN FES_PEOPLE ON NewULN.MISIdentifier = FES_PEOPLE.PERSON_CODE SET FES_PEOPLE.UNIQUE_LEARN_NO = [NewULN].[ULN]
WHERE (NewULN.ULN Is Not Null);
但我們有各種各樣的出現錯誤 - 有時Access會在您嘗試運行訪問查詢時崩潰。
有時它會提出鎖定違規(有趣的是,它會更新第一條記錄,然後失敗所有其他記錄)。有時會出現錯誤「FES_PEOPLE - '無效數字'」,其他時間「只能綁定一個長整數值才能插入長列」。
ULN字段一直是Text,它以前一直工作,MISIdentifier總是Text(當我們在Windows XP上有一個運行版本)時,但現在我已將其更改爲Long Int。
我沒有寫這個,它在我們將機器升級到Windows 7後停止工作,所以我現在不得不用很少的Access知識來重寫它。你已經在做
感謝我提前
感謝您的輸入,我甚至沒有注意到這一點。我拿出WHERE子句中的位並運行更新,但得到了一個鎖定違規錯誤。它再次更新的第一條記錄,但未能對其他67 新代碼: UPDATE NewULN INNER JOIN FES_PEOPLE ON NewULN.MISIdentifier = FES_PEOPLE.PERSON_CODE SET FES_PEOPLE.UNIQUE_LEARN_NO = [NewULN] [ULN] WHERE(NewULN。 ULN不是空的); – Zakerias