-PR-
締切済み

テーブル内のレコードを別のテーブルに移す良い方法を教えてください

  • すぐに回答を!
  • 質問No.29539
  • 閲覧数545
  • ありがとう数4
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 47% (20/42)

SQLサーバー7.0(ADO)とAccess97のVBAでアプリケーションの開発を行っております。SQLサーバー7.0(サーバー側)にあるテーブルの中身(レコード全件)をAccess97(ローカル)にあるテーブル(テーブル名とその中のフィールド名は全く同じだが中身はからっぽ)にまとめて移しかえる良い方法があれば教えてください。いま私はフォームオープンイベントでフィールドとレコードをループでまわして移しかえているのですが、テーブル数も多いため記述も長くなりますし、何よりもパフォーマンスが良くありません。テーブル単位で中身を別のテーブルに移す方法などがあれば是非教えてください。

(例)
SQLサーバー(ホスト側)---テーブル名「T_社員マスター」フィールド数100項目、レコード数500件


フォームオープン時にそのまま移しかえたい


Access97(端末側)-------テーブル名「T_社員マスター」フィールド数100項目、レコード数0件


よろしくお願いします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全3件)

  • 回答No.1
レベル13

ベストアンサー率 33% (427/1283)

 残念ながらその方法しかありません。
 バッチ方式でよければ、いくらか方法はあるのですが...ね。

 そもそもなんで、SQLのデータをAccessにコピーするのか解りません。アタッチでは、パフォーマンスが悪いから駄目なのでしょうか?

 バッチなら、SQLで常に決まった場所にCSV形式でデータを書出して、Access君はこのCSVを読込む用にすればいくらかは早くなります(多分)。


  • 回答No.2
レベル11

ベストアンサー率 49% (139/279)

SQLサーバーを良く知らないので、はずしているかもしれませんが、SQLでインサートしてはだめなのでしょうか?

通常、下記のようなSQLで、テーブルから抜いたデータを他のテーブルに追加することができます。

INSERT INTO 追加先のテーブル名
( カラム名1,カラム名2,....)
SELECT カラム名1,カラム名2,...
FROM 追加元のテーブル名
WHERE 抜き出し条件

ACCESSで言うと追加クエリーですね。
  • 回答No.3
レベル4

ベストアンサー率 100% (1/1)

私も同じ環境で逆のパターンをしています。(SQLServer→Access)その際使うのがSQLServerにあるDTS(データ変換サービス)です。高速にデータを変換してくれる上、パッケージ化しておけば、再度使いまわしができ、重宝しています。SQLServer→Accessの変換もできると思いますの1回試してみられたらどうでしょうか。
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ