Expression Builder doesn't display database's user-defined functions in the Functions node


Office 365 ProPlus is being renamed to Microsoft 365 Apps for enterprise. For more information about this change, read this blog post.

Original KB number:   981241


Consider the following scenario:

  • You open a Microsoft Access database in Disabled mode.
  • You open the Expression Builder in a context that enables user-defined functions.
  • In the Expression Builder's Expression Elements tree view, you expand the Functions node.

In this scenario, the database's Microsoft Visual Basic for Applications (VBA) project is not listed under the Functions node.


This is by design. This issue occurs because, when the database is opened in Disabled mode, VBA cannot enumerate any of the arguments that are defined for user-defined functions. To enumerate these arguments, VBA must be able to compile the type libraries of the modules that contain the user-defined functions. When the database is in Disabled mode, VBA cannot compile these modules. Therefore, the Expression Builder cannot display the user-defined functions for the database.


To work around this issue, you must open the database in Enabled mode.