我用DELPHI 7.0做3层结构的发票管理系统,现在遇到报表不知道怎么处理。
SQLserver 2000 数据库表为:
/*表1: 产品类型表(类型号,类型名称)
/*表2: 发票信息表(发票号,发票名称)
/*表3: 产品信息表( 产品流水号,产品名称,(产品所属)类型号,(产品所属)发票号 )
我打算在客户端用RAVE做发票报表。连接模式为:
服务器端:ADOConnection1+ADOQuery+DataSetProvider
客户端:DCOMConnection1+clientdataset
用一个固定SQL语句的ADOQuery在客户端由DbGrid显示所有‘发票名称’,当点选其中一个发票时,由‘发票号’用动态SQL语句在数据库中查‘产品信息表’中相关的产品,并按‘类型名称’分组显示此发票名称’报表!
一组:固定SQL连接:
( 服务器端:ADOConnection1+ADOQuery1+DataSetProvider1
客户端:DCOMConnection1+clientdataset1
)
二组:动态SQL连接:
( 服务器端:ADOConnection1+ADOQuery2+DataSetProvider2
客户端: DCOMConnection2+clientdataset2
)问题 (1)第一组取得的发票号在哪儿且怎么赋给第二组去查找?
(2)我的报表如下:(按类型分类)
类型A
产品0
产品2
产品5 类型A
产品5
产品2
产品7
通过clientdataset2查出来的仅仅是一个产品表的数据,怎么把它关联到具有主/从表关系的报表中的
DBtext控件中??
我看见许多书上的主/从表例子,是把所有的信息都写在报表里!(即书上是2个表,我的是3个表!)
(3)如果大家不按我的思路做报表,说说自己的想法!
(感叹:要是ASP的话,全部都是动态SQL语句查询,用2层的循环就可以分组显示记录集了!很简单!用DELPHI时DBtext控件不能循环显示,不能灵活控制!郁闷!!!)
SQLserver 2000 数据库表为:
/*表1: 产品类型表(类型号,类型名称)
/*表2: 发票信息表(发票号,发票名称)
/*表3: 产品信息表( 产品流水号,产品名称,(产品所属)类型号,(产品所属)发票号 )
我打算在客户端用RAVE做发票报表。连接模式为:
服务器端:ADOConnection1+ADOQuery+DataSetProvider
客户端:DCOMConnection1+clientdataset
用一个固定SQL语句的ADOQuery在客户端由DbGrid显示所有‘发票名称’,当点选其中一个发票时,由‘发票号’用动态SQL语句在数据库中查‘产品信息表’中相关的产品,并按‘类型名称’分组显示此发票名称’报表!
一组:固定SQL连接:
( 服务器端:ADOConnection1+ADOQuery1+DataSetProvider1
客户端:DCOMConnection1+clientdataset1
)
二组:动态SQL连接:
( 服务器端:ADOConnection1+ADOQuery2+DataSetProvider2
客户端: DCOMConnection2+clientdataset2
)问题 (1)第一组取得的发票号在哪儿且怎么赋给第二组去查找?
(2)我的报表如下:(按类型分类)
类型A
产品0
产品2
产品5 类型A
产品5
产品2
产品7
通过clientdataset2查出来的仅仅是一个产品表的数据,怎么把它关联到具有主/从表关系的报表中的
DBtext控件中??
我看见许多书上的主/从表例子,是把所有的信息都写在报表里!(即书上是2个表,我的是3个表!)
(3)如果大家不按我的思路做报表,说说自己的想法!
(感叹:要是ASP的话,全部都是动态SQL语句查询,用2层的循环就可以分组显示记录集了!很简单!用DELPHI时DBtext控件不能循环显示,不能灵活控制!郁闷!!!)
解决方案 »
- serversocket和clientsocket问题
- 高分求解:QuickRep打印丢图问题,预览图像为黑色,急急急!
- 有个问题,公司开发了一个系统,在电信设了服务器,老总要求我做一个自动下载服务器更新程序,各位大侠请进!
- 100分求以下两个API函数
- RichEdit如何插入表格?
- 那里有DBGrideh下载,我用的是D6,谢谢了,方便请发至:[email protected]
- oracle问题
- 最近要做一个视频会议系统,熟悉这块的朋友能不能给点启发。
- 请问如何实现数据搜索(不使用SQL)语句
- 散分100,
- 初学者的一点小问题
- 请问如何用IdUDPServer和IdUDPClient传送视频流?不够分可以再加!
报表如下:
发票名称 发票日期 发票编号
--------------------------------------------------
类型A
产品0
产品2
产品5
----------------
类型r
产品5
产品2
产品7
----------------
类型9
.
.
比如,我要先查询出某个公司所有的部门,然后在选定部门后,再查询出这个部门对应的员工信息。
首先,我在第一个DBGRID1里将部门查询出来,在点击了DBGRID1的某一行时,根据这一行里的信息,再动态组成一个查询员工信息的SQL语句,提交查询后在DBGRID2里显示出来。
用你的例子我的意思是先在第一个DBGRID1里将“公司”查询出来,点击了DBGRID1的某一行时,根据这一行里的信息,再动态组成一个按“部门”分组查询“员工”信息的SQL语句 。
按“部门”分组查询“员工”信息在报表里显示出来。 另外,我查了一下好多DELPHI的书,都是用dataset与DBtext控件关联做报表,一句程序都不写!
这样根本做不出稍微复杂的报表。
用ASP做报表,用FOR循环控制要在那行写什么就写什么,很灵活,能写出任意复杂的报表。请问大家也是用FOR循环控制写出任意复杂的报表吗??
如果光用dataset与DBtext控件,不写程序来控制的话,估计比较难实现这种效果,可能还是要用FOR循环来处理吧。
曾经也看到有人发帖子在问和你差不多的问题,好像也没有很好的解决方法。
DBGrid1连dataSours1,
ADOQuery1的SQL String为:Select * from 公司dataSours2连ADOQuery2
DBGrid2连dataSours2。
ADOQuery2的dataSours连接dataSours1,ADOQuery2的SQL String为:Select * from 部门 where 部门ID=:部门ID显示数据前都要连到服务器的数据库,ADOQuery要Open.