水晶报表的“SQL 表达式字段”能否使用“参数字段”?

来源:互联网 发布:linux 进程 物理内存 编辑:程序博客网 时间:2024/05/17 03:51
水晶报表的“SQL  表达式字段”能否使用“参数字段”?

我在水晶报表的SQL中写入SQL  表达式字段,希望是这种效果
<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: 5iasktextgoogle_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="水晶报表的“SQL 表达式字段”能否使用“参数字段”?.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: 5iasktextgoogle_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="水晶报表的“SQL 表达式字段”能否使用“参数字段”?.files/show_ads.js" type="text/javascript"></script>

//表意语句

select  sum(自段1)  from  表  where  自段2(字符)={?参数自段}

可以通过参数自段,传递参数来选择记录。

现在这种写法不认,提示语法错误。

这种方法是否可行,如可行应该怎样处理,请帮助!

------------------------------------------------

解决方案:

1、从SQL  表达式字段定义看,只能使用结构化查询语言  (SQL)  编写……

SQL  表达式字段

SQL  表达式与公式相似,但它们以结构化查询语言  (SQL)  编写,而不是以  Crystal  Reports  公式语言编写。SQL  表达式可以用于向数据库查询特定数据集合。可以基于  SQL  表达式字段进行排序、分组和选择。有关  SQL  表达式的简介,请参阅Crystal  SQL  Designer。

2、将“参数字段”合并到“记录选定公式”中。

不要在每次打开报表时均显示报表的所有数据,可以创建参数字段提示用户指定希望查看的数据。为了减少从数据库服务器传输的数据量,请将这些参数字段直接合并到记录选定公式中。  

一般情况下,参数字段为用户提供交互性,用户响应参数提示以指定希望查看的数据。但是,通过将参数字段直接合并到记录选定公式中,将不仅提供交互性,而且减少了数据传输并改善了性能。

可以通过“选择专家”或“记录选定公式工作室”向记录选定公式添加参数字段。当使用“记录选定公式工作室”时,可将参数字段和其他任何字段一样对待。

下面的示例中,您将创建一个参数字段,然后用“选择专家”将其添加到记录选定公式。有关设计和创建参数字段的更多细节,请参阅参数字段。

将一个参数字段添加到记录选定公式

打开示例报表  Group  By  Intervals.rpt(位于  Feature  Examples  示例文件夹)。  

花些时间浏览“组”树并留意数据是如何组织的;您还可以在  Crystal  Reports  窗口的右下角看到为此报表返回了  269  条记录。

注意:        只有在“视图”菜单中选中“状态栏”选项才会看到此数字。

现在单击“设计”选项卡。

在“视图”菜单上单击“字段资源管理器”。  

在“字段资源管理器”中,右击“参数字段”并从快捷菜单中选择“新建”。出现“创建参数字段”对话框。  

在参数“名称”中键入  SalesQuota。  

在“提示文本”中键入  What  was  last  year's  sales  quota?(去年的销售配额是多少?)  

单击“值类型”列表并选择“数字”。  

确保选中“离散值”,然后单击“确定”。  

注意:        您现在已经创建了参数字段。这些过程的其余部分讲述如何用“选择专家”将参数字段添加到记录选定公式中。  

在“报表”菜单上单击“选择专家”。出现“选择字段”对话框。  

选择客户.去年销售额字段并单击“确定”。出现“选择专家”。  

在客户.去年销售额选项卡中单击下拉列表并选择“大于”。出现新的下拉列表。  

单击第二个下拉列表并选择  {?SalesQuota}。  

提示:        单击“显示公式”按钮查看新的记录选定公式,形如:{客户.去年销售额}  >  {?SalesQuota}。您可能未使用“选择专家”,而是自己在“记录选定公式编辑器”中创建了此公式。(要查看该编辑器,可打开“公式工作室”并从  Selection  Formulas  文件夹中选择“记录选定”。)

在“选择专家”中单击“确定”。  

您现在已将参数字段添加到记录选定公式中。当您切换到“预览”模式,或单击“刷新”按钮时,您会被提示输入新的参数值。然后可以输入代表去年销售配额的数值。最终报表将只显示“去年销售额”超出指定数值的那些客户。

例如,如果您指定参数为  40000,那么报表将只显示去年的销售额超过  $40,000  的那些客户。还要注意到,在  Crystal  Reports  窗口的右下角仅为报表返回了  58  条记录,而不是您在将参数字段放入选定公式前返回的  270  条记录。  

通过对此报表进行改进,您检索到需要的所有信息,同时确保了从数据库服务器传输的记录数目最少。 
原创粉丝点击