2015-11-27 20 views
-2

在MS Access 2010中工作,並期望在需要導入到人員數據庫中的Excel格式中接收1,000次更改。我一直負責「自動化」更新過程,但可以真正使用一些幫助。查詢以填寫表單更新中的NULL值

主表有12個字段,每個字段可以爲每個提交的更改表單更改。我們設計了一個宏來上傳Excel文件,但是更改表單中的一些字段將是空白的,導致員工記錄不完整(例如,原始員工記錄已填寫全部12條記錄,但更改記錄只有1條記錄)。

是否可以編寫一個查詢或宏來填充最近一次員工記錄的空值或NULL值,並使用前面的項中的非NULL值?

+0

是的。 (但爲了做到這一點,您需要將最後一次更新時間存儲在單獨的字段中,因爲數據庫中不存在「行號」。) – vacip

回答

0

如果我理解正確,如果'change'表中的值爲null,您希望保留'primary'表中的值。在這種情況下,以下應該工作 UPDATE <primaryTable> INNER JOIN <changeTable> ON <primaryTable>.<keyField> = <changeTable>.<keyField> SET <primaryTable>.<Field1> = nz(<changeTable>.<Field1>,<primaryTable>.<Field1>), <repeat for each field to update> 只要確保你正在處理空值,而不是空的字符串,這在Excel導入中很常見。在這種情況下,您需要將空字符串更改爲空值,或者使用IIF語句而不是nz函數。