[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ISAMドライバ』(FUJI)
お世話になります。 エクセルからパスワード付きアクセスデータをシートに読み込みたくて 下記のように組んでみたのですが、実行すると「インストール可能なISAMドライバが見つかりませんでした」とエラーが出ます。
まだまだ初心者で、勉強中なもので。。 どこが悪いのか教えて頂けると助かります。 よろしくお願いいたします。m(__)m
Sub 月データ読込() Dim adoCON As New ADODB.Connection Dim adoRS As New ADODB.Recordset Dim strSQL As String Dim odbdDB As Variant Dim wSheetName As Variant Dim i As Integer
'カレントディレクトリのデータベースパスを取得 odbdDB = ActiveWorkbook.Path & "実施台帳DB.mdb"
adoCON.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=実施台帳DB.mdb;ACE OLEDB:Database Password=hik@w@;" adoCON.Open
'データベースに接続する
'DB接続用SQL strSQL = "SELECT T_実施台帳.* FROM T_実施台帳 ORDER BY T_実施台帳.ID;"
'レコードセットを開く adoRS.Open strSQL, adoCON, adOpenDynamic
'アクティブなシート名を取得 wSheetName = ActiveSheet.Name
'スタート行をセット i = 85
'テーブルの読み込み Do Until adoRS.EOF With Worksheets(wSheetName) .Cells(i, 1).Value = adoRS!F_日付 .Cells(i, 2).Value = adoRS!F_コード1 .Cells(i, 3).Value = adoRS!F_コード2 .Cells(i, 4).Value = adoRS!F_コード3 .Cells(i, 5).Value = adoRS!F_J1 .Cells(i, 6).Value = adoRS!F_K .Cells(i, 7).Value = adoRS!F_18 .Cells(i, 8).Value = adoRS!F_20 .Cells(i, 9).Value = adoRS!F_25 .Cells(i, 10).Value = adoRS!F_T .Cells(i, 11).Value = adoRS!F_J2 .Cells(i, 12).Value = adoRS!F_A .Cells(i, 13).Value = adoRS!F_Y .Cells(i, 14).Value = adoRS!F_P End With i = i + 1 adoRS.MoveNext Loop
'クローズ処理 adoRS.Close Set adoRS = Nothing adoCON.Close Set adoCON = Nothing
End Sub
< 使用 Excel:Excel2007、使用 OS:Windows7 >
(???)様 早速ありがとうございます。 お察しの通り、Open時にエラーになります。
因みに"\"が文中にどんな感じで入るのか教えて頂けると助かります。 よろしくお願いいたします。 (FUJI) 2014/04/04(金) 14:40
とりあえず、User Id指定が無いのが気になりますが、たぶんこんな感じ。
odbdDb = ActiveWorkbook.Path & "\実施台帳DB.mdb" adoCON.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""" & odbdDb & """;Password=hik@w@;" (???) 2014/04/04(金) 16:27
(????)様 おっしゃる通りです。 ですが、コーディングが出来るというよりは、例題を加工して手探りで作っている状態なので 全てを理解できている訳でもなく、手探りでいじっている状況です。 限られた時間の中で処理を迫られていて、甘えと取られても仕方がないのですが ご対応本当に感謝いたします。 何とか頑張ってみます。ありがとうございます。 (FUJI) 2014/04/04(金) 17:33
ADO の指定自体は問題なさそうなので、まずはパスワードをはずしたファイルで 動作検証してみてはどうでしょうか。 Provider の指定が正しくない場合にも、該当エラーが表示されるようです。
こちらでは素のファイル指定であれば、上記の記述でOpenまではできました。 (Mook) 2014/04/04(金) 20:16
adoCON.ConnectionString = _ "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _ odbdDb & ";Jet OLEDB:DatabasePassword=hik@w@;"
これでは? いかがですか?
(ichinose) 2014/04/05(土) 01:03
皆様、本当にありがとうございます。 仕事場のパソコンからなので、お返事が遅くなりました。
ファイル名の前に¥を付けて、Jetにしたら 「インストール可能なISAMドライバが見つかりませんでした」のエラーは出なくなりました。
しかし今度は
'レコードセットを開く adoRS.Open strSQL, adoCON, adOpenDynamic
のところで「一つ以上の必要なパラメーターの値が設定されていません。」とのエラーが…。 例文と照らし合わせてみても間違いは無いはずなのですが。
皆様のおかげで少し進んだので、もう一歩と思いながら向かっております。
(FUJI) 2014/04/07(月) 09:32
>一つ以上の必要なパラメーターの値が設定されていません。
というエラーメッセージで検索してみれば、色々でてきますよ!!
大抵は、SQL文にミスがある場合みたいですよ!!
全角で記述されている箇所がある(本来は、半角なのに)
もう一度、sqlをご自分で実際に打ち直してみてください。
(ichinose) 2014/04/07(月) 20:16
(ichinose)様 本当にありがとうございます! やってみます! 実は近いうちに今の職場を離れなくてはならなくて 前任者はセキュリティー強化の為にパスワードを設定したのだと思いますが OSのバージョンアップとか、様々なハードルがありまして…。 でも、少しでも後任の為に良い状態にして去りたいのです。
皆様のご協力で、うまくいく事が出来たら最高に嬉しいです。 お陰様で凄い勉強になります! 結果はまた明日、職場でやってみてご報告致します! (FUJI) 2014/04/07(月) 23:40
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.