Date: Sat, 23 Feb 2002 11:32:26 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です、こんにちは
-----Original Message-----
From: Nobuhiro Takatsuki [mailto:who@sub.example.jp]
Sent: Friday, February 22, 2002 4:22 AM
To: who@example.ne.jp
Subject: [ml-msde-beg:00104] Re:Excel から MSDE のテーブルデータをアップ
デート
>しかし,ここで問題がありそうです
>クライアントのExcelファイルが複数あり,同じような処理を行うのですが,
>(パラメータが違うので,更新するレコードが異なる)
>サーバ側でリンクテーブルを設定するExcelのファイルが特定できるので
>しょうか?
>処理ごとに,リンクサーバの設定を変えるようにできるのでしょうか?
>今の私では,思いつきません。
エクセルの1個のブックファイルが、リンクサーバーという扱いになります。
各シートが、テーブルになります。
エクセルのシートへのリンク
http://www.sqlpassj.org/begin/series/s04/0409.asp
(上記の、図33を参照)
複数のブックファイルを扱う場合は、サーバー側でその都度ブックファイルの
パスを変えないといけません。
>私の考えた方法は
>あらかじめデータの更新用のテーブルを用意しておく(レコードは空)
>VBAから,そのテーブルをソースとして,レコードセットをオープンし,
>シート上の更新データをレコードに追加する
>レコードセットを閉じる
>VBAから,ストアドプロシージャを実行し,
>更新用テーブルを元に,更新目的のテーブルのレコードを更新する
>そして,更新用のテーブルのデータをすべて削除する
更新用のテーブルを準備するのであれば、直接データベースのテーブル
のレコードを書き換えてもいいのではないでしょうか?
結局のところ、レコード単位の操作を行なうプログラムを作るわけですから
更新用テーブルの存在意義が、今ひとつ、よくわかりません。
メリットを言えば、更新用テーブルから元テーブルに対して、ストアドプロ
シージャによって1発で更新が行なわれるので、トラブルが少なく信頼性
が確保できるという利点はありますが、全体の作業時間の短縮を目的に
するのであれば、要する時間は増えるかもしれません。
(更新用テーブルにレコードを挿入する時間と、直接レコードを更新する
時間を比較した場合)。
------------------------------------
(株)日本技術ソフト開発
堀川 明 (Akira Horikawa)
02月23日(土曜日) 11時31分記
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|