- ベストアンサー
accessからは参照のみにしたい
excelしか使った事の無い人たちにaccessのパラメータSQLを使って複数のexcel表からデータを抽出して見せたいのですが表示された表をいじくられると大元のデータが壊れてしまいます。access経由時のみ更新禁止、参照のみ可能の状態に出来ないでしょうか? excelしか使った事の無い人は保存操作をしなければデータは更新されないという感覚がありますからガードしないと危ないのです。 excel表はリンク参照します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
SQLを使用しないといけないのですか? そのへんが引っかかりますが。。。 それは置いておいて・・・ リンクテーブルはクエリーで参照できますよね。 それとも、フォームで参照するのですか? フォームであればフィールド毎のロックもかけられます。 クエリーであれば、デザインフォームのテーブルが表示されているエリアで右クリックしてプロパティーを表示するとレコードセットを設定できる項目がありますので、そこをスナップショットに選択すればよいです。 これによって、クエリーでリンクテーブルを参照した時データを変更することはできなくなります。 (リードオンリーです)
その他の回答 (2)
- palmmy
- ベストアンサー率38% (841/2169)
テーブルに取り込んで、ユーザーにはテーブルを 見せるとか。(変更されても、excelには反映しない) 原始的ですが。 あとフォームで見せれば変更禁止に出来ますよ。
- skikichi
- ベストアンサー率65% (45/69)
うっ? こういうことを言っています? Excelファイルへのリンクテーブルに対してパラメータークエリーを作成し、プロパティーのレコードセットをスナップショットに設定して更新不可で参照する。
補足
「プロパティーのレコードセットをスナップショットに設定」というところがきっとやりたいところを説明してくれていると思うのですが、自分には意味不明でもう少し補足して戴けると嬉しいです。 レコードセットというものが何かのプロパティとしてあってそれをスナップショットというものに合わせればいいという事はおぼろげに判るのですが...
お礼
SQLは意識していなくてaccessのGUIで簡単に出来る範囲の機能(私の場合パラメータークエリどまりです..)で行いたいのです。 ともあれ教えて頂いた方法で参照オンリーに出来ました。 有難う御座います。 あとは他の人がexcel表をいじっているあいだはクエリーがエラーになりますが、これはしかたないですね。