Microsoft Access 掲示板

他のユーザーが排他的に開いているか、データを読み取る権限がありません。 の回避方法

8 コメント
views
4 フォロー

共有フォルダにあるmdbファイルにadoを使いアクセスしようとすると、このエラーが出ます。ロックファイルが出ていない状態でもこのエラーが出ます。手動では、アクセスして変更を加えることが出来ます。コピーしてExcelに貼り付ける事は出来ます。Excelにデータを吐き出したいだけですので、エクスポートならこの権限は関係ないのでしょうか?権限の問題だとして、フルアクセスで回避できるのでしょうか?ご教授お願いいたします。

YS
作成: 2020/12/01 (火) 21:03:30
通報 ...
1

そのエラーがでるコードを提示してください。

2

set mya=createobject("adodb.connection")
myb="接続先フルパス"
with createobject("excel.applcation")
set myc=.workbooks.add.activesheet.range("a1")
.visible=true
end with
mya 接続文字列

.open
set myd=.execute("クエリ名")
myc.copyfromrecordset myd
end with

此れがコードです。スマホで書いています。すみません

3

その情報だけからは、ちょっと原因は分からないです。

DAOでやってみる。

リンクテーブルにしてみる。

SQLでIN句で接続してみる。

など、他の方法も試してみては。

4

daoは分かりません。どの様な情報が足りないでしょうか?宜しくお願い致します。

5

オンラインの状態のmdbファイルです。属性n、オフラインでの使用不可になっています。プロパティの詳細です。セキュリティタブが無かったためフルアクセスは、無理そうです。daoだと接続出来ますか?ご教示お願い致します。

6

大変申し訳有りません。今日手動でいじってみた所odbc に接続が失敗しました、というエラーが出て開けませんでした。一台のパソコンからのみ開く事が出来る様です。開けたのは旧システムのmdbファ
イルでした。この状態は、どう言う状態でしょうか?

7

daoは分かりません。

WEB検索すればサンプルコードは見つかると思いますので、試してみては。

あるいは、
手動でそのMDBへのリンクテーブルを作成することはとできますか。
できるなら、DoCmd.TransferDatabase メソッドでリンクテーブルを作成すればどうでしょうか。

いろいろ、試してみてダメな場合、
ネットワーク環境に依存する問題だと思いますので、同じ環境を用意できないこちらからはこれ以上のアドバイスは難しいですね。
たまたま、同じようなエラーを経験した人が見てればヒントは出せるかもしれませんが。

8

ご教示ありがとうございます。今回の件は、メインのパソコンから手動で操作します。システム移管中でして少しの間だけの対処法でしたので。また、宜しくお願い致します。