【问题标题】:Can you compact one Access database using a query in another database您可以使用另一个数据库中的查询压缩一个 Access 数据库吗
【发布时间】:2021-02-15 15:15:59
【问题描述】:

我想从 DATABASE1 中的查询压缩 DATABASE2。

情况:我有 2 个 Access 数据库,一个包含所有查询/逻辑,一个包含从第一个创建的表。在从 DATABASE1 写入 DATABASE2 中的表之前,我使用查询来删除表的内容。由于表很大,我还想在删除内容的查询运行后压缩数据库(理想情况下,我想将查询嵌套到一个中)。

有人知道这是否可行吗?

将 MS Access 用于 Office 365 MSO (16.0....) 32 位

【问题讨论】:

标签: sql ms-access compact-database


【解决方案1】:

是的,你可以这样做。创建这个函数:

Public Function CompactDatabase(ByVal Path As String)

    Dim SrcName As String
    Dim DstName As String
    Dim Success As Boolean
    
    On Error GoTo Exit_CompactDatabase
    
    SrcName = Path
    DstName = Replace(Path, ".accdb", ".tmpdb")
    
    DBEngine.CompactDatabase SrcName, DstName
    Kill SrcName
    Name DstName As SrcName
    Success = True
    
    CompactDatabase = Success
    
Exit_CompactDatabase:

End Function

然后使用 Database2 中的 not 表运行这样的查询:

SELECT Top 1 CompactDatabase("d:\path\Database2.accdb") AS Success
FROM SomeTable;

【讨论】:

  • 太棒了!感谢 Gustav 的回复,今晚会这样做。
猜你喜欢
  • 1970-01-01
  • 2023-02-09
  • 2010-12-29
  • 1970-01-01
  • 2017-09-30
  • 1970-01-01
  • 2016-09-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多