1

所以我在microsoft sql server report builder中工作,这基本上是我在代码中尝试做的事情:

(在报告变量下)

vChargeStatusID = 查找(字段!CREDIT_CARD_TRANSACTION_ID.Value,参数!CREDIT_CARD_TRANSACTION_ID.Value,字段!CHARGE_STATUS_ID.Value,“DataSet1”)

(作为过滤器的表达式)

查找(变量!vChargeStatusID.Value,字段!CHARGE_STATUS_FK.Value,字段!CONTRACT_NUMBER.Value,“DataSet1”)

我尝试使用变量和变量表达式来尝试创建另一个计算字段,但没有运气。我不断收到无法使用嵌套查找函数的错误。

基本上我想做的是,首先,找到两个彼此相等的东西来检索一个数字。然后我需要获取该号码并将其与其他内容匹配以最终返回合同号。

我无法弄清楚这一点。

任何帮助都会很棒。

4

2 回答 2

4

因此,实现此目的的一个非常简单的方法是在您的报表 ( TextBox1.value) 上放置一个字段,该字段将保存您的第一个查找值。

例如,您的第一次查找将返回DataSet2来自客户订单 ( ) 的供应商 ID ( DataSet1)。

TextBox1.expression = Lookup(Fields!CustOrderID.Value,Fields!CustOrder_ID2.Value,Fields!VendorID.Value,"DataSet2")

但是现在您需要从供应商主表 ( DataSet3) 中找到供应商名称。您可以使用ReportItems!TextBox1.value作为查找的第一个值对供应商主表进行另一次查找。这样你就不会遇到范围问题。

TextBox2.expression = Lookup(ReportItems!Textbox1.value,Fields!VendorID.Value,Fields!VendorName.Value,"DataSet3")
于 2014-04-24T16:37:46.987 回答
0

所有的功劳归功于我的老板,他发现了这一点!

第一步:创建另一个嵌入的数据集。然后,此数据集有一个过滤器,该过滤器采用一个字段,在本例中为CREDIT_CARD_TRANSACTION_ID,并评估它对参数pCreditCardTransactionID是否为真。这确保了第二个数据集只会向我显示合同编号,这是我从查找函数中需要的最后一件事。

第二步:创建一个内部参数,默认值设置为来自第二个数据集 ( ContractNumberLookup )的字段CONTRACT_NUMBER 。

第三步:在表上创建一个过滤器。原始数据集中的CONTRACT_NUMBER设置为等于内部参数。

多田!我希望这有帮助。如果需要任何澄清,请告诉我!

于 2013-03-07T17:50:31.680 回答