Excel VBA質問箱 IV

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

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


4560 / 13644 ツリー ←次へ | 前へ→

【55872】ExcelVBAでADOのConnectionオブジェクトでエラー パンチパーマSE 08/5/21(水) 16:17 質問[未読]
【55874】Re:ExcelVBAでADOのConnectionオブジェクト... neptune 08/5/21(水) 17:07 発言[未読]
【55878】Re:ExcelVBAでADOのConnectionオブジェクト... パンチパーマSE 08/5/21(水) 19:43 回答[未読]
【55879】Re:ExcelVBAでADOのConnectionオブジェクト... neptune 08/5/21(水) 22:36 発言[未読]
【55884】Re:ExcelVBAでADOのConnectionオブジェクト... neptune 08/5/22(木) 9:29 発言[未読]
【55933】Re:ExcelVBAでADOのConnectionオブジェクト... パンチパーマSE 08/5/24(土) 9:34 お礼[未読]

【55872】ExcelVBAでADOのConnectionオブジェクト...
質問  パンチパーマSE  - 08/5/21(水) 16:17 -

引用なし
パスワード
   Excel2007よりACCESS2007のデータベースに接続しようと
していますが、
「Set myConnect = New ADODB.Connection」の後の記述
「myConnect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\SysData.accdb"」
で「データベースの形式'C:\Sys\SysData.accdb'を認識できません」
というエラーが発生し、先に進めません。

OSは「WinXP SP2」です。
VBAを設定しているExcelファイルと参照先のACCESSデータベースは
ともに「C:\Sys\」に格納しています。

ちなみにデータリンクファイル(.udl)で試しても同様でした。
行った作業は、「プロバイダ」として「MS Jet4.0 OLE DB Provider」を選択し、
「接続」で「C:\Sys\SysData.accdb」のパスとパスワードを指定しました。
「.accdb」の拡張子が問題かと思い、「.mdb」に拡張子を変えて試しましたが
同様の結果でした。

解決のヒントなど頂けると助かります。
よろしくお願いします。

【55874】Re:ExcelVBAでADOのConnectionオブジェク...
発言  neptune  - 08/5/21(水) 17:07 -

引用なし
パスワード
   ▼パンチパーマSE さん:
こんにちは

2007持ってませんが、
h tp://yaplog.jp/orator/category_11/
[DAO]新バージョンの違いに関する考察 / 2007年03月17日(土)
[ACE 12.0] メモ型フィールドの動作について / 2007年06月05日(火) 
なんぞが参考になりませんか?

【55878】Re:ExcelVBAでADOのConnectionオブジェク...
回答  パンチパーマSE  - 08/5/21(水) 19:43 -

引用なし
パスワード
   ▼neptune さん:
>▼パンチパーマSE さん:
>こんにちは
>
>2007持ってませんが、
>h tp://yaplog.jp/orator/category_11/
>[DAO]新バージョンの違いに関する考察 / 2007年03月17日(土)
>[ACE 12.0] メモ型フィールドの動作について / 2007年06月05日(火) 
>なんぞが参考になりませんか?

さっそくご回答いただきまして、ありがとうございます。

フィールドの長さ関連ではなさそうに思えます。
試しに、「WinXP Home兼Office2003」の環境で試してみますと、
問題なく動作しました。
(XP Pro SP2の環境で、別のPCで試すとダメでした)

自分なりに書籍やWebサイト等検索してみましたが、この問題については
記述されていませんでしたので、お手上げ状態です。
XPProのSP2のセキュリティ制御の問題なのかどうか、
全く見当がつきません。

今日1日も進捗ゼロです。皆様、お助けくださいm(__)m。

【55879】Re:ExcelVBAでADOのConnectionオブジェク...
発言  neptune  - 08/5/21(水) 22:36 -

引用なし
パスワード
   ▼パンチパーマSE さん:
こんにちは

先ず、
>「データベースの形式'C:\Sys\SysData.accdb'を認識できません」
ってのは、ファイル形式が違うときに出ます。
Microsoft.Jet.OLEDB.4.0はAccess2007以前(mdb拡張子)のプロパイダです。

次に
>フィールドの長さ関連ではなさそうに思えます。
そこだけじゃないんですが。。。
[DAO]新バージョンの違いに関する考察 / 2007年03月17日(土)
もホントに見てますか?
↑を見てヒントを得られないなら、・・・・勉強不足です。

JETのバージョンとか、プロパイダなどの接続文字列との比較はしないんですか?

Orator's IOから勝手に引用させてもらいますが
DAOのバージョンについては
/////////以下引用部分////////
>Access 2007 では突然、DAO 12.0 となっている、
>Microsoft Jet (Joint-Engine Technology) Database Engine 自体が、
>その後方互換たる ACE (Access Database Engine) に変更されている様子。


>Cn.Provider = "Microsoft.ACE.OLEDB.12.0" 'ACE 12.0
///////////////引用終わり/////////
と書いていますが?この検証はしたんでしょうか?


>試しに、「WinXP Home兼Office2003」の環境で試してみますと、
>問題なく動作しました。
バージョンが違います。
>(XP Pro SP2の環境で、別のPCで試すとダメでした)
2007形式に対応している環境か否かによる。

>XPProのSP2のセキュリティ制御の問題なのかどうか、
についてはわかりません

>自分なりに書籍やWebサイト等検索してみましたが、この問題については
>記述されていませんでしたので、お手上げ状態です。
?すぐヒットしましたよ。

MSのKBには
h tp://support.microsoft.com/kb/246335/ja
サンプルソースまであります。

【55884】Re:ExcelVBAでADOのConnectionオブジェク...
発言  neptune  - 08/5/22(木) 9:29 -

引用なし
パスワード
   ▼パンチパーマSE さん:
こんにちは

>>[DAO]新バージョンの違いに関する考察 / 2007年03月17日(土)
自分はADOで書いているからDAOは関係ないと思ったのかな???

【55933】Re:ExcelVBAでADOのConnectionオブジェク...
お礼  パンチパーマSE  - 08/5/24(土) 9:34 -

引用なし
パスワード
   ▼neptune さん:
>▼パンチパーマSE さん:
>こんにちは
>
>>>[DAO]新バージョンの違いに関する考察 / 2007年03月17日(土)
>自分はADOで書いているからDAOは関係ないと思ったのかな???

最初に教えていただいたページをヒントに
解決することができました。
ご指摘の通り、DAOのバージョンを変更することで解決でした。

自分の検証レベルの低さを痛感しました。
ありがとうございました。

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