Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共12 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

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

1楼
菜鸟foxtable 发表于: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楼
狐狸爸爸 发表于:2009/4/13 11:00:00
我测试没有发现问题。
[此贴子已经被作者于2009-4-13 11:05:39编辑过]
3楼
菜鸟foxtable 发表于:2009/4/13 11:05:00
图片点击可在新窗口打开查看老爹,你直接执行SQL代码看看...相当于原表和SQL生成的表一样的..为什么再分组统计会缺少类别为手术的那几项?跟SQL语句无关.....


[此贴子已经被作者于2009-4-13 11:16:54编辑过]
4楼
狐狸爸爸 发表于:2009/4/13 11:15:00
我查出来了,问题出在单位列,你的单位列有空白单元格,统计的时候,分组列是不能为空的,分组列为空的不统计进来。
5楼
菜鸟foxtable 发表于:2009/4/13 11:21:00
如何解决此类问题?或者曲线解决?
[此贴子已经被作者于2009-4-13 11:22:27编辑过]
6楼
狐狸爸爸 发表于:2009/4/13 12:07:00
1、你在看看能不能用一个字符代替空值
2、我看看能不能改一下程序。
7楼
菜鸟foxtable 发表于:2009/4/13 13:04:00
1.代替是不能的,我已经把分组列锁定....操作人员不能设定为空值...

2.最好是能改改程序咯....图片点击可在新窗口打开查看分组列里有空值是很正常的啊...
8楼
yangming 发表于:2009/4/13 13:23:00
贺老师的意思是你做程序时设一个字符为空,比如用一个"零"字或是"无"字做为空,如果单位="",那就自动改成:"零"或"无"
[此贴子已经被作者于2009-4-13 13:23:57编辑过]
9楼
菜鸟foxtable 发表于:2009/4/27 21:34:00
以下是引用狐狸爸爸在2009-4-13 12:07:00的发言:
1、你在看看能不能用一个字符代替空值
2、我看看能不能改一下程序。

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

10楼
mr725 发表于: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 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 3 queries.