2011-12-09 62 views
0

基本詳細信息: oracle,vb6和excel,使用ADO來獲取記錄集。添加記錄和操縱記錄集以包含公式

我在操作記錄集時遇到問題,當我在記錄集的末尾添加新記錄時。最後一個記錄應包含式諸如,比方說計數,列2,在欄3的值的總和,和總和(COL3)的分裂和COL2在記錄

原始列

此列的CLIENT端應顯示總

該塔的主要端​​部應顯示平均(主要)該塔

GROSS_LIQ_RATE端應顯示平均(總)/ SUM(委託人)

當我添加記錄集,它提供了一個錯誤 我加入這樣的:

.AddNew  .[columnname] = Sum(rst.Fields(1))  .Update 

感謝尋找到這一點。

+0

你的問題是可以理解的...請編輯你的問題,並解釋我們你有什麼,你打算做什麼,你嘗試了什麼,錯誤在哪裏(假設你給我們完整的代碼) – JMax

回答

0

我不相信你可以用那種方式使用Sum()。您將使用application.worksheetfunction.sum(),因爲sum不是vba函數。

其次,我不認爲rst.fields(1)將返回該字段中的所有值。您需要遍歷每條記錄的記錄集求和rst.fields(1).value

從設計的角度來看....您所查找的所有值都可以通過SQL直接計算出來,但我沒有看到將數據拉到記錄集中進行這些操作的任何理由。

+0

我會嘗試詳細說明:假設我們有一個報告類型,顯示2007年,2008年,2009年,2010年的本金額。相應的值位於記錄集的第3個字段中。所以值將傾入Excel作爲 FYPeriod COL2主要 2007 someValue中230000 2008 someValue中431280 2009年someValue中343455 總和(以委託上述所有) 有沒有辦法只在SQL實現這一目標? – joiner

+0

對我來說,編寫第二個SQL語句似乎不那麼費力,該語句將年份數全部省略(顯示所有年份的總和)。 – Pynner

+0

我使用匯總,它的工作。謝謝。 – joiner