• 締切済み

レコードセットの結合

A.MDBからRS_Aというレコードセット、B.MDBからRS_Bというレコードセットを作成し、このふたつのレコードセットを一つにしたいと思います。 これは可能でしょうか? どのような方法を採ればよろしいでしょうか? とりあえずはDAOで予定しています。 よろしくお願いします。

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

例えばC.mdb で結合するとして Sub test() Dim strSql As String 'テーブル構造だけをインポート DoCmd.TransferDatabase acImport, "Microsoft Access", _   "c:\data\A.mdb", acTable, "元テーブル名", "新テーブル名", True 'A.mdb から strSql = "insert into 新テーブル名 " & _   " (フィールド1,フィールド2,フィールド3)" & _   " select フィールド1,フィールド2,フィールド3 FROM 元テーブル名" & _   " in ''[ms access; database=c:\data\A.mdb;]" & _   " where フィールド1 =10" CurrentDb.Execute strSql, dbFailOnError 'B.mdbから strSql = "insert into 新テーブル名 " & _   " (フィールド1,フィールド2,フィールド3)" & _   " select フィールド1,フィールド2,フィールド3 FROM 元テーブル名" & _   " in ''[ms access; database=c:\data\B.mdb;]" & _   " where フィールド1 =10" CurrentDb.Execute strSql, dbFailOnError End Sub のようにSQL文で処理したほうがレコードセットを回すよりも速いと思います。 where 句の所は   " where フィールド1数値型 =10"   " where フィールド1文字型 ='10'"   " where フィールド1日付型 =#2006/09/13#" です。

urourojp
質問者

お礼

ご回答ありがとうございます。 一つのプロシージャーの中でふたつのレコードセットを結合は無理ってことなのでしょうか? ご回答の内容はアクションクエリで第3のmdbに書き出すってことですよね? 書き漏らしていましたが、当然、レコードセットの構造は2つとも同じです。

関連するQ&A