批量更改为DB中的所有查询

时间:2015-08-17 19:34:44

标签: ms-access

我有一个Access数据库,其中包含许多特定于年份的表名(不是我的设计)。我想将数据库复制到新数据库并将所有表更新为具有相同名称但从“xxx_2007”更新为“xxx_2008”,并将所有引用“2007”的查询更新为引用“2008”。这些引用可能在表名中,也可能是查询中的选择条件。

我现在使用的方法是打开每个查询,将SQL复制到记事本,将“2007”替换为“2008”,然后将其复制回查询的SQL视图。这是可行的,但很乏味。

有关更新所有内容的程序化方法的任何建议吗?

2 个答案:

答案 0 :(得分:1)

戈德说的话。

但是,如果您真的需要快速入侵立即,您可以循环QueryDefs集合:

<?xml version="1.0" encoding="UTF-8" standalone="ye
s"?><entry xmlns="http://purl.org/atom/ns#"><id>1750</id><title>....

与表名的Dim DB As Database Dim QD As QueryDef Dim S As String Set DB = CurrentDb For Each QD In DB.QueryDefs S = QD.SQL If InStr(S, "2007") > 0 Then S = Replace(S, "2007", "2008") QD.SQL = S End If Next QD 类似,此处您将替换TableDefs

答案 1 :(得分:0)

我也推荐戈德所说的。如果没有,只需使用Rick Fisher的查找和替换http://www.rickworld.com/products.html