• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:他のMDBのテーブルに追加したい)

他のMDBのテーブルに追加したい

このQ&Aのポイント
  • Access2010のADOを使用して、他のMDBのテーブルにデータを追加する方法を教えてください。
  • リンクすることで異なるテーブル名のテーブルにはデータを追加できますが、同じテーブル名の場合はどのようにすればよいのでしょうか。
  • ご指導の程、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

以下でどうなりますか SQL = "INSERT INTO テーブルA( 勤務時間 ) IN '★★' " _    & "SELECT 勤務時間 FROM テーブルA;" ※ ★★ 部分は相手のフルパスに書き換えます。 相手が E:\Hoge\aaa.accdb なら SQL = "INSERT INTO テーブルA( 勤務時間 ) IN 'E:\Hoge\aaa.accdb' " _    & "SELECT 勤務時間 FROM テーブルA;" もしくは SQL = "INSERT INTO [;DATABASE=E:\Hoge\aaa.accdb].[テーブルA]( 勤務時間 ) " _    & "SELECT 勤務時間 FROM テーブルA;" > 違うテーブル名でしたら、リンクをすれば済む話とは思いますが リンクする時に名前を変えておけばよいですね 以下は、リンクテーブル「T_Tmp」を作り直す例?になるか? ( ADO ではなく DAO での例ですけど・・・) Public Sub Samp1()   Dim db As DAO.Database   Dim tdf As DAO.TableDef   Const sFile As String = ";DATABASE=E:\Hoge\aaa.accdb"   On Error Resume Next   Set db = CurrentDb   db.TableDefs.Delete "T_Tmp"   Set tdf = db.CreateTableDef("T_Tmp")   With tdf     .Connect = sFile     .SourceTableName = "テーブルA"   End With   db.TableDefs.Append tdf   db.TableDefs.Refresh   Set tdf = Nothing   Set db = Nothing   RefreshDatabaseWindow End Sub ADO なら、以下が参考になるかも リンクされたテーブルを作成する http://msdn.microsoft.com/ja-jp/library/cc376276.aspx

sato1221
質問者

お礼

こんにちはー とっても詳しいご回答ありがとうございましたッ! 助かりました。 SQL = "INSERT INTO テーブルA( 勤務時間 ) IN 'E:\Hoge\aaa.accdb' " _    & "SELECT 勤務時間 FROM テーブルA;" の方法で解決しました。

関連するQ&A