以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135395)

--  作者:Rex1Chen
--  发布时间:2019/5/25 15:01:00
--  [求助]
有点甜老师:

            你好!

For Each dr As DataRow In DataTables("统计").DataRows
    Dim V As String = dr("原始数据")
    Dim vals() As String = V.split(",")
    For Each val As String In vals
        dr("一") = vals(0)
        dr("二") = vals(1)
        dr("三") = vals(2)
        dr("四") = vals(3)
        dr("五") = vals(4)
        dr("六") = vals(5)
        dr("七") = vals(6)
        dr("八") = vals(7)
        dr("九") = vals(8)
        dr("十") = vals(9)
    Next
Next
原始数据
7,6,5,8,9,10,1,2,3,4

这代码有什么问题吗?总是会出现 下面的提示
索引超出了数组界限。
--  作者:Rex1Chen
--  发布时间:2019/5/27 15:34:00
--  
竟然没有人回复??
--  作者:y2287958
--  发布时间:2019/5/27 15:47:00
--  
仔细检查一下每个原始数据的数组组数是否都达到10
[此贴子已经被作者于2019/5/27 15:47:26编辑过]

--  作者:Rex1Chen
--  发布时间:2019/5/27 16:25:00
--  
老师: 

      你好!

    数组组数都达到10了

  都可以放入各自的列,执行完后就有   索引超出了数组界限。
--  作者:y2287958
--  发布时间:2019/5/27 16:27:00
--  
上实例
--  作者:有点甜
--  发布时间:2019/5/27 16:52:00
--  

改成

 

For Each dr As DataRow In DataTables("统计").DataRows
    Dim V As String = dr("原始数据")
    Dim vals() As String = V.split(",")
    If vals.length >= 10 Then
        dr("一") = vals(0)
        dr("二") = vals(1)
        dr("三") = vals(2)
        dr("四") = vals(3)
        dr("五") = vals(4)
        dr("六") = vals(5)
        dr("七") = vals(6)
        dr("八") = vals(7)
        dr("九") = vals(8)
        dr("十") = vals(9)
    Else
        msgbox("数据没有10个")
    End If
Next


--  作者:Rex1Chen
--  发布时间:2019/5/27 16:56:00
--  
老师:
 
   请看附件

--  作者:Rex1Chen
--  发布时间:2019/5/27 17:06:00
--  

改成下面这样,没有问题了,谢谢甜老师!!

 

For Each dr As DataRow In DataTables("统计").DataRows
    Dim V As String = dr("原始数据")
    Dim vals() As String = V.split(",")
    If vals.length >= 10 Then
        dr("一") = vals(0)
        dr("二") = vals(1)
        dr("三") = vals(2)
        dr("四") = vals(3)
        dr("五") = vals(4)
        dr("六") = vals(5)
        dr("七") = vals(6)
        dr("八") = vals(7)
        dr("九") = vals(8)
        dr("十") = vals(9)
    Else
        Exit for
    End If
Next