VB中实时错误9:“下标越界”是什么意思?

VB中实时错误9:“下标越界”是什么意思?,第1张

只能在定义的范围内访问数组元素和集合成员。下标可能比下标范围大或小,或是在应用程序中这一边的数组没有指定范围。检查数组的声明以确认其上界和下界。若使用的是重新指定范围的数组,应使用 UBound 和 LBound 函数来决定数组访问。如果索引指定为变量,应检查变量名的拼写。

以一个简单的一维数组为例:int a[10];这是一个整型的数组a,有10个元素:a[0]-a[9],因为正确的下标应该是从0开始,到9结束,与生活习惯中的1-10不一样,于是产生一个a[10]的错误,即数组下标越界。

扩展资料

下列的代码就会导致此错误:

Dim MyArray() As Integer

MyArray(8)=234'导致错误9。

Visual Basic并不会将没有指定范围的数组自动设为0–10。相反必须使用Dim或ReDim来指定数组中元素的数目。

引用了不存在的集合成悔宽员。

试着使用For Each...Next结构兄敏代替指定元素下标。

使用速写形式的下标,结果指定了错误的元素。

例如,当在集合上使用!运算子时,!自动指定了一个键。例如object!keyname.value和object.item(keyname).value是一样的。在此羡前枝例中,集合中如果keyname表示一个错误键,错误就会产生。若要改进此错误,在集合对象中使用正确的键名称或索引。

详细信息,可选取有问题的项目,并按下F1键。

参考资料来源:百度百科-下标越界

参考资料来源:百度百科-数组下标越界

代码缺少搜索窗体,无法调试,注释所有有关搜索窗体的语句,未见有下标越界9的对话框提历御示。

下标越界(错误 9)

只能在定义的范围内访问数组元素和集合成员。此错误有以下的原因基清和解决方法:

引用了不存在的数组元素.

下标比可能下标范围大或小,或是在应用程序中这一边的数组没有指定范围。检查数组的声明以确认其上界和下界。若使用的是重新指定范围的数组,应使用 UBound 和 LBound 函数来决定数组访问。如果索引指定为变量,应检查变量名的拼写。

声明数组时没有指定元素的数目。例如,下列的代码就会导致此错误:

Dim MyArray() As Integer

MyArray(8) = 234    ' 导致错误 9。

Visual Basic 并不会将没有指定范围的数组自动设为 0 – 10。相反必须使用 Dim 或 ReDim 来指定数组中元素的数目。

引用了不存在的集合成员。

试着使搏烂前用 For Each...Next

结构代替指定元素下标。

使用速写形式的下标,结果指定了错误的元素。

例如,当在集合上使用 ! 运算子时,! 自动指定了一个键。例如

object!keyname.value 和 object.item(keyname).value 是一样的。在此例中,集合中如果

keyname

表示一个错误键,错误就会产生。若要改进此错误,在集合对象中使用正确的键名称或索引。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12385720.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存