MS Access 中的临时表

Posted

技术标签:

【中文标题】MS Access 中的临时表【英文标题】:Temp Tables in MS Access 【发布时间】:2014-10-22 20:37:11 【问题描述】:

我们可以在 MS Access 2013 中为查询构建临时表吗?还是所有事情都必须在嵌套查询中完成。

例如:

Select
FacilityID
,ActivityID
ClientID
Into
#Clients
From
Activities

然后 做类似的事情

Select
FacilityID
,Count(ClientID) Over (partition By ActivityID) as ActivityCount
Into 
#Final
From
#Clients

这已经被简化了——但你应该有一个想法。

谢谢,

【问题讨论】:

【参考方案1】:

是的,如果您从 VBA 代码运行查询,这在 Access 中是可能的。您不能使用像 Update 或 Make Table 这样的操作查询作为另一个查询的行源,因此您必须首先构建源表。

Dim db as DAO.Database
Set db = CurrentDb()
db.Execute _
        "SELECT FacilityID, ActivityID, ClientID " & _
        "INTO Clients " & _
        "FROM Activities;", _
        dbFailOnError
db.execute _
        "SELECT FacilityID, ... " & _
        "INTO Final " & _
        "FROM Clients;", _
        dbFailOnError

COUNT ... OVER (PARTITION BY ...) 代码已被删除,以防止 Access SQL 支持该构造的错误印象。它不支持。)

【讨论】:

以上是关于MS Access 中的临时表的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 数据库 (2010) 如何从查询设计器创建临时表/过程/视图

在 MS access passthru 中创建 sql server 临时表

MS Access 中文件的导入循环:如何在每个文件上运行宏并替换临时表的内容

MS Access SQL:使用另一个表中的Sum更新连接查询

查看或临时表 - 在 MS SQL Server 中使用哪个?

使用 Access 作为 SQL Server 的前端并拥有临时表