为什么提示下边越限,哪边出错了,请高手帮忙看看解决方法

为什么提示下边越限,哪边出错了,请高手帮忙看看
VB code

Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
 Dim j As Integer
 Dim s As String
    ' Dim filename As String
    Dim i As Integer
   ' filename = App.Path & "\stock.mdb"
'  Set db = OpenDatabase(filename)
    'Set recset = db.OpenRecordset("股票")
 
  If TreeView1.SelectedItem.children = 0 Then '检查是否有子节点,0为无
    For j = 1 To TreeView1.Nodes.Count
        'If TreeView1.Nodes(j).Index Then s = "select * from 股票 where [代码] like '600*' "
       If TreeView1.Nodes(j).Index Then s = "select * from 股票 where left([代码],3)='002' "
         
  
Set recset = db.OpenRecordset(s)
    MSHFlexGrid1.FormatString = "^序号|< 代   码 |< 名     称|<价 格|> 货  币  资  金 |> 长  期  负  债 |> 总   股   本 |> 流  通  股  本 |>净现金价值(总) |>净现金价值(流)|>净资产收益率|>  备      注  "
    MSHFlexGrid1.rows = recset.RecordCount + 1
    For i = 1 To MSHFlexGrid1.rows - 1
           MSHFlexGrid1.TextMatrix(i, 0) = i
    Next
    i = 0
    With recset
        Do While Not .EOF
            i = i + 1
            MSHFlexGrid1.TextMatrix(i, 1) = !代码
            MSHFlexGrid1.TextMatrix(i, 2) = !名称
            MSHFlexGrid1.TextMatrix(i, 3) = !价格
            MSHFlexGrid1.TextMatrix(i, 4) = !货币资金
            MSHFlexGrid1.TextMatrix(i, 5) = !长期负债
            MSHFlexGrid1.TextMatrix(i, 6) = !总股本
            MSHFlexGrid1.TextMatrix(i, 7) = !流通股本
            MSHFlexGrid1.TextMatrix(i, 8) = !净现金价值总
            MSHFlexGrid1.TextMatrix(i, 9) = !净现金价值流
            MSHFlexGrid1.TextMatrix(i, 10) = !净资产收益率
            MSHFlexGrid1.TextMatrix(i, 11) = !备注
            .MoveNext
        Loop
    End With
        
    Next
End If
End Sub


请帮我看看哪边出错了啊!

------解决方案--------------------
这样就可以了:

Set recset = db.OpenRecordset(s)
MSHFlexGrid1.FormatString = "^序号|< 代 码 |< 名 称|<价 格|> 货 币 资 金 |> 长 期 负 债 |> 总 股 本 |> 流 通 股 本 |>净现金价值(总) |>净现金价值(流)|>净资产收益率|> 备 注 "

i = 0
With recset
Do While Not .EOF
MSHFlexGrid1.rows = i + 1
MSHFlexGrid1.TextMatrix(i, 0) = i
MSHFlexGrid1.TextMatrix(i, 1) = !代码
MSHFlexGrid1.TextMatrix(i, 2) = !名称
MSHFlexGrid1.TextMatrix(i, 3) = !价格
MSHFlexGrid1.TextMatrix(i, 4) = !货币资金
MSHFlexGrid1.TextMatrix(i, 5) = !长期负债
MSHFlexGrid1.TextMatrix(i, 6) = !总股本
MSHFlexGrid1.TextMatrix(i, 7) = !流通股本
MSHFlexGrid1.TextMatrix(i, 8) = !净现金价值总
MSHFlexGrid1.TextMatrix(i, 9) = !净现金价值流
MSHFlexGrid1.TextMatrix(i, 10) = !净资产收益率
MSHFlexGrid1.TextMatrix(i, 11) = !备注
.MoveNext
i = i + 1
Loop
End With

------解决方案--------------------
楼主的代码稍微改下就可以了
VB code
    i = 1
    With recset
        Do While Not .EOF            
          MSHFlexGrid1.TextMatrix(i, 1) = !代码
            MSHFlexGrid1.TextMatrix(i, 2) = !名称
            MSHFlexGrid1.TextMatrix(i, 3) = !价格
            MSHFlexGrid1.TextMatrix(i, 4) = !货币资金
            MSHFlexGrid1.TextMatrix(i, 5) = !长期负债
            MSHFlexGrid1.TextMatrix(i, 6) = !总股本
            MSHFlexGrid1.TextMatrix(i, 7) = !流通股本
            MSHFlexGrid1.TextMatrix(i, 8) = !净现金价值总
            MSHFlexGrid1.TextMatrix(i, 9) = !净现金价值流
            MSHFlexGrid1.TextMatrix(i, 10) = !净资产收益率
            MSHFlexGrid1.TextMatrix(i, 11) = !备注
            i = i + 1
            .MoveNext
        Loop
    End With