将 Access 宏发布至 Web 数据库时使用正确的语法
原文发布于 2011 年 4 月 25 日(星期一)
宏在 Access 2010 中的作用要大于以往的各个版本。实际上,使用宏是在 Web 对象和您发布至 Access Services 的应用程序中自动执行任务的唯一方式。
造成困扰的因素之一就是要在宏中使用正确的语法。
首先,有两类宏参数,每一类所需要的语法不同。
第一类宏参数是字符串。例如 MessageBox 宏操作的 Message 参数。若要指定消息,请在参数中输入字符串,不要加引号:
但是,您还可以通过先输入等号再输入表达式在该参数中输入表达式。和所有的表达式一样,字符串需要使用引号括起来:
另一类参数则以表达式 的形式声明。此类型的一个示例就是 SetFilter 宏操作的 WhereCondition 参数。在宏设计器中,这些参数在参数文本框外部的前面显示一个等号,以提醒用户该参数必须使用表达式的形式进行表示。
使用表达式参数时的重要注意事项
什么是“双表达式”以及为什么需要注意?
当一个表达式嵌套在另一个表达式中时即会发生“双表达式”或“双计算式”。在表达式参数中,如果您在文本框中输入了等号 (=),则表达式会被计算两次。一次是针对您的等号,而另一次则是针对参数文本框外部前面所显示的等号。
为什么要注意?因为您在 Web 数据库宏中使用表达式参数时,语法必须正确,否则每次运行宏时都会发生运行时错误。双表达式在 Access Services 应用程序中不受支持。如果您有某个宏参数导致产生双表达式,则会在每次运行宏时发生运行时错误。
总而言之,如果您在 Web 数据库宏中使用表达式参数,请勿在表达式的开头输入等号。
总结 ...
如果您在客户端数据库宏中使用表达式参数,则不应该在表达式的开头输入等号,除非您有特别的需要必须这么做。注意: 双计算式在每次运行宏时仅产生很少的性能损失。
不管数据库是何种类型,表达式参数中的所有字符串都必须用引号括起来。
这是一篇本地化的博客文章。请访问 Using the right syntax when publishing Access macros to Web databases 以查看原文