質問: Access2010で作成したデータベースのテーブルをインポートすることが出来ないようにする方法を教えてください。 DB1.accdb にテーブルを作りデータを入力し、アプリを作成した後、第三者に渡す場合にテーブルの内容を見られないようにしたいです。 パスワード設定やShiftキーを使用できない方法はわかりますが、DB2.accdbを作成してDB1.accdbからテーブルインポート操作を行うと、無条件でデータを抜き取られてしまいます。 このようなインポートを防ぐ方法がありましたらお教え下さい。 よろしくお願い致します。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/188c5484015b2afb85732525ce25221a.jpeg) ![イメ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/f0daabc0aa5b3ddb315a85c3ff54927d.jpeg)74ef820eb981eb1ef847ab5daa496839.jpeg) ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/14288a071e59ad176e1f92e9c7ca3170.jpeg)
回答: 下記の手順で。 データベース分割で、テーブルのみのデータベースファイル(バックエンドファイル)とそれ以外のオブジェクトのデータベースファイル(フロントエンドファイル)に分割する。 バックエンドファイルにはデータベースパスワードを設定しておく。 フロントエンドファイルは、フォームやレポートのレコードソースプロパティに直接SQLを設定して、IN句でバックエンドと接続する。SQL生成してレコードソースに設定するのは、フォームやレポートの開く時のイベントでVBAで設定するようにする。渡す相手によって、接続さきのパスが変わってくるため。 フロントエンドファイルをACCDEファイルに変換する。 バックエンドファイルとフロントエンドファイル(ACCDE)を第三者に渡す。 詳細は下記を参考に。 テーブルデータを保護する - hatena chips