2015-12-03 2 views
0

У меня есть следующий в моем выборе эксперте:Multiple состояния параметров с помощью Crystal Reports

(
if {?Job} <> "All" then 
{SPSYSPRO_PO_CapexJobs;1.MJob} = {?Job} 
else 
    true 
) OR 
(
if {?Supplier} <> "All" then 
    {SPSYSPRO_PO_CapexJobs;1.MJob}= {?Job} 
else 
    true 
) 

Однако его не делать то, что я хочу ^^ Что требуется, если работы не выбранные значения, то используйте список поставщика для получения данных. Итак, если Job не имеет значения, а поставщик = несколько значений, он должен принести мне все эти задания поставщиков или наоборот ... Если я выберу Job = All и выберем несколько поставщиков, он должен вернуть мне все вакансии только для выбранных поставщиков и наоборот ...

Эй, просто подумал, что я не могу добавить свой СП здесь, тогда вы можете понять, что им ищет, потому что ваша формула не работает в этом отношении.

SELECT SUBSTRING(PD.PurchaseOrder,9,7) PurchaseOrder 
      ,PD.[Line] 
      ,PD.[MStockCode] 
      ,PD.[MStockDes] 
      ,PD.[MOrderQty] 
      ,PD.[MReceivedQty] 
      ,SUBSTRING(RD.Supplier,9,7) Supplier 
      ,AP.SupplierName 
      ,PH.OrderEntryDate CreateDate 
      ,PH.OrderStatus 
      ,PD.[MLatestDueDate] 
      ,PD.[MLastReceiptDat] 
      ,PD.[MDiscValue] 
      ,PD.[MPrice] 
      ,PD.[MForeignPrice] 
      ,PD.MJob 
      ,PD.[MRequisition] 
      ,PD.[MRequisitionLine] 

     FROM [SysproCompanyR].[dbo].[PorMasterDetail] PD 
     INNER JOIN [SysproCompanyR].[dbo].[PorMasterHdr] PH 
     on PD.PurchaseOrder = PH.PurchaseOrder 
     INNER JOIN [SysproCompanyR].[dbo].ReqDetail RD 
     on PD.MRequisition = RD.Requisition and PD.MRequisitionLine = RD.Line 
     INNER JOIN [SysproCompanyR].[dbo].ApSupplier AP 
     on RD.Supplier = AP.Supplier 
     Where SUBSTRING(PD.MJob,1,1)= 'C' 
     and PD.MCompleteFlag <> 'Y' 
     and PH.OrderStatus <> '*' 

ответ

0

, если вам нужны только рабочие места для поставщиков, которые выбраны, то было бы лучше использовать отчет суб

В основном докладе создать параметр для поставщиков и рабочих мест и передать поставщикам параметр к югу отчета и параметр ссылки работы в главном докладе юга доклада с помощью ссылок к югу отчета и написать формулу ниже в подэкранном докладе record selection formula

Для параметров создать 2 значения по умолчанию All, None и ваш нормальный список

if {?Job} = "All" and ({?suppliers} <> "ALL" and {?suppliers} <> "none") then 
{SPSYSPRO_PO_CapexJobs;1.MJob} = {?Job} and 
{SPSYSPRO_PO_CapexJobs;1.Msuppliers} in ("list of comma saperated suppliers") 
//For above case you need to have relation between jobs and suppliers 
else if 
(({?Job} = "All" or {?suppliers} = "none") and {?suppliers} <> "ALL") 
then {SPSYSPRO_PO_CapexJobs;1.MJob} = {?Job} 
else if 
({?Job} <> "All" and ({?suppliers} = "ALL" or {?Job} = "none")) 
then {SPSYSPRO_PO_CapexJobs;1.MJob}= {?Job} 

, если вы не хотите использовать отчет суба затем получить все записи и сделать выбор в Crystal Reports

if 
    (({?Job} = "All" or {?suppliers} = "none") and {?suppliers} <> "ALL") 
    then {SPSYSPRO_PO_CapexJobs;1.MJob} = {SPSYSPRO_PO_CapexJobs;1.MJob}  else if 
    ({?Job} <> "All" and ({?suppliers} = "ALL" or {?Job} = "none")) 
    then {SPSYSPRO_PO_CapexJobs;1.MJob}= {SPSYSPRO_PO_CapexJobs;1.Supplier} 

Надеется, что это помогает

+0

Привет Шиве, я попробовал ваш запрос без sub-report, так как мой запрос или sp выглядит следующим образом и не думаю, что мне нужен подчиненный отчет. Я добавил свой sp-код, поэтому, возможно, вам лучше понять, что им после. – user1546143

+0

Отредактированный мой ответ, он должен работать сейчас – Siva

+0

Привет, Шива, запрос по-прежнему не работает, если я выбираю, например. Нет для Job и только одного конкретного Поставщика, он ничего не возвращает, даже если есть рабочие места для этого поставщика. Если вы выберете «Все» и один поставщик, он вернет все данные, а не только данные для этого поставщика. Поэтому мне нужно сказать, например. Job = All and Supplier = A, тогда я хочу вернуть все задания для этого поставщика или для нескольких поставщиков. Затем, если я выбираю для Job = A, B, C и выбираю поставщика = Все, то я хочу отобразить все задания для этого, независимо от того, кто является поставщиком. – user1546143

Смежные вопросы