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

沒有留言:

張貼留言

使用Gemini撰寫投資策略執行碼

 本週我嘗試使用 AI 來測試「蹺蹺板投資策略」。有趣的是,付費版 ChatGPT 在撰寫較複雜的策略程式碼時,表現並不如預期,反而是免費版的 Gemini 表現更為出色。不僅能快速生成可執行的程式,還能在我進行策略修正的過程中,協助將提示詞進一步結構化,讓程式更貼近我原本的投資...