表达式生成器不会在 Functions 节点中显示数据库的用户定义函数

原始 KB 数: 981241

症状

请考虑以下情况:

  • 在“禁用”模式下打开 Microsoft Access 数据库。
  • 在启用用户定义的函数的上下文中打开表达式生成器。
  • 在表达式生成器的 “表达式元素” 树视图中,展开“ 函数 ”节点。

在此方案中,“Functions”节点下未列出数据库的 Microsoft Visual Basic for Applications (VBA) 项目。

原因

这是设计使然的。 出现此问题的原因是,在禁用模式下打开数据库时,VBA 无法枚举为用户定义的函数定义的任何参数。 若要枚举这些参数,VBA 必须能够编译包含用户定义函数的模块的类型库。 当数据库处于“禁用”模式时,VBA 无法编译这些模块。 因此,表达式生成器无法显示数据库的用户定义函数。

解决方法

若要解决此问题,可以 信任数据库 并停止“禁用”模式,如下所示:

  • 使用消息栏:在消息栏上选择“ 启用内容 ”。 选择此选项时,如果数据库发生更改,可能需要重复此过程。
  • 永久信任数据库:将数据库放置在 (驱动器或网络上标记为受信任) 的文件夹的受信任位置。 选择此选项时,将不再看到消息栏,并且只要数据库保留在受信任位置,就永远不必启用数据库内容。