コロナ禍の影響もあって「のの会」も、ときどき開催間隔が延びています。その間に、ここで作文するまでの遅延を取り戻せばよいのに、なぜかむしろ悪化させてしまい、昨年8月に行ったトークを、3月が終わる夜に振り返ろうとしております。余談ですが、自分の所属する会社が消滅する夜でもあったりします。
「@関数Talk」としては第23回。


ヘルプに「同じです」と明記されている @DeleteField と @Unavailable は、ほんとに同じなの?と意地悪な期待も寄せつついじってみたのですが、確認できた範囲内では、やっぱり同じ関数でした。

前説に使った @SetField と FIELDキーワード も、構文は違いますが、機能としては同じと言えます。
昔ばなしをすれば、古いバージョンでは、使える場所に少々差があったりしたのですが、最近のバージョンではそれも意識しなくてよいようです。


そんなわけで…22ページ目でちらっと触れたお話になります。

 @DeleteField と @Unavailable を使用する際の構文。
 ヘルプに掲載されている構文は、FIELDキーワードを使用するものだけですが、
 実際には  @SetField の引数として使う構文でも問題なさそうです。


まとめの29ページ目で、「内部のフィールドそのものを消す」と記しました。
LotusScript がわかる方には、「フィールドの Itemそのものを削除する」と申せば通じやすいでしょうか。

フィールドをクリアする方法としては、ほかに

 FIELD TextA := "" ;   FIELD NumberB := 0 ;

などと、ヌル値や0をセットする方法も考えられます。
これはクリアしているようでありながら実際には、ヌル値や0を明示的にセットしているとも言えます。
これに対し @DeleteField と @Unavailable を使った場合は フィールドItemそのものが消え、
ただし設計上にフィールドの定義が存在していれば、
保存した時には新規文書と同様に初期値がセットされる形でフィールドが復活する。

こんな風に云ったらご理解いただけるでしょうか。



まもなく自分の勤め先も @Unavailable となります。具体的には合併で消滅会社となり、存続会社である合併先の社名に変わるので、単に無くなるわけではなく、新たに初期値化される、といってよいのかな?