设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1608|回复: 7
打印 上一主题 下一主题

[窗体] 请帮助!通过选取进行求和

[复制链接]
跳转到指定楼层
1#
发表于 2011-3-19 13:23:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想通过点击子窗体中的Status来进行求和,具体见图片
通过点击子窗体中的Status,使其主窗体中的文本框Demand_of_Total进行求和,选取那些项就对这些项中的Demand字段进行求和!全部取消求和数量为0
谢谢帮助!

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-3-19 16:49:10 | 只看该作者
本帖最后由 todaynew 于 2011-3-19 17:07 编辑

方法一:
1、在子窗体页脚中拖入一个文本框,命名为:合计;
2、在设计视图状态下,于该文本框中写:=sum(iif([Status]=true,[Demand],0))
3、在主窗体上拖入一个文本框,也命名为:合计;
4、在设计视图状态下,于该文本框中写:=forms!主窗体名称!子窗体控件名称.form!合计

方法二:
1、在主窗体上拖入一个文本框,也命名为:合计;
2、在设计视图状态下,于该文本框中写:=Dsum("Demand","表或查询的名称","Status=-1")

方法三:
1、在主窗体上拖入一个文本框,也命名为:合计;
2、在子窗体的Status控件的更新后事件中写:
dim frm as form
dim ctls as controls
dim i as long,n as long
set frm=me.子窗体控件名称.form
set ctls=me.Parent.form.controls
ctls("合计").value=0
n=frm.seltop
for i=1 to frm.RecordsetClone.RecordCount
    frm.seltop=i
    if me.Status.value=true then
       ctls("合计").value=ctls("合计").value+me.Demand.value
    end if
next
frm.seltop=n

3#
发表于 2011-3-19 19:24:30 | 只看该作者
最简单的方法就是把子窗体的记录源设为一个查询,然后添加一个计算字段:
DemandTotal: IIF([Status],[Demand],0)
然后在子窗体的“窗体页脚”节添加一个文本框,名称为:txtDemandTotal,控件来源为:=Sum([DemandTotal])
把主窗体那个Demand_of_Total文本框的控件来源设为:=IIF(IsError(子窗体!txtDemandTotal),0,子窗体!txtDemandTotal)
4#
 楼主| 发表于 2011-3-20 08:46:54 | 只看该作者
todaynew 老师: set frm=me.子窗体控件名称.form
子窗体控件名称是哪一个控件?谢谢帮助
5#
发表于 2011-3-20 09:43:07 | 只看该作者
yanwei82123300 发表于 2011-3-20 08:46
todaynew 老师: set frm=me.子窗体控件名称.form
子窗体控件名称是哪一个控件?谢谢帮助

你的子窗体控件的名称与标签一致的话,应该是:
set frm=me.subTempPL.form
6#
发表于 2011-3-20 09:49:25 | 只看该作者
todaynew总结得好!
7#
 楼主| 发表于 2011-3-20 11:04:53 | 只看该作者
todaynew老师,给看看有错误

本帖子中包含更多资源

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

x
8#
发表于 2011-3-20 15:22:40 | 只看该作者
本帖最后由 todaynew 于 2011-3-20 15:24 编辑
yanwei82123300 发表于 2011-3-20 11:04
todaynew老师,给看看有错误


你要在设计视图下,右击子窗体控件,看看该控件名称是什么。
注意:子窗体控件与其装入的窗体是两个不同的对象。如果是用向导做的,那么子窗体控件的名称会自动的命名为装入的窗体名称,如果没有用向导,可能两者的名称不同。
此外,方法一和方法二,以及红尘同志的方法,比较简单,应该优先选用。方法三只是说也可以用代码进行处理,但这是在不是必要的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-16 19:48 , Processed in 0.083847 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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