在报表生成器3.0中搜索数据库



我不确定这在报表生成器中是否可能。我想在报表生成器报表中放置一个文本框,然后在数据库中搜索特定的人,并将其显示在子报表中。这可能吗?如果可能,你建议我怎么做?我试过在网上搜索,但没有成功。

这个部分将生成一个参数,用户可以在其中键入他们想要的任何内容

您需要将报表设置为使用参数。您可以通过手动输入或从预定义列表中选择,将这些参数设置为需要用户输入。

假设您使用SQL查询返回数据,则可以在数据集脚本中引用这些参数。例如,如果您有一个名为FirstName的参数和另一个称为Surname的参数,并且您只想在数据集中返回与这两个参数完全匹配的值,那么您可以这样引用这些参数:

select PersonID
,FirstName
,Surname
,OtherDetails
from PersonTable
where FirstName = @FirstName
and Surname = @Surname

如果您更喜欢"搜索"类型的函数,则可以使用SQLlike运算符和通配符,但请记住,这可能会对您的查询性能产生非常不利的影响:

select PersonID
,FirstName
,Surname
,OtherDetails
from PersonTable
where FirstName like '%'+@FirstName+'%'
and Surname like '%'+@Surname+'%'

本部分向您展示如何更改该参数,使其提供下拉菜单此部件是可选的

如果要提供可供选择的可用选项列表,可以创建一个包含"可用值"列表的参数。这些可以由您自己手动键入(将它们硬编码到报告设计中),也可以通过基于第二个数据集的参数使它们成为数据驱动。

要获得该人员列表,您需要返回您要查找的人员的ID以及对最终用户友好的详细信息,以便在报告中可见:

-- select distinct so we have no duplicates
select distinct PersonID as Value    -- Value is what is used to the query.  This ideally will be a uniquye identifier
,FirstName
+ ' '
+ Surname as Label   -- Label is what the user sees.  This can be a bit more verbose and detailed
from PersonTable
order by Surname                     -- Specify how you want the options ordered
,FirstName

如果通过在参数选项中选择Get Values From A Query将此数据集设置为源,则在运行报告时会显示下拉列表。然后,用户可以选择一个,单击Run Report,并让他们的选择影响返回的数据。

最新更新