2015-07-20 67 views
0

我有一個循環,通過使用ADO收集信息從一個表中填充另一個。無效的使用空 - 訪問2013 VBA

當我開始記錄11096時,出現運行時錯誤。 「運行時錯誤94: 無效使用的Null」

這是什麼突出

invDate = DateSerial(rstDe![Year], rstDe![Month], rstDe![Date]) ' Coverts Year, Month, and Day, to a date format. 

如果我在它懸停,就會露出「2015年7月19日」,那麼爲什麼它認爲它是空值?

O打開rstDe引用的表並去記錄11096,它看起來很好。它包含與上面記錄完全相同的數字和格式。

+0

'rstDe![日期]'?'Day',也許? –

+0

沒有,誰填寫的天原使用的日期信息的人。我之前只是增加了一個檢查認爲在原表中缺少行號,因爲忽略整個語句給了我每個表中的11104條記錄,但是我的結尾縮短了8行,我將考慮修復... 11000條記錄是一個痛苦的過程 –

+0

好的,所以一定有缺失的行號,在表達式之前用「If Not IsNull(rstDe![Year])」解決 –

回答

0

這已解決。

在檢查自己爲什麼會拋出空錯誤時,原始表中的行一定會跳過,導致我看到錯誤的信息。

日期函數」

If Not IsNull(rstDe![Year]) Then 
    invDate = DateSerial(rstDe![Year], rstDe![Month], rstDe![Date]) ' Coverts Year, Month, and Day, to a date format. 
    rstAr![Invoiced Date] = invDate 
    rstAr![Outstanding Days] = (Date - invDate) 
End If