设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 6301|回复: 14
打印 上一主题 下一主题

adp中的“聚合函数”真难搞

[复制链接]
跳转到指定楼层
1#
发表于 2009-9-16 16:48:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近尝试用ADP做个生产销售系统,被“聚合函数”搞得头大,举个例子,窗体中用Sum()对表单【数量】字段加个总,发现对表单筛选后总计数不随着变化,只能显示刚打开时的总数,用Access自己的∑合计功能同样不能随筛选更新计总,但在MDB或ACCDB中一切正常
       而且想对用过“聚合函数”的文本框再套一次“聚合函数”,就会出“# 错误”,真是郁闷。

从Access2000到Access2007 ,发现微软对ADP没什么改进,明显的地方也就能连高版的SQL。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-9-19 22:42:07 | 只看该作者
有同感,我也遇到这个问题/

点击这里给我发消息

3#
发表于 2009-9-19 23:17:25 | 只看该作者
不明白
4#
 楼主| 发表于 2009-10-8 14:00:37 | 只看该作者
本帖最后由 qpzm 于 2009-10-8 14:05 编辑

例如我有如下一个子窗体,刚打开窗体时,ACCDB与ADP都能正常显示汇总结果。


但是当我按板单号筛选后,ACCDB可以正常重计算汇总,而ADP只能显示刚打开时的汇总结果。



(上面二图是ACCDB筛选后的结果)

在ADP里不知有没有什么方法可实现上面那种效果?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
5#
发表于 2009-10-9 23:35:22 | 只看该作者
我也一直在等这个答案,窗体引用聚合函数的值吧,朱老师,快点给我们指引吧
6#
发表于 2009-10-10 07:13:36 | 只看该作者
look
7#
发表于 2009-10-21 10:09:03 | 只看该作者
ADP中这个问题不大好弄,但也不是没解决办法。
动动脑筋,应当就有答案了。
8#
发表于 2009-10-21 10:09:46 | 只看该作者
给点提示:用子查询

点击这里给我发消息

9#
发表于 2009-10-21 14:42:04 | 只看该作者
在mdb或accdb中,如果要筛选,则请使用 Filter 属性。
Me.Filter = "SCORE >= 60'"
Me.FilterOn = True

而在 Microsoft Access 项目 (.adp) 中,如果要筛选,则请使用 ServerFilter 属性。
Me.ServerFilter = "SCORE >= 60'"
Me.Refresh
这样才能引起SUM动作

在窗体上直接使用下拉箭头的筛选,是使用的Me.Filter,因此,结果不会是预期效果。如果要按服务器筛选,则必须设置窗体的“按窗体的服务器筛选”属性为“是”,在打开窗体后,按右键选取“按窗体的服务器筛选”进行设置筛选条件。总之比较麻烦。因此,不建议直接在窗体上操作,而使用代码代替。
10#
发表于 2009-10-22 09:31:25 | 只看该作者
本帖最后由 xyxj1974 于 2009-10-22 09:36 编辑

  说下我解决的方法吧;

如对金额这个字段进合SUM:
在窗体的更新后事件(或者是重新设定查询条件后的相关事件)中加入以下代码:
   金额合计.ControlSource = "=sum(金额)"
    金额合计.requery

另外,不认同楼主的查询方法,你可以设置一些查询条件,让用户自己选择。这样便于程序的控制。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-10 11:03 , Processed in 0.090576 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表