如何用DBGrid交叉显示数据表?(100分)

  • 主题发起人 主题发起人 wangttop
  • 开始时间 开始时间
W

wangttop

Unregistered / Unconfirmed
GUEST, unregistred user!
例:建立了一个数据表,字段名是:编号,收费,收费日期。
已录入了数据,想通过DBGrid显示成如下格式:
编号 一月收费 二月收费...十二月收费 合计
望各位高手指教!
 
用sql语句可以做到,不过太费劲。
 
费劲也没办法啊,只能如此吧(并且如果你用的数据库支持的话)。
不过你要显示的编号和表里的编号是同一个吗?
如果是同一个你得把它去掉,对编号没法做合计;
如果是一个动态的顺序值,用SQL恐怕实现不了。
 
SELECT A.BH,
SUM((SELECT SUM(B.SF) FROM TABLE.B WHERE B.SFRQ = 一月 AND B.BH = A.BH)) YIYUE,
SUM((SELECT SUM(B.SF) FROM TABLE.B WHERE B.SFRQ = 二月 AND B.BH = A.BH)) ERYUE,
..
SUM((SELECT SUM(B.SF) FROM TABLE.B WHERE B.BH = A.BH)) HEJI
FROM TABLE A
GROUP BY A.BH
 
结果不太满意,望各位继续指点!
 
不满意在哪儿?说清楚了让大家好有努力的方向啊。
但是你既然用DBGrid这样的数据感知控件,显示的又不是表里的直接内容,肯定是要用SQL的。
 
呵呵,那你创建一个临时表吧
(比用SQL好不到哪去)
 
让我再把例子说清楚些:
已建好数据库 收费表.db
bm name sh data
编号 姓名 收费 收费日期
本人希望用dbgrid显示成如下格式:
编号 姓名 一月收费...十二月收费 合计

编号为同一个编号,若好,用其他数据控件也行,望高手指教.

 
不知你用的是什么数据库,如果是ACCESS的,里面有现成的功能来实现,你可以好好看一看,
如不是,那只有用SQL语句了。
你这个不是很复杂,因为月份是固定的。
 
doud:
你给的程序试了也不行,不知原因在那?
 
多人接受答案了。
 
后退
顶部