Foxtable(狐表)用户栏目专家坐堂 → [求助]能否在交叉表的垂直分组列中增加列(已解决)


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

主题:[求助]能否在交叉表的垂直分组列中增加列(已解决)

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/20 11:37:00 [只看该作者]

谢谢狐爸老师的指教。

调试代码的结果是,循环MessageBox.Show(9)的过程中出错,同时发现,在SQL Server2005的环境下,运行三个月的数据,虽然代码没有出错,但是环比的数据为 0 或 1 ,估计问题就在这一段代码里。

另外,代码中: r("环比_" & n1)=(r(dc.name)-r("人均加工费_" & n1-1))/r("人均加工费_" & n1-1) 这一句的意思不是很明白,请各位老师指教,谢谢!

For Each r As Row In T.Rows
    For Each dc As DataCol In t.DataTable.DataCols
        If dc.name.IndexOf("人均加工费_")> -1 Then
            r(dc.name) =r(dc.name.Replace("人均",""))/r(dc.name.Replace("人均加工费","投工"))
            'MessageBox.Show(2)
           
            If dc.name <> "人均加工费_1" Then
                'MessageBox.Show(3)
               
                Dim n1 As Integer = Val(dc.name.split("_")(1))
                'MessageBox.Show(4)
               
                r("环比_" & n1)=(r(dc.name)-r("人均加工费_" & n1-1))/r("人均加工费_" & n1-1)
                'MessageBox.Show(5)
               
            End If
            'MessageBox.Show(6)
           
        End If
        'MessageBox.Show(7)
       
        r("年人均加工费") = r("合计_加工费") /r("合计_年均人数")
        'MessageBox.Show(8)
       
    Next
    MessageBox.Show(9)
   
Next
MessageBox.Show(10)


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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/20 12:27:00 [只看该作者]

将列类型改为长整数(Long),动态增加的列也改为Long,不要用Integer.


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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/20 13:07:00 [只看该作者]

狐爸老师,我把此段代码中的(Integer)全部改成了(Long),也不起作用,与上面的情况一样。


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


加好友 发短信
等级:等待验证 帖子:386 积分:2482 威望:0 精华:1 注册:2011/5/10 11:13:00
  发帖心情 Post By:2011/7/20 13:17:00 [只看该作者]

錯誤提示很清楚:存在[正無窮大],則肯定存在被除數為0的情況
[此贴子已经被作者于2011-7-20 13:29:13编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/20 13:22:00 [只看该作者]

hhbb老师的回帖界面好像有问题!!

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


加好友 发短信
等级:四尾狐 帖子:781 积分:9870 威望:0 精华:0 注册:2008/9/1 13:47:00
  发帖心情 Post By:2011/7/20 14:11:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/20 16:52:00 [只看该作者]

应该是哪一条代码与SQL Server环境不兼容,因为用access文件作为外部数据源就没有问题。

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/20 16:56:00 [只看该作者]

屏蔽这两行代码:

 

r("环比_" & n1)=(r(dc.name)-r("人均加工费_" & n1-1))/r("人均加工费_" & n1-1)

 

r("年人均加工费") = r("合计_加工费") /r("合计_年均人数")

 

 

 


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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2011/7/20 17:01:00 [只看该作者]

存在[正无穷大],加个判断不就行了吗!

If 被除数 <>0 then

    除数/被除数

End if

[此贴子已经被作者于2011-7-20 17:50:34编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1525 积分:10580 威望:0 精华:0 注册:2008/9/24 11:16:00
  发帖心情 Post By:2011/7/21 16:35:00 [只看该作者]

考虑了半天,还是将那段代码替换掉,比较好懂,但是又碰到闹心的单双引号搞不定,还是烦请各位老师再次帮忙,不胜感谢!!

 

For j As Integer = 1 To i
    Dim dr As DataRow
    dr("人均加工费_" & j &) =" iif(dr("投工_" & j &)=0,null,dr("加工费_" & j &) "/" dr("投工_" & j &)"
    If j-1 = 0 Then
        dr("环比_" & j &) = Nothing

    Else
        dr("环比_" & j &) = iif(dr("人均加工费_" (j-1))=0,null,(dr("人均加工费_" & j &) / dr("人均加工费_" (j-1)))-1)
    End If
Next

 


 回到顶部
总数 51 上一页 1 2 3 4 5 6 下一页