水晶报表的生成问题
Delphi中生成水晶报表的过程中遇到了麻烦.
现在我想在画面上输入一些条件,然后按下生成按钮,按照画面的录入条件,生成水晶报表.我参考了水晶报表的文档,好象可以写sql文,通过动态的sql文,然后返回数据集,最后生成报表.但是不知道在程序里面怎么控制,请各位大侠赐教.谢谢先.
问题点数:50、回复次数:2Top
1 楼tyttytzhz(可乐)回复于 2005-09-01 16:40:25 得分 50
我在.net C#里始通过数据集来实现的
strWhere就是要动态输入的条件
string strWhere = (Request["QueryWhere"]==null?"":Request["QueryWhere"].ToString());
string strSQL = "SELECT SUM(B.fAmount) AS TotalInvest, E.strEnumTableDetailName AS InvestType FROM rms_ProjectInvest A INNER JOIN rms_ProjectInvestDetail B ON A.intInvestID = B.intInvestID INNER JOIN rms_ProjectInfo C ON A.intProjectID = C.intProjectID INNER JOIN comm_EnumTableDetail E ON B.intInvestTypeID = E.intEnumTableDetailID INNER JOIN rms_LandInfo D ON C.intLandID = D.intLandID ";
if (!strWhere.Equals(""))
strSQL = strSQL + " WHERE " + strWhere;//WHERE (A.intYear = 2005) AND (A.intMonth = 8) AND (B.intInvestClassID = 101)
strSQL = strSQL + " GROUP BY E.strEnumTableDetailName";
//Create a instance of a Dataset
CrystalPrjInvest crReportDocument;
DataSet dataSet;
prjBaseCOM.CommonDB db;
dataSet = new DataSet();
db = new prjBaseCOM.CommonDB();
dataSet = db.getRec(strSQL,"ProjectInvest");//绑定数据集
//Create an instance of the strongly-typed report object
crReportDocument = new CrystalPrjInvest();
//Pass the populated dataset to the report
crReportDocument.SetDataSource(dataSet);
我没用过delphi,希望上面的能对你有帮助Top
2 楼lucifier(小飞侠)回复于 2005-09-07 10:30:03 得分 0
谢谢你的回答,我现在是把我要输出的报表的内容存到一个临时的表里面,然后直接从表里面读取数据.Top




