2021年1月27日 星期三

VBA_執行錯誤6溢位

        最近請資訊同事幫忙寫一個VBA撈資料庫的資料,因為我要跑的資料大約9萬多筆,同事幫我弄完後跟我說只能顯示32,767筆,這我還是第一次遇到因為 office 2003版的限制是65,536筆,之後的版本已經能達到1,048,576筆。

        後來我上網搜尋瞭一下出現的錯誤資訊(執行錯誤6溢位),剛好有提到關於32,767筆的,應該是把資料型態設為Integer,因為代碼牽涉到資料庫密碼,因此我也看不到相關代碼,跟同事確認後的確是這設定問題,我請同事改為Long 筆數完全不會受限甚至超過1,048,576筆,long 的範圍值從-9223372036854775808 到9223372036854775807(9.2 ... E + 18)的值。 請詳官方介紹 long資料類型 。

下面的代碼會出現錯誤資訊(執行錯誤6溢位)

sub TEST_A()
    Dim r As  Integer
For r = 1 To 100000 Next End Sub

下面的代碼執行時不會出現錯誤

 

Sub TEST_B()
Dim r As Long For r = 1 To 100000 Next End Sub

沒有留言:

張貼留言