Показать сообщение отдельно
Старый 21.09.2009, 13:46   #6  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Могу предложить такой подход, который будет гарантированно работать, правда прийдётся немного перестроить запросы датасетов. Подход заключается в добавлении нового параметра CRM_FilteredQuote в отчёт, который в себе будет содержать предфильтр. Запросы датасетов будут выглядеть примерно так:

Код:
Declare @Query VarChar(max)

Set @Query = '
SELECT
	FilteredQuoteDetail.productidname
	,FilteredQuoteDetail.quantity
	,FilteredQuoteDetail.priceperunit
	,FilteredQuoteDetail.extendedamount
	,FilteredQuoteDetail.quoteid
	,FilteredQuoteDetail.productid
	,FilteredProduct.productid AS Expr1
	,FilteredQuote.quoteid AS Expr2
	,FilteredProduct.new_producttypename
	,FilteredProduct.new_licenseprgname
	,FilteredQuote.createdon
	,FilteredQuote.quotenumber
	,FilteredQuote.totaltax
	,FilteredQuote.customeridname
	,FilteredQuote.owneridname
FROM
	FilteredQuoteDetail
	INNER JOIN FilteredProduct ON FilteredQuoteDetail.productid = FilteredProduct.productid
	INNER JOIN (' +  @CRM_FilteredQuote + ') FilteredQuote  ON FilteredQuoteDetail.quoteid = FilteredQuote.quoteid
WHERE     (FilteredProduct.new_licenseprgname = N''OLP'')'

Exec(@Query)
Код:
Declare @Query VarChar(max)

Set @Query = '
SELECT
	FilteredQuoteDetail.productidname
	,FilteredQuoteDetail.quantity
	,FilteredQuoteDetail.priceperunit
	,FilteredQuoteDetail.extendedamount
	,FilteredQuoteDetail.quoteid
	,FilteredQuoteDetail.productid
	,FilteredProduct.productid AS Expr1
	,FilteredQuote.quoteid AS Expr2
	,FilteredProduct.new_producttypename
	,FilteredProduct.new_licenseprgname
	,FilteredQuote.createdon
	,FilteredQuote.quotenumber
	,FilteredQuote.totaltax
	,FilteredQuote.customeridname
	,FilteredQuote.owneridname
FROM
	FilteredQuoteDetail
	INNER JOIN FilteredProduct ON FilteredQuoteDetail.productid = FilteredProduct.productid
	INNER JOIN (' +  @CRM_FilteredQuote + ') FilteredQuote  ON FilteredQuoteDetail.quoteid = FilteredQuote.quoteid
WHERE     (FilteredProduct.new_licenseprgname = N''OV/OVS'') AND (FilteredProduct.new_producttypename <> N''Software Assurance'')'

Exec(@Query)
Код:
Declare @Query VarChar(max)

Set @Query = '
SELECT
	FilteredQuoteDetail.productidname
	,FilteredQuoteDetail.quantity
	,FilteredQuoteDetail.priceperunit
	,FilteredQuoteDetail.extendedamount
	,FilteredQuoteDetail.quoteid
	,FilteredQuoteDetail.productid
	,FilteredProduct.productid AS Expr1
	,FilteredQuote.quoteid AS Expr2
	,FilteredProduct.new_producttypename
	,FilteredProduct.new_licenseprgname
	,FilteredQuote.createdon
	,FilteredQuote.quotenumber
	,FilteredQuote.totaltax
	,FilteredQuote.customeridname
	,FilteredQuote.owneridname
FROM
	FilteredQuoteDetail
	INNER JOIN FilteredProduct ON FilteredQuoteDetail.productid = FilteredProduct.productid
	INNER JOIN (' +  @CRM_FilteredQuote + ') FilteredQuote  ON FilteredQuoteDetail.quoteid = FilteredQuote.quoteid
WHERE     (FilteredProduct.new_producttypename = ''Software Assurance'') AND (FilteredProduct.new_licenseprgname = ''OV/OVS'')'

Exec(@Query)
В параметрах каждого из датасетов необходимо будет создать пару @CRM_FilteredQuote = ReportParameters.CRM_FilteredQuote
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
За это сообщение автора поблагодарили: datfi (1).