491 Views
September 30, 20
スライド概要
Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談しております。
第19回は @DbColumn と @DbLookup についてのつづきと
@DocumentUniqueID と @InheritedDocumentUniqueID についてもつづきを。
@ -notes knows community- 2020/02/13 @関数Talk 第19回 公開版 @ 阿部 覚 (tw:) @abesat
@ '19年9,10,11月は @DbColumn, @DbLookup のお話を 3回連続で行い、 まだつづきがありながら… 😅 '19年12月には @DocumentUniqueID, @InheritedDocumentUniqueID を お話ししました しかし1回では終わらず… 😅 @ 今回はいずれにせよ どちらかのつづきをやらねば :
@ @DbColumn @DbLookup 引数ピックアップ篇その2 @
@ 引数ピックアップ篇その1では こちらの引数をお話ししました @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) @
@ 今回は、残る こちらの引数のお話です @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) @ まずはviewから
@@DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) 検索するビュー名またはフォルダ名の指定です @
@ 指定するビュー名ですが 設計上のオモテの名前でも別名でも きちんと取得できます @
@@DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) 探索のためのキーの指定(@DbLookupのみ) たいていの場合、文字列で指定すると思います @ ヘルプによれば数値、日時、 またはリストも使える由(今回はここには深入りしません)
@@DbColumn ( class : cache ; server : database ; view ; @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber ) columnNumber または fieldName ; keywords ) 探索先の列番号またはフィールド名の指定 フィールド名も 指定できますが 多くの場合、 番号を使い 列の値を取得していると 思います @
@ 探索先の列番号またはフィールド名の指定 以前触れたように、実は0を指定しても1列目を とってくるようです @
@ 探索先の列番号またはフィールド名の指定 また、存在する列数を越えた指定をしてもエラーにはならず… @
@ 探索先の列番号またはフィールド名の指定 さらに番号がこの数以上になると、再び1列目を表示します 確認すると、この数値は、2の31乗でした @ あと、マイナスを指定しても… まあ興味のある方はご自分でお試しください 😅
@@DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) キーワードの指定(@DbLookupのみ) 次の3種類 ● [FAILSILENT] ● [PARTIALMATCH] ● [RETURNDOCUMENTUNIQUEID] [FAILSILENT]はすでにお話ししたので 第16回のTalkをご参照ください @
@ キーワードの指定(@DbLookupのみ) [PARTIALMATCH] ヘルプには 「パラメータで指定されたキー値が列の値の最初の数文字と一致する場 合、一致内容を返します。」 数文字って何文字だよ!と思い… @
@ キーワードの指定(@DbLookupのみ) [PARTIALMATCH]でキーの先頭2文字 @ できた
@ キーワードの指定(@DbLookupのみ) [PARTIALMATCH]でキーの先頭1文字 えっ いけるの? @
@ キーワードの指定(@DbLookupのみ) [PARTIALMATCH]でキーの先頭0文字 えーーーっ? @ つまり前方一致が何文字でもよく、 0文字だと"@DbColumn 化"してしまうらしいことが、判明しました
@ キーワードの指定(@DbLookupのみ) [RETURNDOCUMENTUNIQUEID] フィールドや列の値ではなく、文書の UNID を返します。 列指定やフィールド指定は無視されるの? @
@ キーワードの指定(@DbLookupのみ) [RETURNDOCUMENTUNIQUEID] フィールドや列の値ではなく、文書の UNID を返します。 列指定やフィールド指定は無視されるの? @ そのようです!
@ 以上、かけあしでしたが 4回目となりました @DbColumn,@DbLookupのおはなしは 終わりたいと思います つづいて、 @
@ @DocumentUniqueID @InheritedDocumentUniqueIDの 雑談 @
@ 前回は「考えられる使い方その1」でした 12月の「のの会」では、 そのままフィールド内で使う場合(文書リンクとしての使用) についてトークしました @ フィールドの式にそのまま関数を置くことで文書リンクになる状況を 確認しました どの程度業務で使うことがあるかについては「?」がつきましたが
@ 考えられる使い方その2 @Text(@DocumentUniqueID) もうひとつの使い方は @Text(@InheritedDocumentUniqueID) @ @Textと組み合わせて使うこと
@ 考えられる使い方その2 @Textと併用することで、32桁の文書IDが表示されます これによって、ほかのNotes式に文書特定のための情報を与えることが 可能になります @ この式で文書IDを手に入れておくと、どんなことができるか 例えば、他の式と組み合わせて Notes:// 形式のURL を作り Notes以外のツール上(例えばOfficeファイル上)に、Notes文書への リンクを置くことができます 方法はHCL Master 御代さんのブログなどが参考になるかな…
@ 考えられる使い方その2 たとえば、ビューの列に設定しておくことで ビューに文書IDが表示された列を作ることができます この列を用意しておくと、 @DbColumn式や@Dblookup式を通して、 ビュー上の文書の文書IDを取り出せるようになります @ ・・・あれ?
@ 考えられる使い方その2 そう、少なくとも @DbLookup式に関していえば そんなことをわざわざしなくとも、文書IDの列をつくらずとも 前述の[RETURNDOCUMENTUNIQUEID]でこと足りてしまいます。 もともとは、@DbLookup式から文書IDを得る主な方法は 前頁の方法だったのですが、 @ あとから(Notes 6から)追加された [RETURNDOCUMENTUNIQUEID] キーワードにより 簡易化できるようになった次第です
@ 今回もお付き合い ありがとうございました @