- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessのリンクテーブル)
Accessのリンクテーブルの問題:リンクを貼りなおせずにデータ登録できない
このQ&Aのポイント
- Accessで複数端末から一つのMDBにデータ登録をさせる為に、VBAでツールを作っています。しかし、MDBを閉じるたびにリンク先のDBを認識しなくなってしまいます。テーブルでリンクを貼りなおすとまた動くようになるのですが、リンクを貼りなおせずにできる方法はありますか?
- Accessのリンクテーブルで問題が発生しています。VBAで作成したツールで複数端末から一つのMDBにデータ登録をしていますが、MDBを閉じるとリンク先のDBが認識されなくなります。毎回リンクを貼りなおす必要がありますが、リンクを貼りなおせずにデータ登録を続ける方法はありますか?
- Accessのリンクテーブルでリンクが認識されなくなる問題が発生しています。VBAで作成したツールで複数端末から一つのMDBにデータ登録をしていますが、MDBを閉じるとリンク先のDBが失われます。リンクを貼りなおさずにリンクを保持する方法はありますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
パス名は正しく設定していますか? Set LinkDB = Workspaces(0).OpenDatabase("\\Server1\...\Database.MDB", False) のような形にすると、うまく動くとかもしれません。 また、Tableタイプのレコードセットは、EditやUpdateを行っている間、該当のレコード及び付近の2Kバイトの領域をロックします。 もしかしたら、他のユーザーがロックしているレコードにアクセスしようとして、処理が失敗するのかもしれません。
その他の回答 (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をしています。何事もなく毎週動いています。
お礼
回答頂きまして有難うございました。 パス名の設定でうまくいきました。 そのあとのレコードロックも発生したので非常に助かりました。回答して頂いた御二方、本当に有難うございました。