Foxtable(狐表)用户栏目专家坐堂 → [求助]数组的疑惑


  共有20933人关注过本帖树形打印复制链接

主题:[求助]数组的疑惑

帅哥哟,离线,有人找我吗?
jweishan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:2120 威望:0 精华:0 注册:2008/9/10 22:48:00
[求助]数组的疑惑  发帖心情 Post By:2008/9/26 0:17:00 [只看该作者]

      我这有个简化了的表,其中“成本名称”列是从其它表填充过来的数据,我想利用此列自动生成:“成本项目”、“一级明细”、“二级明细”、“三级明细”,所以我在成本项目列设置了计算代码,出现问题如下:

      1、重算列出现提示,大意是说数组越界,按回车键仍可计算出来。

      2、其中有3行不能计算。

       计算代码我检查了好几遍,好像没错误,百思不得其解,请高手帮我看看,谢谢了!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:abc.table



Dim mc As String = e.datarow("成本名称")
Dim Values as String()
Dim n as Integer
if mc.indexof("-") <> -1 then
 Values = mc.split("-")
        n = Values.length
 Select Case n
     Case 1
  e.datarow("成本项目") = Values(0)
  e.datarow("一级明细") = Values(1)
     Case 2
  e.datarow("成本项目") = Values(0)
  e.datarow("一级明细") = Values(1)
  e.datarow("二级明细") = Values(2)
     Case 3
  e.datarow("成本项目") = Values(0)
  e.datarow("一级明细") = Values(1)
  e.datarow("二级明细") = Values(2)
  e.datarow("三级明细") = Values(3)
 End Select
else
 e.datarow("成本项目") = e.datarow("成本名称")
end if


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2008/9/26 1:36:00 [只看该作者]

这里改一下就ok:


 n = Values.length-1


 回到顶部
帅哥哟,离线,有人找我吗?
jweishan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:2120 威望:0 精华:0 注册:2008/9/10 22:48:00
  发帖心情 Post By:2008/9/26 9:00:00 [只看该作者]

谢谢!明白了!


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2008/9/26 20:29:00 [只看该作者]

以下是引用jweishan在2008-9-26 0:17:00的发言:
      我这有个简化了的表,其中“成本名称”列是从其它表填充过来的数据,我想利用此列自动生成:“成本项目”、“一级明细”、“二级明细”、“三级明细”,所以我在成本项目列设置了计算代码,出现问题如下:

      1、重算列出现提示,大意是说数组越界,按回车键仍可计算出来。

      2、其中有3行不能计算。

       计算代码我检查了好几遍,好像没错误,百思不得其解,请高手帮我看看,谢谢了!
 下载信息  [文件大小:320.0 KB  下载次数:14]
图片点击可在新窗口打开查看点击浏览该文件:abc.table



Dim mc As String = e.datarow("成本名称")
Dim Values as String()
Dim n as Integer
if mc.indexof("-") <> -1 then
 Values = mc.split("-")
        n = Values.length
 Select Case n
     Case 1
  e.datarow("成本项目") = Values(0)
  e.datarow("一级明细") = Values(1)
     Case 2
  e.datarow("成本项目") = Values(0)
  e.datarow("一级明细") = Values(1)
  e.datarow("二级明细") = Values(2)
     Case 3
  e.datarow("成本项目") = Values(0)
  e.datarow("一级明细") = Values(1)
  e.datarow("二级明细") = Values(2)
  e.datarow("三级明细") = Values(3)
 End Select
else
 e.datarow("成本项目") = e.datarow("成本名称")
end if

  唉,代码太烦了关键灵活应用不行。


 回到顶部
帅哥哟,离线,有人找我吗?
jweishan
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:150 积分:2120 威望:0 精华:0 注册:2008/9/10 22:48:00
  发帖心情 Post By:2008/9/27 0:08:00 [只看该作者]

烦是烦一点,但也有好处,灵活、强大!


 回到顶部