微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

您可以使用另一个数据库中的查询来压缩一个Access数据库吗

如何解决您可以使用另一个数据库中的查询来压缩一个Access数据库吗

我想通过DATABASE1中的查询来压缩DATABASE2。

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

有人知道这是否可能吗?

为32位Office 365 MSO(16.0 ....)使用MS Access

解决方法

是的,您可以这样做。创建此功能:

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

然后使用数据库2中的表运行这样的查询:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。