VB 实时错误35600索引超出边界

Private Sub txtName_KeyPress(KeyAscii As Integer) '键盘回车 输入“IP地址”查询
If KeyAscii = 13 Then
Call lianjie
Set rs = New ADODB.Recordset
Dim strrs As String
strrs = "select * from 个人 where (IP地址) like'" & "%" & txtName.Text & "%" & "'"
rs.Open strrs, conn, adOpenKeyset, adLockBatchOptimistic
Dim a As Integer
a = 1
myListView.ListItems.Clear
Dim obj As ListItem
While Not rs.EOF
Set obj = myListView.ListItems.Add(i, "C" & rs("ID"), rs("序号"), 1, 1)
obj.ListSubItems.Add , "G" & rs("ID"), Trim("" & rs("科室"))
obj.ListSubItems.Add , "f" & rs("ID"), Trim("" & rs("工作站"))
obj.ListSubItems.Add , "H" & rs("ID"), Trim("" & rs("IP地址"))
obj.ListSubItems.Add , "E" & rs("ID"), Trim("" & rs("备注"))
a = a + 1
Wend
End If
End Sub

ListView最大的索引号应该是个16位二进制数(有符号的),而你的数据记录数量超出了范围,解决方法是:
1,改用数据邦定就不会出现这种情况
2、自己添加一个指针,让记录数不会超过,自己维护指针和llistview的显示。另外把那么多的数据放到ListView里面,也没必要,并且效率也低(你能看到的只有几行呀)
温馨提示:答案为网友推荐,仅供参考