教えて! goo のコンテンツに対する取り組みについて

お世話になります。
質問をごらんいただき、ありがとうございます。

accessのフォームを作成しているのですが、
ユーザがフォームのデザインの修正、編集を
不可にしたいのですが、どのような方法があるでしょうか。

もちろんフォーム上の機能としてある、
レコードの編集追加削除は可能で、
デザインやプロパティの編集(デザインビューでの作業全般)
を禁止したいのです。

どうかよろしくお願いいたします。

教えて!goo グレード

A 回答 (1件)

僕も以前その様なMDBを作成しました。


その時は「ユーザーにフォームを変更させたくない」というのと、「関係のないフォームを勝手に開かれたくない」という条件で作成しましたが結構手間取りましたよ…。

大まかな処理としては、まず"起動時の設定"でスタートアップ用のフォームを指定して、それ以外のウィンドウ(Accessテーブルとか)を表示しないように設定しました(ShowWindowで非表示に設定しました)。
Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long

で、フォームのクローズイベントでAccess本体を閉じるようにしましたね、そうする事でフォームを右クリックして"デザインビュー"に移行できなくなります。

それでもSHIFT押しながら立ち上げると、スタートアップ用のフォームを読み込まずにAccessが開けてしまったりするので、それも無効に設定したり…(AllowBypassKeyというのがDAOプロパティであるのでそれを設定しました)
やる事はこんな感じではないでしょうか?
もっと簡単な方法があるのかもしれないですが、以前僕が調べた限りではこれ位しか考え付きませんでした(^^;)
    • good
    • 0
この回答へのお礼

ご回答いただありがとうございました。締切がおそくなって
申し訳ありませんでした。
同じ悩みを持ってる方は多そうですね・・・
いただいたアイデアを参考にがんばります。
本当にありがとうございました。

お礼日時:2008/12/15 09:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

人気Q&Aランキング