表:
项目,序号,值
A 1 0.25
A 2 0.54
A 3 0.88
B 1 0.44
B 2 0.45
B 3 0.55
要用报表打印成:
序号 A B
1 0.25 0.44
2 0.54 0.45
3 0.88 0.55这样的算不算交叉表呀:
项目,序号,值
A 1 0.25
A 2 0.54
A 3 0.88
B 1 0.44
B 2 0.45
B 3 0.55
要用报表打印成:
序号 A B
1 0.25 0.44
2 0.54 0.45
3 0.88 0.55这样的算不算交叉表呀:
解决方案 »
- 自定义控件如何增加关于属性
- VB如何截取当前一个应用程序对网络外发的包
- 写一个"写入顺序文件求1-100的所有质数"的程序
- 无法定位序数1132于动态链接库CRPE32.DLL上(水晶报表(8.0)打完包安装时,出现的问题)100分答谢,在线等待!!!!
- VB6如何结束长时间运行的语句
- 如何捕获应用程序中(自己的)其它控件上的键盘事件(这个控件没有键盘事件)
- 一个多线程式的问题,很急,在线等待!在此先谢谢进入研究此问题!
- 如何将一个表中的一条记录锁死?
- ShowWinodow为何不灵?
- 牛角尖里的朋友继续寻求帮助!!!!!
- 求1~1000之间的“水仙花数
- [求助]用VB制作ActiveX Dll,但引用了其他的DLL或者OLB该如何解决?
你这个报表格式可以用内建Recordset来实现!如:
Dim Rst as New ADODB.RecordsetWith Rst
.Fields.Append "Field1", adSingle
.Fields.Append "Field2", adSingle
.Open
...
'在这里把记录追加进去
End With
select TA.序号,TA.A值,TB.B值 from TA,TB where TA.序号=TB.序号,然后把这个结果集给到报表中就可以啊--------------------------------
1、首先按照上述代碼,建立一個臨時Recordset;
2、把你查出來的記錄,按照你想要的順序填充到這個Recordset中。你想A在一列,B在一列,那麼分成兩次查詢原記錄並追加到新建的Recordset中,如
your_rst.open select 項目,值 from your_table where 項目='A', your_con
do unitl your_rst.eof
my_tmp_rst(0)=your_rst(0)
my_tmp_rst(1)=your_rst(1)
loop your_rst.open select 項目,值 from your_table where 項目='B', your_con
do unitl your_rst.eof
my_tmp_rst(0)=your_rst(0)
my_tmp_rst(1)=your_rst(1)
loop然後,把這個Recordset指定為報表數據源,明白了嗎?
your_rst.open select 值 from your_table where 項目='A', your_con
do unitl your_rst.eof
my_tmp_rst.addnew
my_tmp_rst(0)=your_rst(0)
your_rst.movenext
loop your_rst.open select 值 from your_table where 項目='B', your_con
my_tmp_rst.movefirst
do unitl your_rst.eof
my_tmp_rst(1)=your_rst(0)
my_tmp_rst.movenext
your_rst.movenext
loop