• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessのリンクテーブル)

Accessのリンクテーブルの問題:リンクを貼りなおせずにデータ登録できない

このQ&Aのポイント
  • Accessで複数端末から一つのMDBにデータ登録をさせる為に、VBAでツールを作っています。しかし、MDBを閉じるたびにリンク先のDBを認識しなくなってしまいます。テーブルでリンクを貼りなおすとまた動くようになるのですが、リンクを貼りなおせずにできる方法はありますか?
  • Accessのリンクテーブルで問題が発生しています。VBAで作成したツールで複数端末から一つのMDBにデータ登録をしていますが、MDBを閉じるとリンク先のDBが認識されなくなります。毎回リンクを貼りなおす必要がありますが、リンクを貼りなおせずにデータ登録を続ける方法はありますか?
  • Accessのリンクテーブルでリンクが認識されなくなる問題が発生しています。VBAで作成したツールで複数端末から一つのMDBにデータ登録をしていますが、MDBを閉じるとリンク先のDBが失われます。リンクを貼りなおさずにリンクを保持する方法はありますか?

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

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

パス名は正しく設定していますか? Set LinkDB = Workspaces(0).OpenDatabase("\\Server1\...\Database.MDB", False) のような形にすると、うまく動くとかもしれません。 また、Tableタイプのレコードセットは、EditやUpdateを行っている間、該当のレコード及び付近の2Kバイトの領域をロックします。 もしかしたら、他のユーザーがロックしているレコードにアクセスしようとして、処理が失敗するのかもしれません。

suzuking
質問者

お礼

回答頂きまして有難うございました。 パス名の設定でうまくいきました。 そのあとのレコードロックも発生したので非常に助かりました。回答して頂いた御二方、本当に有難うございました。

その他の回答 (1)

  • fumin
  • ベストアンサー率0% (0/2)
回答No.1

Dim MYWS As Workspace Dim ANOTHERDB As Database Set MYWS = DBEngine(0) Set ANOTHERDB = MYWS.OpenDatabase("リンク先のDBの名前") としてみてください。 私の行っている処理ではRecordsetオブジェクトは使っていませんが、上記の記述の後、TabledefのDeleteをしています。何事もなく毎週動いています。