vba - VBA中添加行的最大长度

标签 vba ms-access

在 VBA 中添加数字时是否有最大行长?例如在 MS Access 中:

 Dim L As Long

    ' this works
    L = 2696 + 2630 + 2860 + 2860 + 2860 + 2860 + 2795 + 2795 + 2630 + 2630 + 2630 + 263

    ' this gives an Overflow error
    L = 2696 + 2630 + 2860 + 2860 + 2860 + 2860 + 2795 + 2795 + 2630 + 2630 + 2630 + 2630

    Debug.Print L

我从未见过这方面的记录。此外,它不会在 Visual Studio 中的 C# 中引发溢出错误。

最佳答案

type of an integer literal是一个整数(最大+32767):

?typename(2696)
Integer

nIntegers相加的结果也是Integer类型:

?typename(2696 + 2630)
Integer

一旦累积超过 Integer 的界限,您将得到一个溢出异常,您分配给的变量是 Long 并不重要,因为在赋值之前进行累加。

解决此问题的方法是将附加值中的一个值设为 Long,您可以使用 & 类型后缀轻松做到这一点:

L = 2696& + 2630 + ..

关于vba - VBA中添加行的最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54114272/

相关文章:

macos - Powerpoint 2011 Mac报告对象“_Slide”的方法“导出”失败

vb.net - 为什么不推荐使用一个 Public OleDbConnection?解决错误: too many connections opened的替代方案

vba - 加载图像使列表框和文本框闪烁一次

ms-access - Access 查询——一个字段是否包含另一字段的值

excel - 当用户输入超过预期的参数时,强制 VBA 中的 UDF 显示 MsgBox?

excel - 如何使用vba创建数据透视表

vba - Ms Access 数据库在使用 vba 打开时可以创建自身的备份吗?

Excel VBA - 添加自定义数字格式

mysql - MS-Access:表太多,文件太大 - 多个链接表查询?

iis - 安装 IIS 管理工具时 DoCmd.SendObject 失败