0

我在 VBA(在 MS Access 内)中运行一个附加查询,看起来像下面的代码。当我在 VBA 中使用 RecordsAffected-method 来跟踪已插入的记录数时,当数量超过大约 90.000 条或更多记录时会导致错误?(它说某种stackoverflow错误)

有趣的是,当我不使用 RecordsAffected 方法时,查询工作得很好。当受影响的行数低于 90.000 时,它也可以正常工作。

有什么问题?这是VBA中的错误吗?
.
.

Dim dbs As DAO.Database  
sql As String  
iCount As Integer  
Set dbs = CurrentDb  

sql = "INSERT INTO " & ReceiveTable_selected & " SELECT " & NavisionTable_selected & ".* " & _
                   "FROM " & NavisionTable_selected & " " & _
                   "WHERE ((([" & NavisionTable_selected & "].[Entry No_]  ) >" &   
                    Counter_selected & "))"


dbs.Execute sql, dbFailOnError
iCount = dbs.RecordsAffected
4

1 回答 1

3

更改Dim iCount As IntegerDim iCount As Long

从帮助文件:

整数变量存储为 16 位(2 字节)数字,范围从 -32,768 到 32,767。

和:

长(长整数)变量存储为带符号的 32 位(4 字节)数字,范围从 -2,147,483,648 到 2,147,483,647。

于 2011-03-01T14:57:53.110 回答