我正在尝试在Access 2003中创建一个报告,该报告在单个串联字符串中列出每个人的所有子项。 Allen Browne's ConcatRelated()看起来很有希望。
所以我将代码复制到一个模块中,从调试菜单中编译它(没有任何反应)并进行查询:
SELECT Moms.MomID, Moms.MomLast, ConcatRelated("KidFirst","Kids","MomID =" & Kids.MomID)
FROM Kids INNER JOIN Moms ON Kids.MomID = Moms.MomID;
我得到一个错误,表示“表达式中未定义的函数'Concatrelated'。
出了什么问题?我偏离方向的唯一地方是在模块名称中键入“ConcatRelated”。
答案 0 :(得分:3)
不要将模块调用与功能相同,有时会使VBA混乱 将模块重命名为" DatabaseUtils"例如。
确保该函数确实定义为Public Function ConcatRelated(...
,此处Public
很重要,否则该函数将无法在模块本身外看到。