SQL SRS创建添加用户输入值后更改的列表

SQL SRS创建添加用户输入值后更改的列表,sql,sql-server-2008,visual-studio-2010,reporting-services,user-input,Sql,Sql Server 2008,Visual Studio 2010,Reporting Services,User Input,我正在Visual Studio 2010中使用SQL Server 我设置了一个报告,从两个独立的数据库中获取以“999”开头的所有ID的列表,并允许用户键入ID以查看该信息。我检查了SQL查询,结果一切正常,但我的问题是: 我可以让报告在用户输入区域为空且您点击“查看报告”时打印整个列表,或者我可以将其设置为用户必须输入一个值,然后仅打印该值作为结果 我似乎不能同时做到这两个方面,我希望这份报告能够同时做到这两个方面!换句话说,当用户将输入框留空时,它将打印整个列表(752个ID),或者如果

我正在Visual Studio 2010中使用SQL Server

我设置了一个报告,从两个独立的数据库中获取以“999”开头的所有ID的列表,并允许用户键入ID以查看该信息。我检查了SQL查询,结果一切正常,但我的问题是:

我可以让报告在用户输入区域为空且您点击“查看报告”时打印整个列表,或者我可以将其设置为用户必须输入一个值,然后仅打印该值作为结果

我似乎不能同时做到这两个方面,我希望这份报告能够同时做到这两个方面!换句话说,当用户将输入框留空时,它将打印整个列表(752个ID),或者如果用户键入一个存在的值,它将只显示该值。这在VisualStudio2010中是否可行

FYI

我设置了一个名为
@ID
的参数,并创建了一个名为'AssignedID'的数据集,如果在末尾添加这一行,它将只打印用户输入值:

 WHERE emp_ID = @ID

当然,如果没有这一行,它将打印752个ID的整个列表。但是,我希望它能够同时实现这两种功能。

确保允许使用空参数并使用(从内存中)
其中(emp\u ID=@ID或@ID为空)

我不确定这是否改变了什么。当我在该行中添加并设置@ID=''时,列表仍然为空。如果我将它设置为存在的ID号,那么该ID将出现。作为SQL查询,我可以使您所说的工作正常。我可以添加WHERE子句,并在开头添加:declare@ID int;设置@ID=NULL但是,这不会转换为VS reporting:/I只是收到一条消息,说明ID变量已经设置好了。如何设置变量以便VS能够理解?您需要删除“declare/set”语句,只需添加带有“where”查询和Reporting Services将使用该参数的代码。您只需要确保参数设置为允许空值。下面是我的查询
从ProSolution.dbo.StudentDetail中选择前5名FirstForename、姓氏、RefNo,其中AcademicYearID='17/18'和StudentID IN(@StudentID)或者@StudentID is null
StudentID参数设置为allow blank,allow null Available Values设置为none运行报告时,默认值输入为null,您应该会看到一个旁边有null的复选框。好的,我现在看到了。因此,我将参数设置为允许空值(我将其设置为允许空白),默认值为空。然后成功了!非常感谢。