1.データベースアカウントを参照権限に限定する
リンクテーブルからのデータ編集を防ぎたいというのは、セキュリティの観点からデータ操作を制限したいという意図のはず。もし外部の DBMS に接続しているリンクテーブルならば、データベースアカウントの権限から 挿入(INSERT)/更新(UPDATE) 権限を除きます。Oracleならば、データを編集すると ORA-01031: 権限が不足しています エラーになります。
2.ビューにリンクする
読み取り専用の VIEW に対してリンクすれば、リンクテーブルからのデータ編集を防げます。Oracleならば、WITH READ ONLY 句 を付けた VIEW のデータを編集すると、ORA-01732: このビューではデータ操作が無効です エラーになります。
3.ODBCデータソースを読み取り専用にする
ODBC データソース を使用しているリンクテーブルならば、使用するODBC データソースの「読み取り専用」設定を ON にする。これは「ODBC データソース アドミニストレーター」画面から設定を変更できます。<画面の起動方法>
コントロールパネル > システムとセキュリティ > 管理ツール > データ ソース (ODBC)
4.リンクテーブルでなくパススルー クエリを使う
ODBC データソース を使用しているリンクテーブルならば、リンクテーブルを止めてパススルー クエリに置き換えれば、データを編集できません。HOW TO: Base Subforms on SQL Pass-Through Queries in Access 2000
http://support.microsoft.com/kb/209116
SQL パススルー クエリは読み取り専用です
Access で SQL パススルー クエリを作成する方法
http://support.microsoft.com/kb/303968/ja
5.リンクテーブルでなくクエリを使う(ODBC データソース の場合)
(次第に変な対策になりつつありますが)編集できないクエリを使います。ただしパススルー クエリを使わないならば、クエリの入力 Table としてリンクテーブルが必要になります。これだとリンクテーブルを使われることになる(元の課題に戻る)ので、リンクテーブルを「隠しオブジェクト」に設定します。
ただし「隠しオブジェクト」だからといって一切触れないわけではないです、ご注意を!
さらに、リンクテーブルのデータをそのまま表示するだけの単純なクエリだとデータが編集可能なので、クエリのプロパティを変更します。
<クエリのプロパティを変更>
クエリの「レコードセット」プロパティを「スナップショット」に変更
6.リンクテーブルでなくクエリを使う(外部の Access ファイルの場合)
Access ならばリンクテーブルが無くてもクエリの入力 Table として使えます。外部の Access ファイルをパススルークエリでリンクすることはできません。(SQL例)
SELECT * FROM [社員] IN [C:\data\名簿.accdb]
FROM 句
http://office.microsoft.com/ja-jp/access-help/HA001231451.aspx
もしくは、テーブルを結合する時に便利な書き方
SELECT * FROM [C:\data\名簿.accdb].[社員]
これもデータを全て表示するだけの単純なクエリだとデータが編集可能なので、クエリのプロパティを変更します
<クエリのプロパティを変更>
クエリの「レコードセット」プロパティを「スナップショット」に変更