我在Access 2010中有一个auto exec脚本,只要用户加载了DB就会执行该脚本。问题是,在该用户启用宏之前,脚本会失败并发出错误,因为它不允许运行。
有没有办法延迟autoexec,直到选择“启用宏”,然后触发它?
或者有没有办法在没有自动执行的情况下触发代码,这与“启用宏”选择有关?
答案 0 :(得分:4)
我找到How to force user to deal with the Security Warning when starting Access 2007?,这导致我Microsoft support article。
来自Microsoft文章:
您可以使用AutoExec宏来测试数据库是否可信 当您打开数据库时。此外,宏可以打开一个表单 如果数据库不是,则向用户显示自定义消息 值得信赖的。此消息允许用户知道数据库必须是 启用或信任代码才能成功运行。
要创建AutoExec宏和表单,请按照下列步骤操作:
- 在“设计”视图中创建新表单。
- 向表单添加文本框或标签,然后键入要向用户显示的信息。
- 保存并关闭表单。
- 创建一个宏,然后将宏命名为AutoExec。
- 显示条件列。
在条件列中键入以下行:
CurrentProject.IsTrusted = False
- 在“操作”列中,单击“OpenForm。”
- 在“操作参数”下的“表单名称”框中,单击您在步骤1中创建的表单。
- 保存并关闭宏。
醇>当数据库打开时,AutoExec宏启动,然后测试 IsTrusted条件。如果Access 2007不信任该数据库, 宏将打开您在“OpenForm”操作中指定的表单 宏观。
宏编辑器在2010年有所不同,但我能够创建一个检查CurrentProject.IsTrusted = False
然后显示我的表单的Autoexec宏。您可以在表单上放置一条消息,告诉用户启用宏。