0

这应该是一件简单的事情,但我花了几个小时无济于事。基本上,我需要使用用户的 Window 的用户 ID 在 SQL 数据库中查找 salesrep #。用户 ID 的格式是“Norstar\kjones”,我需要它的“kjones”部分。

使用 split 功能,我可以只拉出“kjones”部分:

split(User!UserID,"\").GetValue(1)

我创建了一个名为 SlsmnNum 的参数并创建了一个数据集,用于使用用户 ID 查找 salesrep #(slsm_num 字段是一个 varchar,而不是整数):

select slsm_num from Salesman_Msid where slsm_msid = ''' + split(User!UserID,"\").GetValue(1) + '''

但是,我没有得到任何结果。我怎样才能让选择工作?

或者,我尝试了以下操作:在参数 SlsmnNum 中,我将默认设置为使用表达式: split(User!UserID,"\").GetValue(1) 并且这将返回“kjones”,正如预期的那样。

我使用查询创建了一个 SECOND 参数(位于参数下方SlsmnNum),SlsmnNum2它具有默认(和可用)值,该查询是包含以下选择语句的数据集:

select slsm_num from Salesman_Msid where slsm_msid = (@SlsmnNum)

当我在“数据”选项卡上运行查询时,当我在参数框中输入“kjones”时,它会返回“1366”,即我期待的 salesrep #。

但是,当我预览报告时,我得到的只是SlsmnNum2盒子里Select a Value什么都没有(它应该返回“1366”)。

任何帮助将不胜感激!

4

1 回答 1

0

尝试使用查询文本作为您的第一种方法

="select slsm_num from Salesman_Msid where slsm_msid = '" & split(User!UserID,"\").GetValue(1) & "'"

在此处输入图像描述

于 2013-11-01T18:59:45.317 回答