Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]如何得到当前的窗体,筛选后的数据集。

布鲁斯  发表于:2015-11-16 10:42:45  
复制

 如何得到当前的窗体,筛选后的数据集。

试过 me.recordsource  但是它是整个窗体的记录源,不管筛不筛选都是包含总记录

a = DSum(Me.单价, Me.Form.RecordSource)

求大神指点


 

Top
煮江品茶 发表于:2015-11-17 11:42:40

没处理过,但Add方法能返回 ListItem对象吗?

试试:


Do While Not .EOF
     
         i = 2 '图标索引
        Debug.Print "e" & .Fields("系统ID"), .AbsolutePosition
        me.ListView0.ListItems.Add(, "e" & .Fields("系统ID"), .Fields("系统简称"), i)
        
        .MoveNext
    Loop

Set objList =me.ListView0.ListItems



huashanshihu 发表于:2015-11-23 21:04:32

你把窗体的记录源改变了吗?应该改变窗体记录源为筛选过的记录不就行了吗,当然不能在窗体里面进行筛选,因为在窗体筛选后的虽然显示的是筛选过后的数据,但是记录源没有变化的。



布鲁斯 发表于:2015-11-23 23:10:27
"当然不能在窗体里面进行筛选,"
就是要在窗体内筛选,获得筛选的记录。本质上的记录源的确没有变化,但是窗体显示的记录集变化了。就是为了这个变化后的窗体显示记录集。


布鲁斯 发表于:2015-11-24 14:24:42

好了,找到解决办法

Me.Form.RecordSource:当前窗体的记录源(一般就是后台表,或者生成的选择查询)

 Me.Filter:这个是最关键的地方,表示手动筛选的条件(系统自动读取记录信息)。可以用debug.print 查看具体内容



DSum(Me.单价, Me.Form.RecordSource, Me.Filter)


总记录:4篇  页次:1/1 9 1 :