实现了利用窗体自带的属性,快速的计算出当前窗体筛选后的记录。
方法暂时想到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