システム管理に関わるベーシック情報やトレンドをご案内します!
最終更新日:2011年10月 4日 21:07
投稿者名:オムライス
ADOに関して以下のエラーで困っております。
ご存知の方がいらっしゃればご助言いただければ幸いです。
<エラーメッセージ>
エラーコード:-2147467259
メッセージ内容:マシン '' のユーザー 'Admin' がデータベースを開けない状態、またはロックできない状態にしています。
<わかっている事>
・複数のプログラムからI/Oしているデータベース (.mdb)をI/Oしています。
・エラーになったり/ならなかったりしますが、エラーになった場合は決まってDB接続する関数。
<コード内容>
Public Function InitMDB() As Boolean
・
・(省略)
・
lw_CNStr = "Provider=Microsoft.Jet.OLEDB.4.0;"
lw_CNStr = lw_CNStr & "Data Source=" & MDBPath & ";"
' DB接続
Set po_CN = New ADODB.Connection
po_CN.Open lw_CNStr ← ここでエラーになる
・
・(省略)
・
・インターネットで検索して、調べて見ると
> 次の 3 つの条件が該当する場合、この問題が発生する可能性があります。
> •フォームにサブフォームがある。
> •メイン フォームのコントロールがサブフォームのコントロールのいずれかを参照している。
> •フォームがデータベースの単一のインスタンスで開かれている。
と発生要因が記載されています。
また、再現手順を見ると
> 1.Access 2000 を起動し、サンプル データベース Northwind.mdb を開きます。
> 重要 : データベースを排他的に開かないでください。また、データベースが既に開かれていないことを確認してください。
> 2.フォーム ビューで [受注] フォームを開きます。
> 3.[受注] フォームを開いたまま、Access 2000 をもう 1 つ別のインスタンスで起動して 2 つ目のインスタンスを起動します。
> 4.Access 2000 の 2 つ目のインスタンスで、サンプル データベース Northwind.mdb を開きます。
> 結果
> この資料の「現象」に記載されているエラー メッセージが表示されます
と記載されています。
そこで、お願いですが、再現手順で示すことをコード化するには、どのような処理をすれば良いか
概要的でかまいませんので、ご存知の方がいらっしゃればご助言いただければ幸いです。
カテゴリ:データベース 最終更新日:2011年10月 4日 21:07
みんなの回答一覧