Foxtable(狐表)用户栏目专家坐堂 → GroupTableBuilder函数对某分组单元格空值忽略不计如何解决?


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

主题:GroupTableBuilder函数对某分组单元格空值忽略不计如何解决?

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
GroupTableBuilder函数对某分组单元格空值忽略不计如何解决?  发帖心情 Post By:2009/4/13 10:40:00 [只看该作者]

GroupTableBuilder生成表错误错误!!!!缺少某些项目.........我郁闷啊.....个人损失几百元.....图片点击可在新窗口打开查看


执行代码如下:
Dim cmd as new sqlcommand
Dim dt as datatable
cmd.CommandText = "select 住院ID,项目,规格,类别,单位,单价,用量*天数 AS 用量,round(单价*用量*天数,2) AS 金额 from {H_YIZ} where 住院ID = '200919501'"
dt = cmd.ExecuteReader()
Dim g As New GroupTableBuilder("清单",dt)
g.Groups.AddDef("住院ID")
g.Groups.AddDef("类别")
g.Groups.AddDef("项目")
g.Groups.AddDef("规格")
g.Groups.AddDef("单位")
g.Groups.AddDef("单价")
g.Totals.AddDef("用量")
g.Totals.AddDef("金额")
g.Build()

生成表缺少几项....
单独执行红色部分SQL语句项目不缺少....

图片点击可在新窗口打开查看此主题相关图片如下:001.jpg
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.rar

[此贴子已经被作者于2009-4-13 11:38:04编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/13 11:00:00 [只看该作者]

我测试没有发现问题。
[此贴子已经被作者于2009-4-13 11:05:39编辑过]

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/4/13 11:05:00 [只看该作者]

图片点击可在新窗口打开查看老爹,你直接执行SQL代码看看...相当于原表和SQL生成的表一样的..为什么再分组统计会缺少类别为手术的那几项?跟SQL语句无关.....


[此贴子已经被作者于2009-4-13 11:16:54编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/13 11:15:00 [只看该作者]

我查出来了,问题出在单位列,你的单位列有空白单元格,统计的时候,分组列是不能为空的,分组列为空的不统计进来。

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/4/13 11:21:00 [只看该作者]

如何解决此类问题?或者曲线解决?
[此贴子已经被作者于2009-4-13 11:22:27编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/4/13 12:07:00 [只看该作者]

1、你在看看能不能用一个字符代替空值
2、我看看能不能改一下程序。

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/4/13 13:04:00 [只看该作者]

1.代替是不能的,我已经把分组列锁定....操作人员不能设定为空值...

2.最好是能改改程序咯....图片点击可在新窗口打开查看分组列里有空值是很正常的啊...

 回到顶部
美女呀,离线,留言给我吧!
yangming
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/4/13 13:23:00 [只看该作者]

贺老师的意思是你做程序时设一个字符为空,比如用一个"零"字或是"无"字做为空,如果单位="",那就自动改成:"零"或"无"
[此贴子已经被作者于2009-4-13 13:23:57编辑过]

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/4/27 21:34:00 [只看该作者]

以下是引用狐狸爸爸在2009-4-13 12:07:00的发言:
1、你在看看能不能用一个字符代替空值
2、我看看能不能改一下程序。

这个问题怎么样了?老爹,能解决吗?


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/4/28 0:54:00 [只看该作者]

sql不会! 就你上面的例子代码改成:没问题了~

MainTable = Tables("H_YIZ")

for i as integer = 0 to datatables("H_YIZ").DataRows.count-1
    if currenttable(i,"单位") = "" then
        currenttable(i,"单位") = "^_^"
    end if
next


Dim g As New GroupTableBuilder("清单1",DataTables("H_YIZ"))
g.Groups.AddDef("住院ID")
g.Groups.AddDef("类别")
g.Groups.AddDef("项目")
g.Groups.AddDef("规格")
g.Groups.AddDef("单位")
g.Groups.AddDef("单价")
g.Totals.AddDef("用量")
g.Totals.AddDef("天数")
g.Build()


With DataTables("清单1")
    .DataCols.Add("余额", GetType(Double), "[单价] * [用量] * [天数]")
End With

for i as integer = 0 to datatables("H_YIZ").DataRows.count-1
    if currenttable(i,"单位") = "^_^" then
        currenttable(i,"单位") = ""
    end if
next

MainTable = Tables("清单1")


 回到顶部
总数 12 1 2 下一页