在 MS Access 2013 中不在对象名称中使用空格是否有任何编程原因?

Is there any programmatic reason not to use spaces in object names in MS Access 2013?

在我看来,大多数 MS Access 开发人员都强烈提倡严格排除使用空格的对象名称。直到我创建的数据库完善后我才知道这一点,随后我几乎在每个对象名称(表、表单、查询、组合框、命令按钮等)中都有空格。也就是说,除了在编写代码时必须包围所有内容 [In Brackets] 之外,我没有遇到任何与它们的使用相关的问题或挫折。是否有一些程序上的原因应该永远不会使用我缺少的空间?

Is there some programmatic reason one should never use spaces that I am missing?

不是真的。许多开发人员避免使用此类名称(以及 Access SQL 中 reserved words 的名称)主要是为了方便,在创建新数据库时这样做仍然是个不错的主意。但是,如果您的数据库已经创建并部署,那么您可以简单地继续使用 [square brackets] 来分隔对象名称。

(我的猜测是 "names with spaces" 最直言不讳的反对者多年前就开始厌恶这些名字,当时他们 可能 会引起严重的头痛,如果你碰巧结束了使用错误处理它们的工具。但是,大多数错误已被解决;甚至 Microsoft 的 "Northwind" Access 示例数据库也使用 table 包含空格的名称。)

程序化。编号

但空间肯定会导致问题并增加维护成本。我认为长期不在数据库对象名称中使用空格是一种最佳实践。