我有一个实时数据库的备份(ACCDB格式的Access数据库的副本),我已经在其中工作,为现有表和全新表添加了新字段。
如何获取这些更改并在运行的数据库中快速应用?
在MS SQL Server中,我右键单击>脚本表格>更改为,保存查询并在任何我想要的地方运行它,是否有一种像在Access数据库中那样简单的方法?
详细说明:
它是在Access 2007上创建的ACCDB MS-Access数据库,在Access 2007中进行复制和编辑,我需要在其他数据库上运行一些“更改”脚本,以便它具有我创建的所有新列和表在我的副本上。
答案 0 :(得分:0)
您可以在Access中运行DDL。我认为在这种情况下使用VBA运行SQL是最容易的。
答案 1 :(得分:0)
对于新表,只需将它们从一个数据库导入另一个数据库即可。在功能区的“外部数据”部分中,选择“导入”上方的“访问”图标。该选择启动导入向导,以允许您选择要导入的对象。您可以选择仅导入表结构,也可以导入结构和数据。
Remou是正确的,您可以使用DDL ALTER TABLE语句添加新列。但是,DDL可能不支持新列所需的所有功能。如果您不仅需要添加空列,还需要来自这些新列的任何数据,您可能需要运行UPDATE语句以将其添加到新列中。
就“脚本表格为”而言,看看OmBelt的Export Table to SQL tool for MS Access能否达到你想要的效果。
编辑:Allen Browne有示例ALTER TABLE语句。请参阅CreateFieldDDL和以下内容,CreateFieldDDL2。
答案 2 :(得分:0)
有一个名为DbWeigher的产品可以比较Access数据库模式并同步它们。你可以免费试用(30天)。 DbWeigher将编写所有模式差异的脚本并将其写为DDL。该脚本是彻底的,包括关系,索引,验证规则,允许零长度等。
来自同一开发人员的免费工具DBWConsole将允许您针对任何Access数据库执行DDL脚本。如果您编写了自己的DDL脚本,这将是将更改应用于实时数据库的简便方法。它甚至可以处理一些我不知道如何在VBA中处理的DDL(所以它必须是魔术)。如果您下载了DBWeigher的试用版,则包含DBWConsole。请注意,如果有人打开了表,则无法对共享Access数据库中的表进行架构更改。
DbWeigher在两个文件之间创建所有差异的脚本。如果您只想进行一些更改,手动解析可能会很多。我为DbWeigher脚本文件构建了一个解析器,因此可以按表过滤它们,只提取我想要的部分。我联系了DbWeigher的作者,但从未收到回复。可以肯定地说我与这个开发者没有任何关系。