使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
この回答は自動翻訳されたものです。そのため、文法的な誤りや不自然な表現が含まれている可能性があります。
こんにちは tak。
Connect プロパティには新しいネットワークパスが表示されているのに、エラーには古いローカルパスが表示されたままになっているという状況では、苛立たしさを感じるのも無理はありません。
以下のコマンドで
? CurrentDb.TableDefs("Link Table Name").Connect 新しいパスが返されるということは、リンクテーブルの接続情報にはそのパスが保持されていることを意味します。しかし、それだけでは、対象のテーブルを開いたときに Access がなぜ依然として古いローカルの場所を参照しているのかという理由までは特定できません。
原因を絞り込むために、以下の点を確認してみてください。
1/ [外部データ] > [リンクテーブルマネージャー] で対象のテーブルを選択し、[更新] を実行して [状態] 列を確認してください。Microsoft は、まず更新を行い、[失敗] と表示されたテーブルについてはリンクを再設定(再リンク)することを推奨しています。
2/ 現在、バックエンドデータベースが ドライブ文字(割り当てられたドライブ) を介してリンクされている場合は、代わりに UNC パス を使用してリンクを再設定してみてください。例:\ServerName\ShareName\Database.accdb
ドライブの割り当て設定はコンピュータによって異なる可能性があるため、ネットワーク上のバックエンドデータベースに対しては UNC パスの使用が特に推奨されています。
3/ 一部のテーブルのみが影響を受けているようですので、それらのテーブル自体、その「ルックアップ」プロパティ、あるいは関連するクエリ・フォーム・レポートの中に、古いデータベースの場所への別の参照が含まれていないか確認してください。Microsoft の資料によると、移動された外部ファイルへの参照や、他のデータベースオブジェクトからの特定の参照が、リンクテーブルのエラーを引き起こす可能性があるとされています。
それでも問題が解決しない場合は、対象のテーブルを開いたときに表示される 正確なエラーメッセージ を投稿してください。また、2つのバックエンドデータベースが .accdb ファイルなのか .mdb ファイルなのかもお知らせください。エラーの正確な内容がわかれば、Access がリンクテーブルそのものでエラーを起こしているのか、それとも古いパスを依然として使用している別の参照箇所でエラーが起きているのかを判断する助けになります。参考情報:
- Microsoft サポート: Access でリンク テーブルを管理する
- Microsoft サポート: Access データベースを分割する
- Microsoft Learn: TableDef.Connect プロパティ (DAO)
- Microsoft KB 287696: リンク テーブルを開くか参照する際に発生するエラー