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

解決済みの質問

Excel → ADO → ACCESS

Client EXCEL Server ACCESSで数人で使うシステムを
開発中です(接続はADO)。
ある程度までできたので、他のPCで動作確認すると
参照先でエラーが発生します。
例えば

set CN = new adodb.connection
Cn.ConnectionString = "Provider=Microsoft.jet.oledb.4.0;Data Source=保存先"
Cn.open

set RS = new adodb.recordset
rs.open "テーブル名",Cn,設定1,設定2 ←ここでエラー

エラー内容の参照先が自分のパソコンの保存先を参照していて
Data Sourceを書き換えても、エラーが帰ってきてお手上げ状態です。

自分のPCで保存先を変えても問題なくできますが
パソコン自体を変えるとエラーが出ます。

cn.openでACCESSには接続できていて、rs.openでエラーが発生します。
よろしくお願いします。

環境:OS VISTA OFFICE 2007
他のクライアントPCもすべてOFFICE2007です。

投稿日時 - 2011-06-03 17:11:12

QNo.6783688

困ってます

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

情報が少ないので、判断できない部分もありますが。
見当違いだったらすみません。

Data Sourceに指定しているパスは以下のうちどちらですか。

1.¥¥サーバ名¥フォルダ¥
2.ドライブレター:¥フォルダ¥ (例としては E:¥フォルダ名 など)

1.の方を「ネットワークパス」といい、直接サーバ側の共有フォルダを参照するやり方です。
2.の方は通常のパスの記述方式ですが、サーバの共有フォルダ(ネットワークドライブ)もこの形式です。

それで本題ですが、Data Sourceに指定のパスが「ローカルパス」つまり自分のPC内を示すパスになっていたりしませんか。この場合、ご相談のようなエラーが発生する筈です。

ADOでサーバ側のMDBファイルにアクセスする場合、2.の方が安全です。
つまり、システムを使用する全てのPCで同じドライブレター(たとえば、EとかFとか。ZやXだとより安全です)でネットワークドライブ設定し、Data Sourceにはそのドライブレターを使用したパスを使用します。

1.の方で実現できたがどうかは、済みませんがうろ覚えです。試しにData Sourceに1.の形式で指定してみて、うまくいけば、ネットワークドライブ設定は不要です。

投稿日時 - 2011-06-03 19:38:53

お礼

box742さん
ご回答ありがとうございます。
現段階では、個人用に作成していてロカール使用なので
2の接続方法です。
また今後、ある程度のプログラム構築後
ネットワーク内にMDBファイルを置く予定なので
1で接続する予定でした。

試しに1の接続もしてみようと、思います。
また、OFFICEのバグの可能性も捨てきれないので、
OFFICEをアンインして再インしてみました。
またOFFICE2003も同居していたので、全て削除しました。
あまりよろしくないとサイトに載っていたので。

とりあえず今日は時間を割いて、色々試してみます。

投稿日時 - 2011-06-04 08:17:30

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

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

回答(1)

あなたにオススメの質問