VB While Not List1.Selected(i)无效数组索引

在运行程序后提示:实时错误’381‘无效属性数组索引。点击调试
指向“While Not List1.Selected(i)”
不知道哪里错了,请各位高手看一下
办法程序
Private Sub Command2_Click()
cs = "DSN=stu.dsn"
Dim mrc As ADODB.Recordset
Dim conn As ADODB.Connection
Dim txtspl As String
Dim i As Integer
While Not List1.Selected(i)
i = i + 1
Wend
Set conn = New ADODB.Connection
conn.Open cs
Set mrc = New ADODB.Recordset
txtsql = "select * from 学生表 where 学生编号= '" + Label8.Caption + "'"
mrc.Open txtsql, conn, adOpenKeyset, adLockOptimistic
mrc("学生姓名") = Text3.Text
mrc("学生性别") = List1.List(i)
mrc("学生年龄") = Text4.Text
mrc("学生班级") = Text5.Text
mrc.Update
mrc.Close
msg = MsgBox("修改成功", , "提示")
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Label8.Caption = ""
List1.Selected(0) = True
'重新显示记录
txtsql = "学生表"
mrc.Open txtsql, conn, adOpenKeyset, adLockBatchOptimistic
If mrc.EOF Then
msg = MsgBox("没有查到任何记录", , "提示")
MSFlexGrid1.Cols = 0
MSFlexGrid1.Rows = 0
Else
With MSFlexGrid1
MSFlexGrid1.Rows = 1
MSFlexGrid1.Cols = 5
For i = 0 To 4
MSFlexGrid1.TextMatrix(0, i) = mrc.Fields(i).Name
Next i
While Not mrc.EOF
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
For i = 0 To 4
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, i) = mrc.Fields(i)
Next i
mrc.MoveNext
Wend
End With
End If
End Sub

第1个回答  2009-02-12
在form_load 事件中加上个默认值.
代码:
List1.Selected(0) = True
相似回答