2つの問題があるようですが、私は2番目の問題に取り組んでいます。
Accessで "make table query"を使用して、リンクテーブルのローカルコピーを作成することができます。これにはGUIを使用するか、またはSQLを構造化することができますこのようなもの:
SELECT <list of various fields, or * for all fields>
INTO <name of new local table>
FROM <name of linked table(s) on the server>
WHERE <any other conditions you want to put on which records are included>;
私は、複数のテーブルが存在する可能性があると述べました。これは、結合された表または共用体などでも実行できます。「where」節はオプションです。それを削除すると、データセット全体がコピーされます。
Accessでこのクエリを実行しようとすると、警告が表示されます。テーブルを書き込む(または上書きする)ことを伝えます。エンドユーザーにとって迷惑メールが少ないクリーンなアプリケーションを作成しようとする場合は、マクロからこのクエリを呼び出します。マクロは、警告をオフにし、クエリを実行してから、警告を元に戻す必要があります。
Microsoft Accessでは、このテーブルを作成する前にこのテーブルを作成する必要はありません。テーブルが存在しない場合は、ソースデータのフィールド定義に基づいて、このテーブルが作成されます。同じ名前のテーブルが存在する場合、Accessはデータベースからこのテーブルを削除し、その名前の新しいテーブルを作成します。
これは、生成しているローカルテーブルに固有の名前が必要であることを意味しています。クエリが同じ名前を使用してリンクテーブルを上書きしようとする場合、まずAccessが行うことはリンクテーブルを削除することです。次に、フィールド定義と入力したデータを、それが削除したリンクテーブルで探します。
新しいローカルテーブルに新しい名前が付けられるため、リンクテーブル用に開発されたクエリは新しいローカルテーブルでは機能しません。 1つの回避策として、ローカルのAccessデータベースでリンクテーブルの名前を変更することが考えられます。 Accessのテーブル名は、リンク先のデータベースの名前と同じである必要はありません。クエリは、正しい名前のテーブルに書き込むことができ、以前のクエリが機能するはずです。それでも、これらのクエリは実際のデータでは機能しなくなることに注意してください。
dbのコピーを試して、テーブルを右クリックしましたか? – Fionnuala