Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


65957 / 76734 ←次へ | 前へ→

【15343】外部データの取り込みについてお教え願います!
質問  まさくん  - 04/6/22(火) 0:49 -

引用なし
パスワード
   こんばんは、お教え願います。

「DBからデータを取得→エクセルシートに貼り付け」と、いう処理です。
まず、「外部データの取り込み」を下記のマクロにより行いました。
(尚、データ取得1回につき10種類のDBより読み込むため、下記のようなマクロを10種類連続して記述しています)

With ActiveSheet.QueryTables.Add(Connection:= _
     "OLEDB;Provider=MSDAORA.1;Password=pass;User ID=id;Data
     Source=ORADB", _
     Destination:=Range("A5"))
     .CommandType = xlCmdSql
     .CommandText = Array( _
     "SELECT * FROM OPC.MAKI_PRT_TBL ORDER BY SHOZO_NO ASC,
     SIAGESIJI_NO ASC, LOT_NO ASC,KOMAKI_REEL_NO ASC")
     .Name = "+新しいデータソースへの接続"
     .FieldNames = True
     .RowNumbers = False
     .FillAdjacentFormulas = False
     .PreserveFormatting = True
     .RefreshOnFileOpen = False
     .BackgroundQuery = True
     .RefreshStyle = xlInsertDeleteCells
     .SavePassword = False
     .SaveData = True
     .AdjustColumnWidth = True
     .RefreshPeriod = 0
     .PreserveColumnInfo = True
     .SourceConnectionFile = _
     "C:\Documents and Settings\Administrator\My Documents\My Data
     Sources\ORADB_MAKI_PRT_TBL.odc"
     '.Refresh BackgroundQuery:=True
     .Refresh BackgroundQuery:=False
   End With

ここで、データを取得しシートに貼り付けられたのですが、DBの方にconnectしっぱなしなのです。データを取得しシートに貼り付けたらdisconnectする方法とかあればお教え願います。
現状、エクセルを終了しないとconnectしっぱなしです。。。
(DB制約により、connectしっぱなしだと、他の端末からDBが参照できないのです。。。何せ1回の取得につき10回connectするので困っています)
0 hits

【15343】外部データの取り込みについてお教え願います! まさくん 04/6/22(火) 0:49 質問
【15344】Re:外部データの取り込みについてお教え願... ichinose 04/6/22(火) 1:06 発言
【15547】Re:外部データの取り込みについてお教え願... まさくん 04/6/29(火) 0:28 お礼

65957 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free