水晶报表的“SQL表达式字段”能否使用“参数字段”?
我在水晶报表的SQL中写入SQL表达式字段,希望是这种效果 <!--DVNEWS_AD_BEGIN-->
<script type="text/javascript"><!-- google_ad_client = "pub-0208493183109887"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; google_ad_type = "text_image"; //2006-11-22: 5iasktext google_ad_channel = "3214794117"; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; //--></script><script src="%E6%B0%B4%E6%99%B6%E6%8A%A5%E8%A1%A8%E7%9A%84%E2%80%9CSQL%20%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%AD%97%E6%AE%B5%E2%80%9D%E8%83%BD%E5%90%A6%E4%BD%BF%E7%94%A8%E2%80%9C%E5%8F%82%E6%95%B0%E5%AD%97%E6%AE%B5%E2%80%9D%EF%BC%9F.files/show_ads.js" type="text/javascript"> </script><script type="text/javascript"><!-- google_ad_client = "pub-0208493183109887"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; google_ad_type = "text_image"; //2006-11-22: 5iasktext google_ad_channel = "3214794117"; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; //--></script><script src="%E6%B0%B4%E6%99%B6%E6%8A%A5%E8%A1%A8%E7%9A%84%E2%80%9CSQL%20%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%AD%97%E6%AE%B5%E2%80%9D%E8%83%BD%E5%90%A6%E4%BD%BF%E7%94%A8%E2%80%9C%E5%8F%82%E6%95%B0%E5%AD%97%E6%AE%B5%E2%80%9D%EF%BC%9F.files/show_ads.js" type="text/javascript"> </script><!--DVNEWS_AD_END-->
//表意语句
selectsum(自段1)from表where自段2(字符)={?参数自段}
可以通过参数自段,传递参数来选择记录。
现在这种写法不认,提示语法错误。
这种方法是否可行,如可行应该怎样处理,请帮助!
------------------------------------------------
解决方案:
1、从SQL表达式字段定义看,只能使用结构化查询语言(SQL)编写……
SQL表达式字段
SQL表达式与公式相似,但它们以结构化查询语言(SQL)编写,而不是以CrystalReports公式语言编写。SQL表达式可以用于向数据库查询特定数据集合。可以基于SQL表达式字段进行排序、分组和选择。有关SQL表达式的简介,请参阅CrystalSQLDesigner。
2、将“参数字段”合并到“记录选定公式”中。
不要在每次打开报表时均显示报表的所有数据,可以创建参数字段提示用户指定希望查看的数据。为了减少从数据库服务器传输的数据量,请将这些参数字段直接合并到记录选定公式中。
一般情况下,参数字段为用户提供交互性,用户响应参数提示以指定希望查看的数据。但是,通过将参数字段直接合并到记录选定公式中,将不仅提供交互性,而且减少了数据传输并改善了性能。
可以通过“选择专家”或“记录选定公式工作室”向记录选定公式添加参数字段。当使用“记录选定公式工作室”时,可将参数字段和其他任何字段一样对待。
下面的示例中,您将创建一个参数字段,然后用“选择专家”将其添加到记录选定公式。有关设计和创建参数字段的更多细节,请参阅参数字段。
将一个参数字段添加到记录选定公式
打开示例报表GroupByIntervals.rpt(位于FeatureExamples示例文件夹)。
花些时间浏览“组”树并留意数据是如何组织的;您还可以在CrystalReports窗口的右下角看到为此报表返回了269条记录。
注意:只有在“视图”菜单中选中“状态栏”选项才会看到此数字。
现在单击“设计”选项卡。
在“视图”菜单上单击“字段资源管理器”。
在“字段资源管理器”中,右击“参数字段”并从快捷菜单中选择“新建”。出现“创建参数字段”对话框。
在参数“名称”中键入SalesQuota。
在“提示文本”中键入Whatwaslastyear'ssalesquota?(去年的销售配额是多少?)
单击“值类型”列表并选择“数字”。
确保选中“离散值”,然后单击“确定”。
注意:您现在已经创建了参数字段。这些过程的其余部分讲述如何用“选择专家”将参数字段添加到记录选定公式中。
在“报表”菜单上单击“选择专家”。出现“选择字段”对话框。
选择客户.去年销售额字段并单击“确定”。出现“选择专家”。
在客户.去年销售额选项卡中单击下拉列表并选择“大于”。出现新的下拉列表。
单击第二个下拉列表并选择{?SalesQuota}。
提示:单击“显示公式”按钮查看新的记录选定公式,形如:{客户.去年销售额}>{?SalesQuota}。您可能未使用“选择专家”,而是自己在“记录选定公式编辑器”中创建了此公式。(要查看该编辑器,可打开“公式工作室”并从SelectionFormulas文件夹中选择“记录选定”。)
在“选择专家”中单击“确定”。
您现在已将参数字段添加到记录选定公式中。当您切换到“预览”模式,或单击“刷新”按钮时,您会被提示输入新的参数值。然后可以输入代表去年销售配额的数值。最终报表将只显示“去年销售额”超出指定数值的那些客户。
例如,如果您指定参数为40000,那么报表将只显示去年的销售额超过$40,000的那些客户。还要注意到,在CrystalReports窗口的右下角仅为报表返回了58条记录,而不是您在将参数字段放入选定公式前返回的270条记录。
通过对此报表进行改进,您检索到需要的所有信息,同时确保了从数据库服务器传输的记录数目最少。
我在水晶报表的SQL中写入SQL表达式字段,希望是这种效果 <!--DVNEWS_AD_BEGIN-->
<script type="text/javascript"><!-- google_ad_client = "pub-0208493183109887"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; google_ad_type = "text_image"; //2006-11-22: 5iasktext google_ad_channel = "3214794117"; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; //--></script><script src="%E6%B0%B4%E6%99%B6%E6%8A%A5%E8%A1%A8%E7%9A%84%E2%80%9CSQL%20%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%AD%97%E6%AE%B5%E2%80%9D%E8%83%BD%E5%90%A6%E4%BD%BF%E7%94%A8%E2%80%9C%E5%8F%82%E6%95%B0%E5%AD%97%E6%AE%B5%E2%80%9D%EF%BC%9F.files/show_ads.js" type="text/javascript"> </script><script type="text/javascript"><!-- google_ad_client = "pub-0208493183109887"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; google_ad_type = "text_image"; //2006-11-22: 5iasktext google_ad_channel = "3214794117"; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "0000FF"; google_color_text = "000000"; google_color_url = "008000"; //--></script><script src="%E6%B0%B4%E6%99%B6%E6%8A%A5%E8%A1%A8%E7%9A%84%E2%80%9CSQL%20%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%AD%97%E6%AE%B5%E2%80%9D%E8%83%BD%E5%90%A6%E4%BD%BF%E7%94%A8%E2%80%9C%E5%8F%82%E6%95%B0%E5%AD%97%E6%AE%B5%E2%80%9D%EF%BC%9F.files/show_ads.js" type="text/javascript"> </script><!--DVNEWS_AD_END-->
//表意语句
selectsum(自段1)from表where自段2(字符)={?参数自段}
可以通过参数自段,传递参数来选择记录。
现在这种写法不认,提示语法错误。
这种方法是否可行,如可行应该怎样处理,请帮助!
------------------------------------------------
解决方案:
1、从SQL表达式字段定义看,只能使用结构化查询语言(SQL)编写……
SQL表达式字段
SQL表达式与公式相似,但它们以结构化查询语言(SQL)编写,而不是以CrystalReports公式语言编写。SQL表达式可以用于向数据库查询特定数据集合。可以基于SQL表达式字段进行排序、分组和选择。有关SQL表达式的简介,请参阅CrystalSQLDesigner。
2、将“参数字段”合并到“记录选定公式”中。
不要在每次打开报表时均显示报表的所有数据,可以创建参数字段提示用户指定希望查看的数据。为了减少从数据库服务器传输的数据量,请将这些参数字段直接合并到记录选定公式中。
一般情况下,参数字段为用户提供交互性,用户响应参数提示以指定希望查看的数据。但是,通过将参数字段直接合并到记录选定公式中,将不仅提供交互性,而且减少了数据传输并改善了性能。
可以通过“选择专家”或“记录选定公式工作室”向记录选定公式添加参数字段。当使用“记录选定公式工作室”时,可将参数字段和其他任何字段一样对待。
下面的示例中,您将创建一个参数字段,然后用“选择专家”将其添加到记录选定公式。有关设计和创建参数字段的更多细节,请参阅参数字段。
将一个参数字段添加到记录选定公式
打开示例报表GroupByIntervals.rpt(位于FeatureExamples示例文件夹)。
花些时间浏览“组”树并留意数据是如何组织的;您还可以在CrystalReports窗口的右下角看到为此报表返回了269条记录。
注意:只有在“视图”菜单中选中“状态栏”选项才会看到此数字。
现在单击“设计”选项卡。
在“视图”菜单上单击“字段资源管理器”。
在“字段资源管理器”中,右击“参数字段”并从快捷菜单中选择“新建”。出现“创建参数字段”对话框。
在参数“名称”中键入SalesQuota。
在“提示文本”中键入Whatwaslastyear'ssalesquota?(去年的销售配额是多少?)
单击“值类型”列表并选择“数字”。
确保选中“离散值”,然后单击“确定”。
注意:您现在已经创建了参数字段。这些过程的其余部分讲述如何用“选择专家”将参数字段添加到记录选定公式中。
在“报表”菜单上单击“选择专家”。出现“选择字段”对话框。
选择客户.去年销售额字段并单击“确定”。出现“选择专家”。
在客户.去年销售额选项卡中单击下拉列表并选择“大于”。出现新的下拉列表。
单击第二个下拉列表并选择{?SalesQuota}。
提示:单击“显示公式”按钮查看新的记录选定公式,形如:{客户.去年销售额}>{?SalesQuota}。您可能未使用“选择专家”,而是自己在“记录选定公式编辑器”中创建了此公式。(要查看该编辑器,可打开“公式工作室”并从SelectionFormulas文件夹中选择“记录选定”。)
在“选择专家”中单击“确定”。
您现在已将参数字段添加到记录选定公式中。当您切换到“预览”模式,或单击“刷新”按钮时,您会被提示输入新的参数值。然后可以输入代表去年销售配额的数值。最终报表将只显示“去年销售额”超出指定数值的那些客户。
例如,如果您指定参数为40000,那么报表将只显示去年的销售额超过$40,000的那些客户。还要注意到,在CrystalReports窗口的右下角仅为报表返回了58条记录,而不是您在将参数字段放入选定公式前返回的270条记录。
通过对此报表进行改进,您检索到需要的所有信息,同时确保了从数据库服务器传输的记录数目最少。