みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になっております。FMP11 Mac 使用です。
諸般の事情によりレコード削除できないテーブルがあり、削除したいときには「削除フラグ」というフィールドにチェックボックスで「削除」と入れるようになっています。
ところがレコードが溜まってきて、削除すべきレコードにいろいろ誤操作するケースが出てきてしまいました。
そこで、削除フラグフィールドを利用して、フラグが立っていないレコードを絞り込むスクリプトを作って、OnRecordLoadのスクリプトトリガをかけたところ、何度やってもフリーズしてしまいます。事情はよくわからないのですが、デフォルトでは全レコードを表示しようとするのにスクリプトが絞り込もうとするので動作のコンフリクトが生じているのかなという気がしています。
理由はともかく、論理削除したレコードをデフォルトで表示させないためにはどうするのがよいでしょうか?
よろしくお願いいたします。
Offline
アクセス権で制限するのが一般的だと思いますが。
Offline
Shinさま
早速のご回答ありがとうございます。
アクセス権で制限するには実際にどのような設定にすればよいでしょうか?
現在はアクセス権の設定でレコードの削除不可にしていますが、削除フラグを立てたレコードに間違って入力して(必要な作業をしたつもりになってしまい)、本来入力すべきレコードへの入力をしないという事例が出ているため、レコード自体を表示させたくないのですが、これは可能でしょうか?
よろしくお願いいたします。
Offline
閲覧を許可しない設定にすれば良いですよ。
Offline
[ファイル]メニュー - [管理]-[セキュリティ]で新しいアクセス権セットを作成し、
[レコード]の[表示]アクセスを[カスタムアクセス権]に設定し、
削除フラグ ≠ 1 に設定すれば「削除フラグ」が 1 のレコードは表示されません。
ただし、全レコード表示ではレコードの値は見えないもののレコードは見えてしまうので
必ず何らかの検索を行うように(主に主キー≠空欄)スクリプトを組む必要があります。
なお、「完全アクセス権」を持ったアカウントではカスタムアクセス権に関係なくレコードが表示できるので
「完全アクセス権」を持たないアカウント(新しいアクセス権セットを割り当てた)で利用される必要があります。
Offline
Shinさま、Mozさま、
ご回答くださりありがとうございます。
教えていただいた方法を試したところ、整理番号がずれてしまうことが判明しました(整理番号はテーブルを複製して「年月」をキーにしてレコード数をCountしています)。
http://www.russ.jp/stepbbs/step.cgi?mode=view&no=46830
ということでこの方法では難しいようなので、削除フラグが立ったら目立つところに「編集禁止」などと表示するように条件付き書式を設定しました。根本的な解決にはなりませんが、当面これで運用してみようと思います。ありがとうございました。
なお教えていただいたアクセス権の設定は存じあげなかったので大変勉強になりました。重ねてお詫び申し上げます。
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 514.82 KiB (Peak: 519.73 KiB) ]