Office中国论坛/Access中国论坛
标题:
adp中的“聚合函数”真难搞
[打印本页]
作者:
qpzm
时间:
2009-9-16 16:48
标题:
adp中的“聚合函数”真难搞
最近尝试用ADP做个生产销售系统,被“聚合函数”搞得头大,举个例子,窗体中用Sum()对表单【数量】字段加个总,发现对表单筛选后总计数不随着变化,只能显示刚打开时的总数,用Access自己的
∑合计功能同样不能随筛选更新计总,但在MDB或ACCDB中一切正常
。
而且想对用过“聚合函数”的文本框再套一次“聚合函数”,就会出“# 错误”,真是郁闷。
从Access2000到Access2007 ,发现微软对ADP没什么改进,明显的地方也就能连高版的SQL。
作者:
yodong
时间:
2009-9-19 22:42
有同感,我也遇到这个问题/
作者:
zhuyiwen
时间:
2009-9-19 23:17
不明白
作者:
qpzm
时间:
2009-10-8 14:00
本帖最后由 qpzm 于 2009-10-8 14:05 编辑
例如我有如下一个子窗体,刚打开窗体时,ACCDB与ADP都能正常显示汇总结果。
[attach]39855[/attach]
但是当我按板单号筛选后,ACCDB可以正常重计算汇总,而ADP只能显示刚打开时的汇总结果。
[attach]39856[/attach]
[attach]39857[/attach]
(上面二图是ACCDB筛选后的结果)
在ADP里不知有没有什么方法可实现上面那种效果?
作者:
earyxu
时间:
2009-10-9 23:35
我也一直在等这个答案,窗体引用聚合函数的值吧,朱老师,快点给我们指引吧
作者:
luhao
时间:
2009-10-10 07:13
look
作者:
xyxj1974
时间:
2009-10-21 10:09
ADP中这个问题不大好弄,但也不是没解决办法。
动动脑筋,应当就有答案了。
作者:
xyxj1974
时间:
2009-10-21 10:09
给点提示:用子查询
作者:
zhuyiwen
时间:
2009-10-21 14:42
在mdb或accdb中,如果要筛选,则请使用 Filter 属性。
Me.Filter = "SCORE >= 60'"
Me.FilterOn = True
而在 Microsoft Access 项目 (.adp) 中,如果要筛选,则请使用 ServerFilter 属性。
Me.ServerFilter = "SCORE >= 60'"
Me.Refresh
这样才能引起SUM动作
在窗体上直接使用下拉箭头的筛选,是使用的Me.Filter,因此,结果不会是预期效果。如果要按服务器筛选,则必须设置窗体的“按窗体的服务器筛选”属性为“是”,在打开窗体后,按右键选取“按窗体的服务器筛选”进行设置筛选条件。总之比较麻烦。因此,不建议直接在窗体上操作,而使用代码代替。
作者:
xyxj1974
时间:
2009-10-22 09:31
本帖最后由 xyxj1974 于 2009-10-22 09:36 编辑
说下我解决的方法吧;
如对金额这个字段进合SUM:
在窗体的更新后事件(或者是重新设定查询条件后的相关事件)中加入以下代码:
金额合计.ControlSource = "=sum(金额)"
金额合计.requery
另外,不认同楼主的查询方法,你可以设置一些查询条件,让用户自己选择。这样便于程序的控制。
作者:
gdjdyyj
时间:
2010-2-1 15:36
学习!
作者:
michael100
时间:
2010-3-25 08:46
学习.......
作者:
michael100
时间:
2010-5-5 14:43
学习中
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3