こういうことでしょうか?
1.特定の人物は、フォームを介して限られたデータを参照できる。
2.その特定の人物であっても、すべてのデータのインポートを禁止する。
1.に関しては現状通りフォームにパスワードを設定して参照制限されるのでよろしいかと思います。
(ワークグループ管理してユーザー毎にテーブル参照権限を与えてもいいでしょう)
2.そうですね。DB_B.mdeからパスワード付きのDB_A.mdbを起動するのでいいでしょう。
その具体的ソースは、an_naさんが書かれたもので間違いないです。動くはずです。
DB_B.mdeの「モジュール(初期処理)」のソース
(マクロのautoexecでプロシージャ(初期処理)の実行を定義しておく)
モジュール「初期処理」の中身
============================
Dim appAcc As Access.Application
Dim db As DAO.Database
Set appAcc = CreateObject("Access.Application")
Set db = appAcc.DBEngine.OpenDatabase("D:\DB_A.mdb", False, False, "MS Access;pwd=himitsu")
appAcc.OpenCurrentDatabase "D:\DB_A.mdb"
db.Close
Set db = Nothing
appAcc.Visible = True
DoCmd.Quit acQuitSaveNone
==================================
skikichiさん、お世話になっています。
すみません、根本的に私の考え方が間違っていました。
skikichiさんの教えてくださったインポート禁止の方法で進めていきます★
こんなおバカな私に丁寧に説明してくださってありがとうございました。
あと一点、DB_B.mdbからDB_A.mdbを呼び出す方法を色々試してみましたが、上手くいきません。
Dim appAcc As Access.Application
Dim db As DAO.Database
Set appAcc = CreateObject("Access.Application")
Set db = appAcc.DBEngine.OpenDatabase("C:\External.mdb" _
, False, False, "MS Access;pwd=password")
appAcc.OpenCurrentDatabase "C:\External.mdb"
db.Close: Set db = Nothing
appAcc.Visible = True ' 表示させたい場合
上記を参考に動かしてみましたが、”DBEngineメソッドは失敗しました。_Applicationオブジェクト”というエラーメッセージが表示されてしまいます。
DB_B.mdbからDB_A.mdbを起動させるにはどのようにしたら良いでのしょうか?
お礼
>こういうことでしょうか? >1.特定の人物は、フォームを介して限られたデータを参照できる。 >2.その特定の人物であっても、すべてのデータのインポートを禁止する。 →そのとおりです。上手に説明できなくてごめんなさい。 再度実行してみたら正常に起動しました。 本当にお世話になりました★