问题描述
- Access中定义GroupConcat函数时, .显示用户定义类型未定义,怎么修改?
- 定义的函数如下:
Public Function GroupConcat(sColumn As String sTable As String Optional sCriteria As String Optional sDelimiter As String = "")
On Error GoTo ErrHandler
Dim rs As New ADODB.Recordset
Dim sSQL As String
Dim sResult As String
sResult = """"
sSQL = ""select "" & sColumn & "" from "" & sTable
If sCriteria <> """" Then
sSQL = sSQL & "" where "" & sCriteria
End If
rs.Open sSQL CurrentProject.Connection adOpenForwardOnly adLockReadOnly
Do While Not rs.EOF
If sResult <> """" Then
sResult = sResult & sDelimiter
End If
sResult = sResult & rs.Fields(0).Value
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
GroupConcat = sResult
Exit Function
ErrHandler:
If rs.State <> adStateClosed Then
rs.Close
End If
Set rs = Nothing
GroupConcat = Err.Number & "" : "" & Err.Description
End Function该函数可以实现多行合并为一行吗?
解决方案
同问。。。。。。。。。。。。。。。。。。。。。。。。
解决方案二:
你要在哪里用?
自定义函数只能在 Access 的 VBA 内部使用。
外部程序通过 ADO 连接 Access 是不能使用自定义函数的。
时间: 2024-10-30 20:15:03