Editable_If 列の制約はユーザーが行の列値を編集するのを制限するために使用されます。
Editable_If は通常、列値の変更を許可するときのみに使用されます。
- 管理者と特定のユーザーのみが使用でき、他のユーザーは利用できない。
- 別の列が特定の値である場合。
- 新しい行を追加する場合に使用し、既存の行を編集する場合には使用しない。
- 値がまだ提供されていない場合。
Editable_If 式
Editable_If 列の制約は Yes/No 式です。式が TRUE と評価される場合、ユーザーは列値を編集することが許可され、FALSE の場合、許可されません。
すべての列の制約式と同様に、Editable_If 式は列値式 [_THIS] を使用して現在の列値を参照できます。たとえば、現在の列が顧客名の場合、[顧客名] と [_THIS] の両方が同じ値を参照します。
例
("管理者" = USERROLE()) - 指定されたアプリ管理者のみが許可されます。関連情報: USERROLE()
IN(USEREMAIL(), LIST("joe@example.biz", "mary@example.biz")) - 特定のユーザーのみが許可されます。関連情報: LIST()、USEREMAIL()
(USEREMAIL() = [メール]) - メール列値が現在のユーザーに一致する場合にのみ許可されます。関連情報: USEREMAIL()
NOT(IN([従業員 ID], 従業員[従業員 ID])) - 新しい行のみを許可し、既存の行は許可されません。関連情報: IN()、NOT()
ISBLANK(LOOKUP([_THISROW].[従業員 ID], "従業員", "従業員 ID", "名前")) - この従業員 ID に対して名前が以前に設定されていない場合にのみ許可されます。関連情報: ISBLANK()、LOOKUP()
(NOW() < ([タイムスタンプ] + "024:00:00")) - 行が 1 日未満の場合にのみ許可されます。関連情報: NOW()
AND((TIMENOW() >= "08:00:00"), (TIMENOW() < "18:00:00")) - 営業時間中のみ許可します。関連情報: AND()、TIMENOW()
(WEEKDAY(TODAY()) = 2) - 月曜日のみ許可します。関連情報: TODAY()、WEEKDAY()
FALSE : すべてのユーザーによる変更を禁止し、アプリの数式や初期値、アクションによる変更を許可します。
Editable_If の設定
列の Editable_If 列の制約を設定するには、アプリのエディタで [Data] > [Columns] タブに移動し、目的の列の隣にある編集アイコンをクリックします。
下にスクロールして [Update Behavior] セクションに移動すると(必要ならば展開する)、[Editable?] 設定があります。右のフラスコ アイコンをクリックすると、ON / OFF スイッチが式ボックスに置き換わります。
式ボックスをクリックして、Editable_If 式を入力します。Editable_If 列の制約を削除するには、式ボックスの右にある X をクリックします。
Editable_If の範囲
Editable_If 列制約は、ユーザーがその列を含む Form view を操作する場合など、その列値へのユーザーによるアクセスにのみ影響します。この制約は Quick Edit 列(詳細ビューやテーブルビューなど)へのアクセスを許可する前にもチェックされます。
Editable_If はアプリの数式や初期値、アクションのパフォーマンス、その他のアプリの動作には影響しません。
Editable_If は以下のすべてが正の場合にのみ参照されます。
- 列を含むテーブルが追加または更新を許可している。
- 列を含むスライスが(該当する場合)追加または更新を許可している。
- 列に
Editable_If式が設定されている。
Editable_If はアクセスを削減するためにのみ使用でき、基盤のスライスまたはテーブルで許可されている以上にアクセスを拡大するために使用することはできません。