access实现自定义聚合函数

使用access对数据进行处理,遇到一个如何自定义聚合函数的问题:需要将字段进行连乘,类似于sum()的实现。


经过研究找到一种方法与大家分享:


access定义聚合函数需要使用vba函数:

Function sql(ByVal str As String) As String
sql = “select value from table where id = '”; + str +“'"
End Function

Function getResult(sql As String) As Double
Static db As DAO.Database
Dim rst As DAO.Recordset
Set db = CurrentDb()
Set rst = db.OpenRecordset(sql, dbOpenDynaset, dbReadOnly)
rst.MoveLast
rst.MoveFirst
Dim result As Double
result = 1#
Do While Not rst.EOF
If rst.Fields(0).Value Then
result = result * rst.Fields(0).Value
End If
rst.MoveNext
Loop
Set rst = Nothing
Set db = Nothing
getResult = result
End Function

sql语句改为:
select
*,
getResult(sql(id))
from
(
select distinct id
from table
)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值