2010-01-18 42 views
1

我在水晶我的紀錄seletion公式編輯器定製forumla報告8.5晶報道:在記錄不承認Null值選擇

{} _v_hardware.groupName = { 公司名稱?}和 ({_v_hardware .DriveLetter} =「C」或 ISNULL({_ v_hardware.Driveletter})

我試圖列出與驅動器字母C的所有記錄或有一個空值,並將其目前列出了與驅動器的所有記錄字母C但不是空值。我是否正確處理空值?我也嘗試設置{_v_hardware.DriveLetter} = NULL,這也不起作用。

我應該添加報告正在與SQL Server交談。記錄在表中讀取NULL。

更新: 如果我使用的查詢

{} _v_hardware.groupName = { ?公司名稱}和 ISNULL({_ v_hardware.Driveletter})

它會列出記錄只有DriveLetter字段中的空值和公司名稱

如果我使用查詢

{} _v_hardware.groupName = { ?公司名稱}和{ } _v_hardware.DriveLetter = 「C」

這也列出了與驅動器號 「C」

在此先感謝所有記錄

解決方案通過石楠:

if IsNull({_v_hardware.Driveletter) then 
    {_v_hardware.groupName} = {?companyname} 
else 
(if {_v_hardware.DriveLetter} = "C" then 
    {_v_hardware.groupName} = {?companyname} 
    ) 

回答

0

我見過水晶做滑稽日這取決於你評估你的領域的順序。有時候,我不得不打破現場檢查成塊時NULL值是可能的:

if IsNull({_v_hardware.Driveletter) then 
    {_v_hardware.groupName} = {?companyname} 
else if {_v_hardware.DriveLetter} = "C" then 
    {_v_hardware.groupName} = {?companyname} 
else 
    false;

它醜陋的,但它可以工作,如果是這種情況。

+0

是的,這是我的一個錯字。感謝您指出這一點 – phill 2010-01-18 18:16:01

+0

我只是試過如果然後它給了我相同的結果..怪異 – phill 2010-01-18 18:39:48

+0

奇怪。嘗試我的編輯,看看是否給你不同的結果。 – 2010-01-18 19:20:53