Office中国论坛/Access中国论坛

标题: [求助] 如何计算3个列的平均 [打印本页]

作者: xiangchendub    时间: 2006-8-3 10:42
标题: [求助] 如何计算3个列的平均
问个比较菜的问题:

在一个表里, 我想加个列,然后把其他 3 个列的平均值放到这个列里。

如何用VBA 实现?不想做对每个纪录作循环,因为纪录太多了,大概有几百万。

先谢谢各位了
作者: sgrshh29    时间: 2006-8-3 14:58
用更新查询可能快些.
作者: xiangchendub    时间: 2006-8-3 17:23
谢谢sgrshh29 的回复。

能说的细致点吗,比如给个code 啥的


作者: sgrshh29    时间: 2006-8-3 17:33
UPDATE 表1 SET 表1.平均 = ([表1]![值a]+[表1]![值b]+[表1]![值c])/3;
作者: xiangchendub    时间: 2006-8-3 18:00
谢谢sgrshh29 兄的指点。

可惜SQL 中内置的函数太少了,本来在excel 中很容易实现的功能

在Access里很麻烦。

再次感谢
作者: sgrshh29    时间: 2006-8-3 18:41
我以前用excel,学了access后还是用excel,因为access1小时的活,excel可以做上一天,看起来就比较忙.不然闲下来,老板就要派很多份外活让你干.[em01][em01][em01]
作者: xiangchendub    时间: 2006-8-3 18:46
哈哈,敏

不过,Access 真的比excel 好用吗? 我用excel vba 比较多, 刚开始学

Access vba. sgrshh29 兄能不能给说说,为啥Access 比Excel 效率高吗?给几个例子,估计我就明白了


作者: sgrshh29    时间: 2006-8-3 18:54
各有长短,主要看用于什么目的.
作者: andymark    时间: 2006-8-3 19:19
如果数据量大用ADO更新会快一点
作者: xiangchendub    时间: 2006-8-3 22:17
版主的意思是说 ADO 比 SQL 在数据量大的时候更新会快?


那是不是要用ADO 形成一个 recordset ,然后再循环呢


如果数据量太大的话,我觉得loop是不是太慢了


或者说, ADO 有其他的method 可是批处理





谢谢各位的回复



作者: fan0217    时间: 2006-8-4 00:53
计算所得的值,干吗还放回去啊!郁闷!
作者: xiangchendub    时间: 2006-8-4 01:44
不好意思,是新手不太懂数据库。其实我想做的也不是要通过Access做一个数据库,只是通过

Access 对输入的数据进行处理,然后再输出一个我想要得表,这个表的数据作为另一个数学软件的输入。

我也觉得 11 楼的老大说得有理,可我不会搞呀。我现在都是按照excel的思路来做的。可excel 一个表才

65536行,不够大,没辙,才用Access的。

能给点建议吗?谢谢先
作者: fan0217    时间: 2006-8-4 02:21
Access与Excel在表设计上有很大的差别,Excel是个2维的表格,直观方便。Access是关系数据库,所有表的设计具有关系数据库的的特点,遵循几个范式。

计算所得的表格不要回存至表中,需要的适合通过合适的查询即可得到。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3