フォーラムに投稿 by PARC_box
データベースの最終更新者のアカウント名から、フィールド「最終更新者」の名前を入力させたく思います。
以前、教わった「ログを残す関数の組み方(URL貼り付けようと思ったら、見つからず…)」から簡単に出来るだろうと想像してたら「最終更新者」フィールドの部分には「0」と入ってしまいました。
フィールドが「a」、「b」、「c」と「最終更新者」の4つのみと仮定して、次の様に組んでいます。
Let([
$tg = a & b & c
];
Case (
Get ( アカウント名 ) = "nan" ; 最終更新者 = "ほ" ;
Get ( アカウント名 ) = "de" ; 最終更新者 = "にゃ" ;
Get ( アカウント名 ) = "dame" ; 最終更新者 = "らら" ;
))
Let関数そのものを理解できないまま組んだのがそもそもの間違いであるのは承知してるのですが、
この場合、Let関数は"$tg"部分でローカル変数として、各フィールド[a][b][c]を見張らせてるんだろうな、という自分勝手な解釈で組んでます。
──結果、前に書いたように「最終更新者」フィールドには「0」が入力されるのみとなってます。
Let部分を外すと、最終更新者フィールドは空欄のままですし、やはりどこかそれぞれのフィールドが更新された合図になるべきなんだろうなとLet関数を勘で使ってる所です。
指定のフィールド[a][b][c]に対して入力値が変更された際「最終更新者」フィールドの値を再計算させるにはどうするのが良いでしょう。
あと、現在「最終更新者」フィールドに入力されてしまう「0」というコードは、Get関数で「エラーが無い」という解釈で大丈夫でしょうか。