我有一個我沒有製作的現有報告。這很複雜。它不使用命令函數,所以我不能直接更改SQL代碼中的過濾器。我已經審查了幾個基本上說沒有辦法解決這個問題的鏈接,我需要創建一個新的命令並重做報表。我想找到一個解決方案,不需要我重做報告。修改現有Crystal Reports以包含其他過濾器
我的邏輯,我需要的是隻選擇分包(如獲批准與否不論),只有有一個實例,如果他們有關聯的唯一選擇已批准
這是當前的後端一兩個實例水晶SQL
SELECT columns
from several tables joins etc
WHERE subcontract = '12345'--parameter entry
AND company=1 --parameter entry
我想補充這個邏輯,其在一個正常的SQL語句工作,但因爲我不能修改Crystal的SQL我堅持......
AND ((subcontract in (select subcontract from table
group by subcontract having count(*) = 1))
OR (subcontract in (select subcontract from table group by subcontract having count(*) > 1)
AND "approved = 'Y'))
我已經看着你選擇和組專家,但我只是沒有達到那裏。有沒有人找到一些簡單的解決方法? 謝謝!
編輯:我已經有一個選擇的專家涉及轉包,但我不知道如何添加什麼,我想它,因爲它是基於驗證和我想的過濾器組件添加到它..
(
if (IsNull({?BeginSub}) or Trim({?BeginSub})="") then
true
else
{subcontract} >= Trim({?BeginSub})
) and
(
if (IsNull({?BeginSub}) or Left(Trim({?BeginSub}),3) in ["","zzz"]) then
true
else
{subcontract} <= Trim({?EndSub})
)
編輯更新:我找到了一種方法來獲得我想要的水晶報告,但是當我從我的應用程序運行報告時,它會引發錯誤。我用我想要的條件創建一個命令,然後鏈接到command.subcontract = othertables.subcontract的其他表。
你如何檢查合同是否被批准?你的數據庫結構是什麼?數據的外觀如何 – Siva
項目是否被批准有YN列。問題在於他們可以批准合同的各個部分,因此合同可以有Y批准的記錄和N未批准的記錄。他們還需要訪問尚未被批准的項目,以推動他們通過系統。所以我需要讓我的數據集包括那些只有一個實例的分包合同,如果他們有多個實例只包含那些具有批准狀態的實例。 – Kdunc2015
我的問題是Y和N記錄在同一列或另一列 – Siva