2014-05-16 105 views
0

我創建了一個報告,可以從前一天的製作中提取所有數據。問題在於我們的操作是兩班倒,第二班的信息是在第二天早晨230點左右輸入的(例如,產量是第15位,但直到16日上午230AM才輸入數據)。Crystal Reports 2011時間-24小時

這是我使用的公式:
date({REJECTS.PROD_DATE})=dateadd('d',-1,currentdate)

我試過這個公式,結果相同:date({REJECTS.TIME_STAMP})=dateadd('h',-24,currentdatetime)

我已驗證REJECTS.TIME_STAMP是日期時間字段。

任何幫助將是巨大的,

感謝 特雷弗

+1

您的公式引用2個不同的日期時間字段。他們之間有什麼區別?我建議選擇一個並堅持下去。另外,您選擇的日期時間字段是否包含時間,或者只是默認爲午夜? – PowerUser

+0

你確切的要求是什麼?你需要前一天或第二天...如果是前一天,那麼你的公式是正確的..公式有什麼問題? – Siva

+0

Rejects.prod_date只是一個日期字段,這就是我更改爲Rejects.time_stamp的原因。它看起來是午夜到午夜。 – Greentr

回答

1

添加到您的報表的記錄選擇公式:

// timestamp should be new than 24 hours before the current date/time (calculated dynamically) 
{REJECTS.TIME_STAMP} >= DateAdd("h", -24, CurrentDateTime) 

// include other restrictions as necessary 
AND ... 
+0

如果我在2014年5月20日上午10:00運行這個報告,它應該顯示來自5/19/2014的信息10 :00AM至5/20/2014 10:00 AM。 – Greentr

+0

@Greentr:這會給你下界。上限將是數據(生成報告時系統中的數據)。如果您需要將其作爲不同的日期/時間運行,則需要對報告進行參數化。 – craig

+0

你失去了我。水晶報表和編碼是我的兩個最薄弱的環節...... – Greentr

0

我的做法是:

  1. 創建String參數,並給予默認值24小時...以所需的格式(either half hour formatHour format)。

如果您需要檢查參數link

2使用下面的公式Record Select Expert

{REJECTS.TIME_STAMP}>=Cdatetime(Cdate(dateadd('d',-1,currentdate)),Ctime({?tme})) and 
    {REJECTS.TIME_STAMP}<Cdatetime(CDate(dateadd('d',0,currentdate)),Ctime({?time})) and 

現在,當你運行你會被提示輸入時間報告..選擇時間和您查詢的要求,你將形成。

+0

這是我忘了提及的轉折,這是一個自動化的報告。它不能有任何提示。 – Greentr

+0

我沒有得到自動報告的概念?你能詳細說明一下嗎......如果你不能添加參數,那麼你如何添加公式 – Siva