logo (2).png

APPSHEET

Home
Blog
旧フォーラム
Logo.png
この動作を確認するには、公開後のサイトへ移動してください。
  • すべての記事
  • マイポスト
石郷岡一平
2020年6月02日

特定の行のみをUserが編集できるようにしたい

カテゴリー: アップシート フォーラム

またまた質問すみません。

現在、スプレッドシートをデータソースとして、従業員の住所録を作っています。


一般の従業員(User)には、以下の権限を与えたいと考えています。

 ①全従業員のデータの閲覧

 ②自分のデータ(行)の編集


しかし、②の実現方法が分からず困っています。

「Are updates allowed?」のEXPRESSION ASSISTANTでは、「This formula is not evaluated in the context of a row, so column values are not available.」と書いており、行の値を使うことができません。




②の実現方法を教えてください。

よろしく言お願い致します。


2件の回答1件の返信
0
3件のコメント
コメント機能がオフになっています。
K
Koichi Tsuji
2020年6月02日
ベストアンサー

このケースですと、Tableベースの設定ではなく、ROW (行)単位の設定が必要となります。ここで、「自分のデータ(行)」か否かの認定を行うためには、そのテーブルに「Email」のアドレスを保存しているFIELDが必要となります。従業員の住所録、のテーブルですが、EAMILのアドレスの項目はありますか?無い場合はFIELDSの新設とデータの入力を行ってください。

その際、そこに入力されるEmailアドレスはアップシートのアプリのユーザーとして登録する際に利用されるメールアドレスとして下さい。


例えば、


郵便番号 住所1 住所2 電話番号 email


といったfieldsあるとします。


それぞれのfieldの設定に入り EDITIFの項目にAppsheetのExpressionを入力します。Expressionは極めて簡単で


[_thisrow].[email]=useremail()


もしくは単に

[email]=useremail()

でもoKEYです。


uSEREMAIL()という関数はログインしているユーザーのメールアドレスを返します。そのeMAILアドレスのvalueがその行に保存されているemailの値と同じ、つまりは「自分の行」が正の場合のみeditableなるわけです。この関数がfalseである場合は逆に編集が出来ず、結果閲覧のみ。


入力制限をしたいfields、項目すべてにこのeditifの条件を設定してください。

1
石
石郷岡一平
2020年6月02日
返信先

テーブルに「Email」のアドレスを保存しているFIELDがあったので、ご教示頂いた方法で実現できました!


とても助かりました。ありがとうございました。

いいね!

K
Koichi Tsuji
2020年6月02日

機能実装完了されたようで良かったです。

1
3件のコメント

© 2019 by Vendola Solutions LLC