MS Access 2007是否支持创建用户定义的sql函数? 如果是这样,菜单中的选项在哪里?
答案 0 :(得分:6)
如果你的意思是你可以在Access中的SQL中使用用户定义函数(UDF),是的,你可以。例如,如果您想要中值,可以在查询设计窗口中编写SQL,如下所示:
SELECT s.Month,
Sum(([SentTo])) AS [Sum Sent],
fMedian("Statistics","Month",[Month],"SentTo") AS [Median Sent]
FROM Statistics s
GROUP BY s.Month
其中fMedian引用模块中的代码:
Function fMedian(SQLOrTable, GroupFieldName, GroupFieldValue, MedianFieldName)
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs1 = db.OpenRecordset(SQLOrTable, dbOpenDynaset)
If IsDate(GroupFieldValue) Then
GroupFieldValue = "#" & GroupFieldValue & "#"
ElseIf Not IsNumeric(GroupFieldValue) Then
GroupFieldValue = "'" & Replace(GroupFieldValue, "'", "''") & "'"
End If
rs1.Filter = GroupFieldName & "=" & GroupFieldValue
rs1.Sort = MedianFieldName
Set rs = rs1.OpenRecordset()
rs.Move (rs.RecordCount / 2)
If rs.RecordCount Mod 2 = 0 Then
varMedian1 = rs.Fields(MedianFieldName)
rs.MoveNext
fMedian = (varMedian1 + rs.Fields(MedianFieldName)) / 2
Else
fMedian = rs.Fields(MedianFieldName)
End If
End Function
来自:http://wiki.lessthandot.com/index.php/Aggregate_Median_(UDF)
答案 1 :(得分:0)
您可以使用VBA模块功能创建自定义功能。
答案 2 :(得分:0)
查询可以采用使其与存储过程类似的参数。可以通过VBA实现功能。