こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel実行時エラー[80004005]について

ExcelのVBAにてSQLのSELECT文を実行し、取得したデータを一覧表示する仕組みを作っています。
同じプログラムを使用者する者7名の内、1名のみ以下のエラーが発生しています。
どのように対応すればよいか、ご教示ください。

環境 Excel2010
状況 SELECTの実行時
「実行時エラー[80004005]
[Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。」

実行ソース
Private Sub exeSelect(sheetNm as string ,sqlSt as String)

Dim i As Integer
Dim j As Integer
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim bookNm As String

bookNm = ThisWorkbook.FullName

Set cn = New ADODB.Connection
cn.Provider = "MSDASQL"

cn.ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & "DBQ=" & bookNm & "; ReadOnly=False;"

cn.Open←ここでエラー

Set rs = New ADODB.Recordset
rs.Open sqlSt, cn, adOpenStatic

j = START_ROW

Do Until rs.EOF

For i = 0 To rs.Fields.Count - 1

Worksheets(sheetNm).Cells(j, i + 1).Value = rs(i).Value

Next

j = j + 1
rs.MoveNext

Loop

rs.Close
cn.Close

End Sub

投稿日時 - 2014-07-11 15:37:02

QNo.8673886

困ってます

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

>[Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバーが見つかりません。」

上記より、ODBC系のエラーというのはわかります



>同じプログラムを使用者する者7名の内、1名のみ以下のエラーが発生しています。

という事を考えれば、その人のPCの問題と考えられます(ほぼ確定)
ので、問題となっているPCにて、ODBC設定を見る必要があります

コントロールパネル - 管理ツール - データソース(ODBC)を開き
正常PCと見比べてください
違いがない場合、一度削除して作り直すことで直る事も有
※削除より今使っているODBCのデータソース名を変えておいて、作り直す

上記でだめなら
Microsoft Excel Driverが壊れているものと思われますので
Excel自体を導入し直せば大抵は直ります。

投稿日時 - 2014-07-11 16:48:50

お礼

早速のご回答有難うございます。
ODBC設定に不備は見当たらなく、作り直してみましたが、状況変わりませんでした。

Excelを導入し直してみます。

投稿日時 - 2014-07-11 18:07:53

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問