加入MS Access中的记录集和表VBA
答
我怀疑你想:
SELECT ID, field1, field2
FROM Table1 a
INNER JOIN (
SELECT ID, field3, field4
FROM Table2
WHERE field5 = 42) b
ON a.ID = b.ID
答
不能使用在记录联接,据我所知。而且,即使有可能,也将需要是太令人费解是有用的代码。)
我建议,而不是使用记录的加盟,从记录作临时表。
或者,使用您用于使记录集直接创建临时表的查询。然后使用SQL查询将第一个表与临时表连接起来。
假设您的数据库中有一张表表1和表A;
dim sqlString1 As String
dim sqlString2 As String
'the temporary table - this is what was in your recordset
sqlString1 = "SELECT field1, field2 FROM table1 INTO tempTable"
'the join of existing tableA with the tempTable
sqlString2 = "SELECT field1, field2, fieldA, fieldB INTO joinedTable"& _
"FROM table1"& _
"JOIN tableA ON field1 = fieldA"
CurrentDB.Execute sqlString1
CurrentDB.Execute sqlString2
请注意,我把JOIN
结果放在数据库中的另一个表中。或者,您可以将结果保存在记录集中。
您通常可以使用UNION来连接两个记录集(假设您的意思是追加而不是合并)如果这不是您想要的,那么更多的细节可能会有用。 – 2012-07-31 22:52:47