VBA可以通过ADO对象实现SQL的联合查询功能。下面是一个示例代码:

Sub UnionQuery()
    Dim conn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim strSQL As String
    
    '连接数据库
    conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\username\Documents\Database.accdb"
    conn.Open
    
    '执行联合查询
    strSQL = "SELECT column1, column2 FROM table1 UNION SELECT column1, column2 FROM table2"
    rs.Open strSQL, conn
    
    '将结果输出到Excel
    Range("A1").CopyFromRecordset rs
    
    '关闭连接
    rs.Close
    conn.Close
End Sub

在上面的示例代码中,我们首先创建了一个ADODB.Connection对象,用于连接数据库。然后执行联合查询语句,将结果存储在ADODB.Recordset对象中。最后将结果输出到Excel中,并关闭连接。

需要注意的是,联合查询语句中的两个SELECT语句需要具有相同的列数和列类型。如果不满足这个条件,会导致查询失败


原文地址: https://www.cveoy.top/t/topic/cvKM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录