Access新建模块无法调用

大猫钓鱼 2009-12-12 05:49:14
第一次用Access的模块功能,定义了如下函数:
Public Function UnionString(a, b As Integer) As String
UnionString = CStr(a) + CStr(b)
End Function

然后建立了一个查询:

SELECT UnionString(OrgId,OrgType) FROM Org_Info

运行时,提示:“表达式中UnionString函数未定义”。

请问下是何原因呢?
...全文
244 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
大猫钓鱼 2009-12-12
  • 打赏
  • 举报
回复
类模块?好像明白了。这方面我再去看看相关资料。谢谢你了^_^
ACMAIN_CHM 2009-12-12
  • 打赏
  • 举报
回复
如果模块名也是 UnionString ,则VBA会以为是个对象类,以为这是个类模块。 这样它就不会以为你调用 UnionString () 是个函数,而解析成为一个类模块名。
大猫钓鱼 2009-12-12
  • 打赏
  • 举报
回复
哦 一直没在意是模块和函数同名的问题 是什么原因呢?
ACMAIN_CHM 2009-12-12
  • 打赏
  • 举报
回复
找到原因了,你的模块名和你的变量名重复了!

把你的模块名改掉 UnionString 就行了。
大猫钓鱼 2009-12-12
  • 打赏
  • 举报
回复
已上传,test.mdb
大猫钓鱼 2009-12-12
  • 打赏
  • 举报
回复
好的 我一会就上传 谢谢你了哈
ACMAIN_CHM 2009-12-12
  • 打赏
  • 举报
回复
这样,猜不到是什么问题。 建议你上传一个测试用的MDB文件,把无关的表和代码删除。你可以先试一下,能再现你的问题即可。

可以上传到 http://www.access911.net/csdn
大猫钓鱼 2009-12-12
  • 打赏
  • 举报
回复
都在Access里啊,在对象里建立的“模块”和“查询”。
ACMAIN_CHM 2009-12-12
  • 打赏
  • 举报
回复
你建在哪里了?
然后是在哪儿调用的? 如果是在ACCESS外部的程序中比如C#,ASP中则无法调用这些自定义的函数。

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧