首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

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

2012-01-24 
为什么提示下边越限,哪边出错了,请高手帮忙看看VB codePrivate Sub TreeView1_NodeClick(ByVal Node As MS

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

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            NextEnd IfEnd 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 

热点排行