プロが教える店舗&オフィスのセキュリティ対策術

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

gooドクター

A 回答 (1件)

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



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



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

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

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

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

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

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

お礼日時:2014/07/11 18:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング