プロが教えるわが家の防犯対策術!

今、Accessで業務用のアプリケーションを
作成しているのですが、

「印刷」を禁止することはできないのでしょうか

セキュリティ的な問題なのですが、
誰でもカレデモ印刷できてしまうのはマズイのです

しかも、レポートじゃなくても
フォームの印刷プレビューを出して印刷する人もいるので
Access全般の印刷を禁止することってできますか?

A 回答 (3件)

No.1です。



> いろいろな方法を教えていただき、ありがとうございます。

すみません、前回の回答は、全体で1つの対応策になります。
(基本が「A)」で、以降はそれをより強固にするための策、です)
前回の回答は誤解を招く書き方になってしまっていました、申し訳ありません。


それと、前回回答時には失念していたのですが、フォームの印刷への対応として
別の方法があることを思い出しましたので、それもご紹介させて戴きます。
(なお、これもPrintScreenには対応できませんが)

1)フォームをデザインビューで開く
2)データを表示するコントロールを選択する(1つずつでも複数でも可)
3)プロパティシートで『書式』タブを選択
4)『表示対象』の設定値を「画面のみ」に設定

・・・以上です。
こうすると、そのコントロール(→結果としてデータ)は、フォーム印刷時には表示されなくなります。
ついでで新規ラベルを作成し、こちらは『表示対象』を「印刷のみ」とした上で、
ラベルの文面を「このデータの印刷は禁止されています」としてやれば、
「なぜか印刷がうまくいかない」と思って何回も印刷しようとされる、という
事態も防げると思います。


残念ながらレポートのコントロールにはこの設定ができないのですが、
レポートでは別の方法によって印刷を回避する方法もあるようです。
(私自身が作ったDBは、基本的に印刷もフォームで済ませるか、Excelへの
 出力で対応しているため、レポートのことはあまり知らないもので・・・)

上で説明した、プロパティシートの『表示対象』にカーソルを移動させた状態で
「F1」キーを押してヘルプを表示させると、この辺りの説明が見られると思います。
(今、手元にあるのはAccess97なので、バージョンによっては違うかもしれません(汗)
 その場合は、「Format」「Retreat」をキーワードとして検索してみて下さい)
    • good
    • 0
この回答へのお礼

なるほど、フォームでそのような設定があるとは
知りませんでした。

あと、AutoKeysのマクロでCtrl+Pの
ショートカットを無効にしておきました。

あとはPrintScreenの対応ですかね
いろいろ調べましたが、結構難しいことが書いて在ります。

情報漏洩防止ソフトを購入すれば
簡単で済みそうなのですが…

お礼日時:2006/11/02 17:45

> でも、まずはできるところから固めていきたいと


> おもいます。

画面への出力も紙への出力も同じですからね。。。

#1 さんのアイデア以外に
ユーザーにシステム使用に関する誓約書も書いてもらう。
フォーム、レポートなど開発側がコントロールできる物には ユーザー ID か Windows へのログオン ユーザー名が入るようにする。
操作ログを残す。(監視できる操作だけになってしまいますが)
印刷できる権限の人しか使わせない。
入退室時の持ち込み持ち出しが管理されている部屋で使用する。

費用対効果でお考え下さい。
    • good
    • 0
この回答へのお礼

ありがとうございます。

確かに費用対効果ですね。
お金をかければ何とかなる、と思いますが
それは企業の規模なり、考え方なりに左右されると思います

お礼日時:2006/11/02 17:43

印刷を完全に禁止するのは難しいように思えます。



対応策としては、

 A)Accessの組み込みメニューを独自のメニューバーに置き換えて、メニューから
  「印刷」を選べなくする
 B)テーブル/クエリを直接開かれないようにするため、データベースウィンドウは
  表示させない
 C)Shiftキーを押しながら立ち上げてもデータベースウィンドウが表示されないよう、
  「AllowBypassKey」の設定をFalseにする
 D)「Ctrl+A」によるレコードの全選択&「Ctrl+C」によるデータのコピーをさせない為、
  フォーム上でこれらのキーが押された場合は強制的にキャンセルさせる

・・・といったところが考えられますが、たとえこれだけやっても、Accessを表示させた
後にWindowsのタスクバーなどをクリックし(→Accessをアクティブでなくす)、
PrintScreenで画面を画像としてコピーされてしまえば、結局印刷を防ぐことはできない
ことになります。
(PrintScreenに対しても防御策はあるのかもしれませんが、私にはわかりません)


一応、簡単に説明をさせて戴きますが、上記の対応策の「A)」は、
 1)メニューバーを右クリックし、表示されるメニューから「ユーザー設定」を選択
 2)『ユーザー設定』ダイアログで『新規作成』ボタンをクリック
 3)『新しいツールバー』ダイアログで名前を入力して『OK』ボタンをクリック
 4)『ユーザー設定』ダイアログで『プロパティ』ボタンをクリック
 5)『ツールバープロパティ』ダイアログの『種類』を「メニューバー」に設定して
  『閉じる』ボタンをクリック
 6)『ユーザー設定』ダイアログの『コマンド』タブをクリック
 7)メニューとして必要なコマンドを、作成したメニューバー(画面のどこかに表示されて
  いるはず)にドラッグ&ドロップ
 8)『ユーザー設定』ダイアログを閉じる
 9)元からある方のメニューバーで「ツール→起動時の設定」を選択
 10)『起動時の設定』ダイアログの『メニューバー』に、上で作成したメニューバーを指定
でできます。
「B)」は、同じく「起動時の設定」で全てのチェック(→『詳細』ボタンを押して表示される
項目も含む)を外せばOKです(一部、外さなくてもいいものもありますが)。

 *以上は、Shiftキーを押しながらDBを立ち上げられると、効果がありません。
  (「C)」は、それに対応するための策)

「C)」についてはこちらを参照下さい;
http://www.accessclub.jp/samplefile/samplefile_0 …

「D)」は今回は説明を省略させて戴きますが、これもモジュールをいじることになります。


※これらは必ず新規DBで試して、実際にどうなるのかを確認してから目的のDBに適用
  して下さい。(元に戻すのに手間が掛かりますので・・・)
    • good
    • 0
この回答へのお礼

ありがとうございます。
いろいろな方法を教えていただき、ありがとうございます。

確かにPrintScreenをやられるとどうしようもないですね…
それに、顧客データなんかもプリントできなくても
メモられたら、どうしようもないですし。

でも、まずはできるところから固めていきたいと
おもいます。

お礼日時:2006/10/31 17:32

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

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

関連するカテゴリからQ&Aを探す