Access数据库培训
网站公告
·Access快速平台QQ群号:189307860    ·Access快速开发平台下载地址及教程    ·欢迎添加微信交流账号:Accessoft7    ·如何快速搜索本站文章|示例|资料!    
您的位置: 首页 > 技术文章 > Access数据库-窗体/数据页

黑龙江22选5开奖结果:获得当前窗体筛选后的记录,进行Dsum计算

黑龙江22选5 www.xyf1x.cn 时 间:2015-11-24 14:34:14
作 者:布鲁斯   ID:31999  城市:中山
摘 要:可以实现即时获得筛选后的某个字段信息变化。比如:总价,数量 等等。
正 文:

实现了利用窗体自带的属性,快速的计算出当前窗体筛选后的记录。

方法暂时想到2个:

1方法:(这个方法执行效率相对较低,毕竟经过多步转化)
        Dim RST As Recordset
        Set RST = Me.Form.Recordset

'        Debug.Print RST.RecordCount
        If RST.RecordCount = 0 Then Exit Sub
        RST.MoveFirst
        Do Until RST.EOF
            Br_a = RST.Fields("单价") + Br_a
        RST.MoveNext
        Loop
        Debug.Print Br_a


2方法:(简单直接高效,现成利用窗体自带属性,问了很多大神才最后找到这条路)

    Br_a = DSum(Me.单价, Me.Form.RecordSource, Me.Filter)
    Debug.Print Me.Filter
    Debug.Print "筛选", Time, Br_a




Access软件网官方交流QQ群 (群号:43631875)       access源码网店

最新评论 查看更多评论(6)

2018/7/30 23:51:09年杰
而且当前窗体的Me.Form.RecordSource返回的必须要是个表或者查询名,也就意味着,使用该方法时,使用窗体的RecordSource属性不能是SQL语句

2018/7/30 21:56:28年杰
感觉方法二写法有错,正确写法应该是:DSum(Me.单价.ControlSource, Me.Form.RecordSource, Me.Filter) 用 Me.单价 会引用当前文本的默认值,如果这是一个数值型的话,我猜的,可能相当于在后面的Me.Form.RecordSource里新建了一个字段,而且该字段的所有值都被赋值为选中行的值,然后DSum函数再对该字段求合计,结果自然而然的就成了楼下老兄所说的:行的值*记录数 改成Me.控件名.ControlSource后,它返回的是对应控件所属的字段名(string类型),才可以得到真正想要的结果。

2017/1/11 8:46:50amy
我用方法二 来计算我子窗体内容筛选的总计结果。发现计算出来的结果是错误的。结果为我选中的行的值*记录数,好奇怪

2016/4/16 1:35:00Seven
挺好的

2015/11/24 19:44:01布鲁斯
没试过哦,不清楚,本人没用过平台

发表评论您的评论将提升作者分享的动力!快来评论一下吧!

用户名:
密 码:
内 容:
 

常见问答

技术分类

相关资源

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助