【发布时间】:2014-04-15 02:44:50
【问题描述】:
我有大量的访问数据库需要在每个数据库中进行相同的表设计更改(并创建一些新表)。有什么方法可以获取我最近的(正确设计的)数据库,导出设计属性,然后将它们导入到其他每个数据库,覆盖更改并根据需要创建任何新字段、表等?
我的研究只让我找到了数据库记录器,它似乎只在我手动更新属性的情况下才有用。我也知道我可以通过手动为每种情况指定“仅结构”来复制每个表,但这将是一项相当艰巨的任务,我不确定使用这种方法究竟会复制什么。
【问题讨论】:
我有大量的访问数据库需要在每个数据库中进行相同的表设计更改(并创建一些新表)。有什么方法可以获取我最近的(正确设计的)数据库,导出设计属性,然后将它们导入到其他每个数据库,覆盖更改并根据需要创建任何新字段、表等?
我的研究只让我找到了数据库记录器,它似乎只在我手动更新属性的情况下才有用。我也知道我可以通过手动为每种情况指定“仅结构”来复制每个表,但这将是一项相当艰巨的任务,我不确定使用这种方法究竟会复制什么。
【问题讨论】:
让我看看我有没有大纲...
Open Proper.mdb
For each OtherMDB in Folder1
Open OtherMDB
for each ProperTable in Proper.mdb
If ProperTable is absent from OtherMDB
Add ProperTable to OtherMDB
Else
For each Field in ProperTable.Fields
If ProperField is absent from OtherTable.Fields
Add Field to OtherTable
Elseif ' is this a possibility?? wanting to change field type?
ProperField.Type <> OtherTable.Field("xx").Type Then
Change Field.Type
endif
Next Field
Endif
Next Table
Close OtherMDB
Next MDB
【讨论】:
我找到了一个名为DBWeigher 的实用程序,它能够分析和比较两个访问数据库,并自动生成必要的VBcode 来更新两者之间的更改。从这里我快速手动完成了更改,并且能够在通过 DBConsole 运行它们之前亲眼看到将进行哪些更改。
对于任何尝试更新旧访问数据库的人(尤其是当它们处于不同阶段并且可能存在一些差异时),我不建议检查这个轻量级实用程序。
【讨论】: