ACECESS vba使用查询获取两张表的字段
时间: 2024-09-24 22:13:48 浏览: 24
在Access VBA中,如果你想要通过查询获取来自两张不同表的字段,你可以使用SQL SELECT语句结合联合查询(UNION)来实现。假设你有Table1和Table2两个表,它们都有共同的字段比如ID,但是其他字段不同。
下面是一个基本示例:
```vba
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
' 创建连接对象
Set conn = CurrentDb.OpenDatabase("YourDatabase.accdb") ' 替换为你数据库的实际路径
' 构造SQL查询
Dim sql As String
sql = "SELECT FieldName FROM Table1" & _
"UNION ALL" & _
"SELECT FieldName FROM Table2"
' 执行查询并创建Recordset
Set rs = ExecuteQuery(conn, sql)
' 现在rs记录集包含了两个表中Fieldname字段的所有数据
Do While Not rs.EOF
Debug.Print rs.Fields("FieldName").Value ' 输出字段值
rs.MoveNext
Loop
' 关闭记录集和连接
rs.Close
conn.Close
Sub ExecuteQuery(ByVal conn As ADODB.Connection, ByVal query As String)
Dim cmd As New ADODB.Command
Set cmd.ActiveConnection = conn
cmd.CommandText = query
Set rs = cmd.Execute
End Sub
```
在这个例子中,你需要将`FieldName`替换为你实际需要合并的字段名,并处理可能出现的数据差异和结果排序。