• ベストアンサー

エクセルからアクセスへADO 「_be.mdb」に追加するべき?

リンクテーブルでtest.mdbとtest_be.mdbに分割した場合 エクセルからアクセスへADOでテ゛ータを追加する場合、 「test.mdb」と「test_be.mdb」のどちらに追加すればいいのでしょうか? 「test_be.mdb」はリンクテーブルとして「test.mdb」のテーブルのみ保存されています。

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

私自身はADOは使っていないので、誤解があるかもしれませんが・・・(汗) > 「test.mdb」と「test_be.mdb」のどちらに追加すればいいのでしょうか? 「テーブルのインポート」ではなく、「既存のテーブルへのレコード追加」時に、   a)バックエンド側(text_be.mdb)のテーブルに直接追加するべきか、   b)フロントエンド側(test.mdb)のリンクテーブルを通して追加するべきか、 ということでよろしいでしょうか。 でしたら、処理速度の観点から、前者(バックエンドへの直接追加)とした方が よいと思います。 リンクテーブルと、ADOではなくDAO(のはず)でのRecordSetによる処理とで 速度を比較した例ですが: http://www.tsware.jp/labo/labo_15.htm 一方、処理速度よりも処理の簡便さを優先するなら、リンクテーブルを使用した 方がよい、ということになるかと思います。 (といっても、追加対象レコードの保存先が、test.mdb内のテーブルではなく  Excelファイルということになると、(Excelファイルまでリンクテーブルに  していれば別として)結局「追加クエリで処理」というわけにもいかないので、  今回の件ではメリットにはならないかもしれませんが(汗)) なお、「テーブルのインポート」だった場合は、恐らくExcelのデータは 「何らかのマスタテーブルとなるデータ」というよりは、「既存のマスタ テーブルの一括更新用データ」というのが一般的でしょうから、 フロントエンド側に取り込むのがよいかと思います。 (例えば「ネットワークにバックエンドを設置して複数ユーザーで共有」という  場合、作業用の一時データとなるものまでバックエンドに保存すると、  その分までネットワークを介して参照する必要が生じ、処理速度の低下を  招くと推測されるため)

noname#150256
質問者

お礼

いろいろ調べてくださってありがとうございます!!! よく読んでみます!