第110回 自分の作ったレコードのみ表示する
こんにちは。エヌ・ケイ・カスタマイズの池村です。
コロナ感染者数の増加や桜島の噴火活動活発化など、鹿児島では緊張の走る日々を過ごしていますが皆様いかがお過ごしでしょうか
今回は、検索結果や関連レコードに自分の作ったレコードのみ表示されるようにするという動作について学習しました。
アンケート入力とかで他の人が作ったレコードを参照できないようにするなどに利用できるかなと思いました。
それでは見ていきましょう
以下の記事は、Claris FileMaker 関数・スクリプトガイド(バージョン 19 対応)より、
Claris FileMaker 公式トレーニング教材
「23.自分の作ったレコードのみ表示する(827ページ)」を元に掲載しています。
この文献から、アクセス権のセットによって表示の制御を学習することができました。文献の執筆者、関係者の方々に深謝いたします。
なお、このブログ記事の趣旨は、弊社所属スタッフの Claris FileMaker 学習の成果を公開することを目的とし、同時に、参考文献の内容の紹介に資するものであることを Claris International Inc. が確認しています。
サンプル
8月3日時点のとあるメジャーリーグ球団選手の成績を二つのアカウントで生成しました。
考え方
アカウントに割り当てたアクセス権セットのレコードのカスタムアクセス権を、自分のアカウントで作成したレコードのみアクセス権を持つように設定します。
アクセス権を持たないレコードは検索やリレーションの対象にならないため、自分の作成したレコードのみ表示されるようになります。自分のアカウントで作成したレコードの判定にはデフォルトフィールドの「作成者」を使用します。
関数・スクリプト実装例
1.ファイルのセキュリティオプションを確認します。
・利用者のひとつずつのアカウントが割り当てられていることを確認します。[ファイル]→[管理]→セキュリティを選択します。
・自動ログインが設定されている場合は解除します。[ファイル]→[ファイルオプション]で確認します。
[次のアカウントを使用してログイン]のチェックをオフにします。
2.自分の作成したレコードのみ表示するアクセス権セットを作ります。
・[セキュリティの管理]の[詳細設定]からアクセス権セットを作成します。
[データ入力のみ]のアクセス権セットを複製して使います。
・複製したアクセス権セットの[レコード]に[カスタムアクセス権]を設定します。
・[表示]のアクセス権を[制限…]に設定して、表示できる条件を計算式で指定します。[作成者]フィールドの値と『Get( アカウント名 )』が同じ場合に表示できるように設定します。
作成者 = Get ( アカウント名 )
・アカウントのアクセス権セットの割り当てを新しく作成したアクセス権セットに変更します。
3.すべてのレコードを表示するボタンを作成する
・レイアウトにボタンを配置してすべてのレコードに当てはまる条件で検索するようにボタン設定します(単一ステップ)。
ここでは [検索実行] スクリプトステップに[ 検索条件の指定]オプションでデフォルトフィールドの [主キー] に値の入ったレコードを検索するように設定します(主キーは空欄不可なのですべてのレコードが該当する)。
実行
ステータスツールバーから「すべてを表示」をクリックしたとき
他のアカウントで作成されたレコードのフィールドは<アクセス権がありません>と表示されて値が表示されません。
すべてのレコードを表示するためのスクリプトを実行したとき
自分が作成したレコードのみが表示されます。
検索を行ったとき
自分が作成したレコードのみが対象レコードとして帰ります。
他の人のアカウントでログインしているとき
検索を行うとログインしているアカウントで作成したレコードのみが対象レコードとして帰ります。
いかがでしたでしょうか
トレード期限ということもあってチームを去った選手がすでにデータとしてなかったので少し寂しい気持ちになりましたが、アクセス権のセットによって表示の制御ができることを学習しました。
機会があったらお試しください。最後までご覧いただきありがとうございました。
参考文献: Claris FileMaker 公式トレーニング教材 から、「Claris FileMaker 関数・スクリプトガイド」 等を参考にしています
https://content.claris.com/fmb19_reg-ja