![MS Access 2010 最大記錄數](https://rvso.com/image/1438144/MS%20Access%202010%20%E6%9C%80%E5%A4%A7%E8%A8%98%E9%8C%84%E6%95%B8.png)
我有用 Access 2010 編寫的 VBA 程式。此前,總共不到 20,000 筆記錄。對於當前資料集,當它嘗試新增第 32,769 (32 K +1) 筆記錄時,我遇到了溢出。我嘗試在添加第 32,768 條記錄後停止它,並且工作正常(沒有溢出錯誤)。一旦我將最大值增加到 32,769,就會出現溢位錯誤。透過 VBA 新增的記錄數量是否有最大限制?我正在使用標準 DAO 呼叫 - CreateDatabase、OpenDatabase、OpenRecordset 等。然後是 .AddNew, xxx = yyy ..., 和 .Update 鏈來新增記錄。我使用的是 Windows 7 64 位元作業系統。有人建議使用 ADO 而不是 DAO,但我一直不知道如何做到這一點。看來第一件事是導入或加入 System.Data.OleDb.dll 的參考。一直沒能找到那個。任何幫助,將不勝感激。我最終可能會用 C# 重寫整個內容。
菲爾
答案1
問題很可能是您使用整數來指定行。嘗試使用 long 代替。這應該能讓你在它死之前走得更遠。
答案2
雙打無濟於事,多頭應該沒問題。如果您在 32769 處發生溢出,一定還有某個地方正在使用整數。確保所有模組的頂部都有 Option Explicit,因為變數名稱的拼字可能與變暗的地方不同,在這種情況下,如果您從小變數開始,它將是 Integer Variant 而不是 Long數字。