![e85a9f218c1633c3b378bca843cf9c48.png](https://i-blog.csdnimg.cn/blog_migrate/ec5fe997d9e63b6ad7fbc885ae6e002c.jpeg)
学习资源:《Excel VBA从入门到进阶》第73集 by兰色幻想
之前讲的都是单表查询,这节来学习多表查询。
首先做的还是创建类模块,把打开数据库、复制筛选后的数据到单元格区域和关闭数据库的代码,以便后续可直接调用和增加代码可读性。
Sub 执行筛选(sq, Rg As String) 'sq是SQL语句,Rg是搜索结果粘贴的位置
Dim conn As New Connection
With ActiveSheet
.Range(Rg).Resize(100, 7) = ""
conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName
.Range(Rg).CopyFromRecordset conn.Execute(sq)
End With
conn.Close
Set conn = Nothing
End Sub
下面开始正式内容:
一、多个select查询结果合并
Union all
例1:合并下面两个表格的A-C列。
![c3778a17cf9d0daac88c7cb75226e1a2.png](https://i-blog.csdnimg.cn/blog_migrate/b8152a4a7ea6173729fcd147883b9167.png)