VBAを介してテーブルをレコードセットに結合しようとしています。これは可能ですか?基本的に2つのテーブルを結合したかったのですが、結合する前に、テーブルの1つをさらにフィルターで絞り込む必要がありました。
3631 次
3 に答える
2
私はあなたが欲しいと思う:
SELECT ID, field1, field2
FROM Table1 a
INNER JOIN (
SELECT ID, field3, field4
FROM Table2
WHERE field5 = 42 ) b
ON a.ID = b.ID
于 2012-08-01T11:06:55.930 に答える
2
私の知る限り、レコードセットで結合を使用することはできません。たとえそれが可能であったとしても、複雑すぎて役に立たないコードが必要になります。)
結合でレコードセットを使用する代わりに、レコードセットから一時テーブルを作成することをお勧めします。
または、レコードセットの作成に使用したクエリを使用して、一時テーブルを直接作成します。次に、SQL クエリを使用して、最初のテーブルを一時テーブルに結合します。
データベースにテーブルtable1とtableAがあるとします。
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
結果をデータベースの別のテーブルに入れたことに注意してください。または、結果をレコードセットに保存することもできます。
于 2015-11-05T15:52:02.990 に答える