Ms access 更改查询时MS Access溢出

Ms access 更改查询时MS Access溢出,ms-access,ms-access-2007,Ms Access,Ms Access 2007,好的,我已经在MSAccess2007中构建了报告,每个报告都有几个(40多个)查询。查询是打开表、子查询等,我认为Access并没有关闭它们。我可能错了,但出于某种原因,我认为这是导致溢出的原因 但不管怎样,我正试图弄清楚为什么事情会突然发生,以及我能做些什么来解决它。当我只有一个模式和一些虚拟数据时,我的报告工作得很好,但是当数据库实际填充时,提供数据的个人创建了更多的查找表,因此现在使用3个表的典型查询现在使用5个表 您认为查找表的增加(因此Access打开了更多对象)是我出现溢出错误的原

好的,我已经在MSAccess2007中构建了报告,每个报告都有几个(40多个)查询。查询是打开表、子查询等,我认为Access并没有关闭它们。我可能错了,但出于某种原因,我认为这是导致溢出的原因

但不管怎样,我正试图弄清楚为什么事情会突然发生,以及我能做些什么来解决它。当我只有一个模式和一些虚拟数据时,我的报告工作得很好,但是当数据库实际填充时,提供数据的个人创建了更多的查找表,因此现在使用3个表的典型查询现在使用5个表

您认为查找表的增加(因此Access打开了更多对象)是我出现溢出错误的原因,还是其他原因?此外,我不了解VBA,因此是否有值得研究的简单解决方案(例如,分解报告,这需要一段时间)


谢谢

确保您真正了解“溢出”情况。此代码在即时窗口中显示“错误6(溢出)”,不带引号

    Dim i As Integer
    Dim strMsg As String

On Error GoTo ErrorHandler

    i = 32767
    i = i + 1

ExitHere:
    On Error GoTo 0
    Exit Sub

ErrorHandler:
    strMsg = "Error " & Err.Number & " (" & Err.description _
        & ")"
    Debug.Print strMsg
    GoTo ExitHere
对该错误的解释是32767是VBA整数可以接受的最大值。所以,尝试添加一个将得到32768,它大于一个整数所能容纳的。。。所以溢出

其他数字数据类型也有限制。例如,2147483647是可存储为VBA Long的最大值

我可能在这里完全不正确,但我会检查您的复杂报告是否包含排序和分组选项,您可能会在其中生成总数。如果是这样,您添加的数据是否会将这些总计的值推送到各自数据类型的容量之外


如果您收到不同的错误消息,其中包含“溢出”一词,那么告诉我们错误消息的确切文本可能会有所帮助。

嘿,汉斯,这是一个很好的答案,但不幸的是,它似乎不适合我的问题。此外,错误消息只是简单地说“溢出”,没有其他内容。这只是一个弹出窗口,没有关于错误的任何详细信息。它不也包括错误号吗?如果是的话,数字是6,你可能正在处理一个类似于我描述的溢出。不,它没有数字。真奇怪。此外,我确实有大于32767的字段(我的最高值是610万),但它们已经设置为长整数。如果是这样,我认为贵公司应该请一位经验丰富的Access开发人员来解决这个问题。我怀疑我们能否解决堆栈溢出问题。好的,谢谢。我接受你的答案,因为它是正确的,有人可能会从中受益。