2016-05-23 62 views
0

目前,我正在製作一個報告,用於在帳戶中提取設置,但這確實需要一些背景故事。Crystal Reports XI數據庫中記錄的最早數據

用戶可以在帳戶上進行設置,但另一個用戶可以進入並使用「編輯」操作代碼,然後取消以前的設置,創建一個新的帳戶,可以選擇不同的付費選項,新帳戶在設置中,任何事情都是真的。我們支付辦公室的方式取決於誰擁有原始設置。

我正在製作的報告需要拉動設置的原始創建者,但使用最新的設置信息。

它會像accountNumber,oldUser,oldUserSupervisor,newSetUpDate,newSetUpAmt是聚集的列。

這些列來自同一個表名爲「設置」

當查詢表,如果你沒有任何限制,它會顯示所有過去的設置和電流,但無效標誌,isActive =「N」,如果它是無效的,並且isActive =「Y」,如果它是...

我需要做的是獲得原始設置用戶,然後拉取有關新設置的信息,以上所列。

我曾嘗試使用變量來通過每條記錄,但它總是返回最新的信息。

這在公式車間用我的變量(我沒有對它們進行初始化之前是的,在報頭)

Shared DateVar createDate; 
Shared BooleanVar countNext; 
Shared StringVar previousRehab; 
Shared StringVar cUser; 

// Checking for the correct create date 
If (countNext = true) Then 
    createDate := {CreateDate} 
Else 
    createDate := createDate; 

// Checking for the correct user 
If (countNext = true) Then 
    cUser := {User} 
Else 
    cUser := cUser; 

//Checking for the correct cancel code 
If ({cancelReason} = "EDIT") Then 
    countNext := False 
Else 
    countNext := True; 

它應該通過每個記錄進行掃描,然後保存信息。如果匹配,則停止搜索並打印記錄。目前它總是顯示最新的信息,而不會觸及過去。

回答

1

這樣你就會陷入一片混亂。

遵循以下流程:

假設帳戶是很常見的新舊。

  1. 創建使用account number

  2. 地方這些列oldUser, oldUserSupervisor, newSetUpDate, newSetUpAmt詳細部分的基團。

  3. 對於每一列創建一個數組來存儲所有的數據,並重置數組在組頭。按照以下過程。

在組標題創建式@Reset

Shared Stringvar Array olduser=""; 
Shared Stringvar Array oldUserSupervisor=""; 
Shared Srtingvar array newSetUpDate=""; 
Shared Stringvar Array newSetUpAmt=""; 

現在細節創建4列4個不同配方和如下寫出。我顯示的一列擴展到4列的日期和金額一定要轉換成字符串數組存儲之前:

4列

創建公式 @storeolduser

olduser:=olduser+databasefield; 
1 

像這樣創建4個公式

在報表頁腳提取所有4,數組作爲舊的信息和數組的最後一個元素的第一個元素最新信息

olduser[1] //will give first user access 
olduser[Ubound[olduser]] //will give last user accessed 

在組頁腳中提取所有內容並根據您的要求顯示

+0

在步驟3中,創建@storeolduser公式時,它錯誤地顯示爲「剩餘文本看起來不在公式中」我在新變量中調用變量公式如下: Shared Stringvar Array oldUser oldUser:= oldUser + {Table.name} .oldUser – NWcis

+0

聲明變量後使用分號....如共享stringvar數組olduser;然後下一個代碼繼續 – Siva

+0

這似乎解決了一個問題,但databasefield.oldUser仍然不起作用。它將.oldUser標記爲不是公式的一部分。當刪除它時,它說數據庫字段不能是數組的一部分。我的語法是:oldUser:= oldUser + {Table.userName} .oldUser;我嘗試了和沒有分號,沒有區別。 – NWcis