プロが教えるわが家の防犯対策術!

A.MDBからRS_Aというレコードセット、B.MDBからRS_Bというレコードセットを作成し、このふたつのレコードセットを一つにしたいと思います。


これは可能でしょうか?

どのような方法を採ればよろしいでしょうか?

とりあえずはDAOで予定しています。


よろしくお願いします。

A 回答 (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#"
です。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

一つのプロシージャーの中でふたつのレコードセットを結合は無理ってことなのでしょうか?

ご回答の内容はアクションクエリで第3のmdbに書き出すってことですよね?

書き漏らしていましたが、当然、レコードセットの構造は2つとも同じです。

お礼日時:2006/09/14 00:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!