嵌套查找函数?需要匹配两件事

时间:2013-03-06 21:48:26

标签: vb.net report lookup builder

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

(在报告变量下)

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

(作为过滤器的表达式)

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

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

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

我无法弄清楚这一点。

任何帮助都会很棒。

2 个答案:

答案 0 :(得分:3)

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

例如,您首次查找将从客户订单(DataSet2)返回供应商ID(DataSet1)。

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

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

TextBox2.expression = Lookup(ReportItems!Textbox1.value,Fields!VendorID.Value,Fields!VendorName.Value,"DataSet3")

答案 1 :(得分:0)

所有的功劳都归功于我的老板了解了这一点!

第一步:创建另一个数据集, embedded 。然后,此数据集具有一个过滤器,该过滤器接受一个字段,在本例中为 CREDIT_CARD_TRANSACTION_ID ,并且对参数 pCreditCardTransactionID 进行评估。这样可以确保第二个数据集只向我显示合同编号,这是我从查找功能中最后需要的东西。

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

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

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