Crystal版本 - Crystal Reports 2008 Business Objects - XI
我编写了一个查询来填充子报表,并希望根据用户的输入将参数提取到该查询.我的问题是,我需要在'Where'子句的第一行接受参数的正确语法是什么?
这是我在Crystal Reports中使用的查询:
Select
Projecttname,
ReleaseDate,
TaskName
From DB_Table
Where
(Project_Name like {?Pm-?Proj_Name})) and
(ReleaseDate) >= currentdate
Run Code Online (Sandbox Code Playgroud)
在命令中时,单击"创建"以创建新参数; 称之为'project_name'.创建它后,双击其名称将其添加到命令的文本中.您的查询应该类似于:
SELECT Projecttname, ReleaseDate, TaskName
FROM DB_Table
WHERE Project_Name LIKE {?project_name} + '*'
AND ReleaseDate >= getdate() --assumes sql server
Run Code Online (Sandbox Code Playgroud)
如果需要,将主报表链接到此({?project_name})字段上的子报表.如果未在主报表和子报表之间建立链接,CR将提示您输入子报表的参数.
在2008之前的版本中,命令的参数仅允许为标量值.
我想出的解决方案如下:
将子报表添加到主报表后,右键单击子报表,选择"更改子报表链接...",选择链接字段,然后取消选中"根据字段选择子报表中的数据:"
注意:您可能必须首先添加参数,并选中"基于字段选择子报表中的数据:",然后返回"更改子报表链接"并在创建子报表后取消选中该参数.
在子报表中,单击"报表"菜单,"选择专家",使用"公式编辑器",将#1中的SQL列设置为等于或类似于#4中选择的参数.
(Subreport SQL Column) (Parameter from Main Report)
Example: {Command.Project} like {?Pm-?Proj_Name}
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
117349 次 |
| 最近记录: |