• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL ServerとACCESSとのデータのやり取りについて)

SQL ServerとACCESSとのデータのやり取りについて

このQ&Aのポイント
  • SQL ServerとAccessのデータのやり取りについて検討しています。データをSQL Serverに置く安全性を考慮し、Access側にも同じ構造のテーブルを用意し、データの編集・検索表示などをAccessで行います。更新したデータをSQL Serverの該当テーブルに書き込む方法として、レコードを比較し、SQL Server側にないレコードをInsert文で追加します。
  • 質問として、複数主キーのテーブルの場合に処理が遅くなるか、またはエラーになるかどうか、そして、SQL Serverにデータを置いてAccessでのデータ編集・検索表示に最適な方法についてアドバイスを求めています。
  • HPを探し回っても解決策が見つからず苦戦しています。似たような経験のある方からのアドバイスをお待ちしています。

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

  • ベストアンサー
  • uzukichi
  • ベストアンサー率53% (8/15)
回答No.2

前職でSQLとAccessを連携させてシステムを構築していました。 2年前なので現在はもっと効率的な方法もあるのかもしれませんが OJTで前述のような方法を学んでいました。 ただ私が後輩を指導する際には http://www2.famille.ne.jp/~akio1998/l_msac.html であったり 書籍は谷尻かおりさんの書かれた物がに役立ってはいましたので 活用してみてください。 一番いいのは、開発者用サイト(SQL 質問 掲示板などで検索すると大体でてきますが) にはQ&A掲示板があり、そこであればより多くの専門家が閲覧して 答えてくれるのでそこで得た答えを参考に試行錯誤を一度してみるのがスキルをつけるのにてっとり早いと思います。

221EG6
質問者

お礼

いままで見つけることのできなかったサイトをたくさん教えて頂きまして、とても参考になりました。ありがとうございました。こちらのQ&A掲示板をチェックして色々試してみたいと思います。書籍はやはり谷尻かおりさんのが評判良いですね。私も1冊参考にさせてもらっています。

その他の回答 (1)

  • uzukichi
  • ベストアンサー率53% (8/15)
回答No.1

SQL側のテーブルはリンクされてMdb上には存在すると考えてよろしいでしょうか? 複数主キーのテーブルの場合に限らず、そのようなINSERTを行う場合はサブクエリーではなく SQL側  Aテーブル  主キー A1 A2 Access側 Bテーブル  主キー B1 B2 だとすると INSERT INTO Aテーブル(A1,A2,A3,A4) SELECT B.B1,B.B2,B.B3,B.B4 FROM Bテーブル B LEFT JOIN Aテーブル X ON B.B1 = X.A1 AND B.B2 = X.A2 WHERE X.A1 IS NULL とすればSELECT文で持ってこれるデータはAテーブルになくBテーブルに存在するデータのみとなり そのデータをAテーブルにINSERTできるかと思いますが。 もし見当違いでしたらすみません。

221EG6
質問者

補足

わかりにくい質問ながらご回答頂きましてありがとうございます。 リンクテーブルは使わない様にと指示(遅くなる為)されていまして、構造を同じくするワークテーブルを作成しています。 アドバイス頂いた複数主キーテーブルに対して(SELECT文で抽出)の方法で処理時間がどのくらい早くなるか試してみたいと思います。 ご経験者でお詳しい様ですが、こういった仕組みについてどのように勉強されているのでしょうか?HPや書籍でお勧めのものがありましたら読んでみたいのですが。

関連するQ&A