3

我一直在 Microstation V8i SS2 中使用 Visual Basic for Applications (VBA),我的字符串值出现溢出错误。

似乎 VBA 对字符串值有限制。限制似乎是 255 个字符。阅读它,很多消息来源说它可以支持多达 20 亿个字符。这不是真的?

发生的情况是,我使用 ADO 与数据库交互,所以我在 VBA 中构建自己的 SQL INSERT 语句。INSERT 语句变长,如 300 多个字符,具体取决于接受多行文本值的“注释”列。

有人有解决方案吗?我是否应该从 .NET 的角度编写自己的 COM-Addin,并在 VBA 中引用?

MsgBox Len(ssql)

Visual Basic 中断

错误处理程序结果

4

1 回答 1

10

VBA 字符串可以超过 255 个字符。

一个可能的罪魁祸首是如何在表中声明该列......该Comments列是否声明为varchar(255)

从帮助文件:

  • 可变长度字符串最多可包含大约 20 亿 (2^31) 个字符。

  • 一个固定长度的字符串可以包含 1 到大约 64K (2^16) 个字符。

参考

于 2012-06-07T07:59:13.637 回答