原函数在编号、项目缺损时会出现参数无效,加入“If Not rs.EOF Then”后避免了出错
Function DDSUM(tbname As String, fldname As String, fldIDname As String, StrID As String) As String
'示例:select ID & " " & DDSUM("结果","项目"," ID ",[ ID ]) from公卫结果group by ID
Dim rs As New ADODB.Recordset
Dim ssql As String
Dim i As Long
Dim s As String
ssql = "select " & fldname & " from " & tbname & " where Cstr(" & fldIDname & ")='" & StrID & "'"
rs.Open ssql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If Not rs.EOF Then
For i = 1 To rs.RecordCount
DDSUM = DDSUM & rs.Fields(fldname).Value & " "
rs.MoveNext
Next
DDSUM = Left(DDSUM, Len(DDSUM) - 1)
End If
rs.Close
Set rs = Nothing
End Function