在设计视图中打开窗体时,Access 在控件的 RowSource 中运行函数



我有一个 Access 2007 表单,其中包含一个包含以下行源的组合框:

SELECT qryProjectsIHaveAccessTo.projID, qryProjectsIHaveAccessTo.projName 
FROM qryProjectsIHaveAccessTo 
WHERE (((qryProjectsIHaveAccessTo.projSupportTracker)=False));

查询qryProjectsIHaveAccessTo使用用户定义的函数作为其中一列的条件。此函数检测是否已运行启动例程,如果未运行它。

我遇到的问题是:如果我SHIFT+打开数据库并在设计模式下打开表单,由于某种原因,用户定义的函数开始运行。然后,这会导致错误,因为它调用的启动例程尝试打开一个窗体(大概 Access 在设计模式下打开另一个窗体的过程中无法打开一个窗体(,有时我无法按 Ctrl+BREAK退出它。

当我在设计模式下保存表单时,也会发生同样的事情。

如果我从组合框中删除RowSource字符串,则不再发生这种情况。但是,为什么在控件 RowSource 中包含的查询中调用的函数会在窗体以设计模式打开时触发?

有人有什么想法吗?感谢您的阅读!

在设计视图中打开窗体时,Access 将验证窗体记录源是否仍然存在,以及绑定到窗体控件的所有查询字段是否仍然存在。

如果其中一些检查失败,Access 会在有问题的绑定控件上显示绿色小三角形。

执行此检查时,它会在查询中运行 UDF。

正如评论中所说,调用启动函数在很大程度上不属于从查询调用的 UDF。将其放入由AutoExec宏调用的函数中。

相关内容

  • 没有找到相关文章

最新更新