2011-12-09 65 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