FileMaker 現在のテーブルのポータルで、Delete ボタンを押されて消される件

Claris FileMaker のポータルで「現在のテーブル」が指定できる。
現在表示されているレコードセットをポータルとして配置できる便利なオプションである。

ポータルの行をアクティブにして [Delete] キーを押すと、「このレコードを完全に削除しますか?」と表示される。( ポータルの設定が現在のテーブルだから、現在のレコードを消そうとしている状態。 )

このダイアログはカスタムメニューでレコードの削除を取り除いても表示されてしまう。( 何もないメニューを作っても [Delete] キーで削除されてしまう。  )

驚きの白さ (何もない) であるメニューを用意してみたが、削除されてしまう…

これは [ファイル] > [管理] > [セキュリティ…] > [詳細設定…] > [アクセス権セット] > [編集…] の[利用できるメニューコマンド]でもコントロールできる。

[利用できるメニューコマンド]は 最小 / 編集のみ / すべて の三つから選択する事ができ、最小 / 編集のみ に設定されているユーザであれば、[現在のテーブル] が設定されているポータル行がアクティブでも [Delete] キーによる削除はできなくなる。

[現在のテーブル] ではなく、関連レコードが表示されるポータルであれば、ポータル設定で、[ポータルレコードの削除を許可する] のチェックを外せば Delete キー対策はできる。

おまけ

利用できるメニューコマンドについては下記の URL に次のような記載があります。

[すべて] を選択すると、他のアクセス権セットのオプションで明示的に無効になっているコマンドを除き、すべてのメニューコマンドが有効になります。
[編集のみ] を選択すると、ブラウズモードの基本的な編集コマンドのみが有効になります。
[最小] を選択すると、データベースファイルの開閉と作成、データベースウインドウの切り替え、スクリプトの実行、FileMaker Pro ヘルプの参照、および環境設定オプションの変更を行うメニューコマンドを除くすべてのメニューコマンドが無効になります。

https://help.claris.com/ja/pro-help/content/other-privileges.html



模索したこと。

OnObjectKeyStroke で Delete キー ( コードが 8 ) が押された場合は、キャンセルするような仕組みを作ってみたが、⌘ ( コマンド ) と一緒に Delete キーを押されたら防げなかったのでボツにしました。

ボツになった悲しいキャプチャ 1
ボツになった悲しいキャプチャ 2

やっぱり、削除系を防止したいならセキュリティの設定に限るね!という備忘録。
今回は、利用できるメニューコマンドを活用したけど、しっかりやるにはデータアクセスとデザイン の箇所で削除できないようにしないとダメだな^^;;


この記事が気に入ったらサポートをしてみませんか?