具有动态from语句的MS Access查询

时间:2010-08-16 16:54:32

标签: sql ms-access

好的,这让我感到烦恼。我在from子句中使用in语句创建了一个查询。我要做的是从语句中填充一个全局变量。实施例

Select *
Form query1 in <Global Variable filename>

我发生的事情是链接到一个包含数百个链接表和查询的文件。我的数据库只有几个选择查询和链接表到不同的数据库。我不想重新构建所有查询,链接表是我的数据库。问题是所有链接的文件每月更改一次名称。我只想读取一个包含数据库当前名称的文本文件,这样每次数据库名称更改时我都不必一直更改查询。这也是一个查询,因为我有其他使用外部链接查询的查询。

2 个答案:

答案 0 :(得分:1)

我有一个建议,但它很漂亮。

使用VBA调用即时重写查询

Private Sub update_qtest()
Dim db As Database
Dim qd As QueryDef
    Set db = CurrentDb
    Set qd = db.QueryDefs("qtest")
    qd.SQL = "SELECT * from query1 in " & g_file_name
End Sub

正如我所说的那样,它很蹩脚,但我认为没有办法将from子句作为参数传递。

答案 1 :(得分:1)

另一种方法是每月使用相同的文件名,这样您就不必在Access应用程序中更改任何内容。您可以轻松地将文件代码复制到上一个副本顶部的标准名称(当然,您必须在复制之前删除它),这将保留历史记录。