以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请问这个合成的表达式有啥问题? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42011) |
-- 作者:blackzhu -- 发布时间:2013/11/1 14:40:00 -- 请问这个合成的表达式有啥问题? Dim s_date As new Date(2013,1,31) Dim e_date As new Date(2013,12,31) Dim g As New CrossTableBuilder("统计表2",DataTables("十监区管理")) g.HGroups.AddDef("日期",DateGroupEnum.None) g.HGroups.AddDef("部门") g.HGroups.AddDef("报表名称") g.HGroups.AddDef("组别") g.HGroups.AddDef("管组民警") g.HGroups.AddDef("模具规格") g.HGroups.AddDef("统计类型") g.VGroups.AddDef("项目") g.VGroups.AddDef("数据统计项目") g.Totals.AddDef("数值", "数值") g.Filter = "日期 >= \'" & s_date & "\' And 日期 <= \'" & e_date & "\'And 部门=\'十五监区\' And 组别=\'砂场二组\'" g.Build() If DataTables("统计表2").datarows.Count>0 Then Dim 产量_废品 As String \'产量的废品 Dim 产量_合格品 As String \'产量的合格品 Dim 产量_计划 As String \'产品的计划 Dim 造型件数_废品率 As String \'造型的件数 废品率 Dim 造型件数_废品 As String \'造型件数 废品 Dim 造型件数_计划 As String \'造型件数 废品 Dim 造型件数_合格 As String \'造型件数 合格品1 Dim 造型箱数_计划 As String \'造型箱数 计划1 Dim 造型箱数_完成 As String \'造型箱数 完成 Dim 造型箱数_计划完成率 As String \'造型箱数 Dim 单重_单重 As String \'造型箱数 For Each cl As Col In Tables("统计表2").cols Select Case cl.Caption Case "产量(吨)_废品" 产量_废品 =cl.Name Case "造型件数_计划" 造型件数_计划 =cl.Name Case "产量(吨)_合格品" 产量_合格品 =cl.Name Case "产量(吨)_计划" 产量_计划 =cl.Name Case "造型件数_废品" 造型件数_废品 =cl.Name Case "造型件数_废品" 造型件数_废品 =cl.Name Case "造型件数_合格" 造型件数_合格 =cl.Name Case "造型箱数_计划" 造型箱数_计划 =cl.Name Case "造型箱数_完成" 造型箱数_完成 =cl.Name Case "造型箱数_计划完成率" 造型箱数_计划完成率 =cl.Name Case "单重_单重" 单重_单重 =cl.Name End Select Next DataTables("统计表2").DataCols(产量_废品).Expression = "(" & 造型件数_废品 & "*" & 单重_单重 & ")/1000" Output.Show(1) DataTables("统计表2").DataCols(产量_合格品).Expression ="(" & 造型件数_合格 & "*" & 单重_单重 & ")/1000" Output.Show(5) DataTables("统计表2").DataCols(产量_计划).Expression ="(" & 造型件数_计划 & "*" & 单重_单重 & ")/1000" Output.Show(6)
DataTables("统计表2").DataCols(造型件数_废品率).Expression = "(" & 造型件数_废品 & "/" & "(IsNull([" & 造型件数_合格 & "],0)" & "+" & "(IsNull([" & 造型件数_废品 & "],0)" & "))*100" DataTables("统计表2").DataCols(造型箱数_计划完成率).Expression ="(" & 造型箱数_完成 & "/" & 造型箱数_计划 & ")*100" Output.Show(8) \' Output.Show("(" & 造型件数_废品 & "/" & "(IsNull([" & 造型件数_合格 & "],0)" & "+" & "(IsNull([" & 造型件数_废品 & "],0)" & "))*100") End If 红色字部分 一直提示 值不能为空 参数为:key |
-- 作者:Bin -- 发布时间:2013/11/1 14:43:00 -- 把合成后的表达式弹出来看看. |
-- 作者:blackzhu -- 发布时间:2013/11/1 14:46:00 -- (数值_5/(IsNull([数值_7],0)+IsNull([数值_5],0)))*100 会有提示 ([第一列]/(IsNull([第二列],0)+IsNull([第一列],0)))*100 正常 奇怪 我用其他的表达式合成到 一摸一样以后 也会有提示
[此贴子已经被作者于2013-11-1 14:54:35编辑过]
|
-- 作者:Bin -- 发布时间:2013/11/1 14:47:00 -- 数值_5 这个可能为空吧,你前面的 数值_5 并未做空值判断 |
-- 作者:Bin -- 发布时间:2013/11/1 14:52:00 -- DataCols(造型件数_废品率). 你看一下 造型件数_废品率 这个变量是否赋值了 根据你的代码,好像根本就没赋值,空值的
|
-- 作者:blackzhu -- 发布时间:2013/11/1 14:55:00 -- 我看看 |
-- 作者:blackzhu -- 发布时间:2013/11/1 14:57:00 -- bin 眼神真好 |