471 Views
August 28, 19
スライド概要
Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。
第15回は@DbColumと@DbLookup についての1回目
@ -notes knows community- 2019/08/08 @関数Talk 第15回 公開版 @ ネオアクシス株式会社 阿部覚 (tw:) @abesat
@ 毎回参照させていただく IBMさんのオンラインヘルプで こんな表示が @
@ しばし残すけど、 いずれIBMサイトからは無くなるよ、 ということみたい @ HCLさんのサイトで 新しいヘルプが出るのかちょっと不安だけど 新しい素敵なヘルプが出るのを超期待しつつ 当面はIBMさんのヘルプを参照しています
@ えー そろそろやってよ、というリクエス トがありました… うーん 奥深いし、課題もあり 1回ではやり切れないとは思いつつ いったん✋をつけてみましょうか @
@ @DbColumn @DbLookUp 1回じゃ話しきれない雑談の 基本篇 @
@ 共通して2つの機能に大別されます 「Dominoデータソース」 Dominoデータベースのビューを通して 値をもらってくる 「ODBCデータソース」 外部のリレーショナルデータベースを通して 値をもらってくる 本雑談では、基本重視で ODBCデータソースについては いったん割愛させていただきます☺ @
@ では、ビューから値をもらう「Dominoデータソース」とは まずは両関数を並べて表示すると 基本的な構造はこんな感じ @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または または fieldName ; keywords ) @ 赤字は@DbColumnにはなく@DbLookupにのみある引数
@ 引数概略 その1 @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) classはDominoデータソースを意味する "Notes” または "” @ cacheは "” / "NoCache” / "ReCache” の3つから選択 この関数の実行結果を「覚えておくかどうか」の 指定です。内容説明は今回省略… ✋私には"ReCache”の存在意義がいまいち不明
@ 引数概略 その2 @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) 引用するビューが どこの何というデータベースにあるのかを指定 自データベース内にあるのなら "”だけでも @
@ 引数概略 その3 @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) ここでは データをもらってくる対象のビュー名を指定します @
@ 引数概略 その4 @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 ) ; ODBCかDominoか、結果を覚えるかどうか と、 @ このサーバーの、あのデータベースの、 そのビューの、 ○列目だよ 以上がこれで特定されます。
@ これで@DbColumn側の引数はそろったので 実例で確認します、 説明の都合上、こんなフォームとビューを作りました @
@ これで@DbColumnの引数はそろったので 実例で確認します 説明の都合上、こんなフォームとビューを作りました プリビューしたフォーム プリビューしたフォーム @ ビューを参照する@DbColumn式 式の結果を表示する 表示用の計算結果フィールド
@ フォーム部分の設計を示すと こんな感じです ビューを参照する@DbColumn式 (編集可能なテキストフィールドで入力) 式の結果を表示する 表示用の計算結果フィールド @ @Evalは他の式を実行する@関数です
@ とりあえずは 略せるところは略した@DbColumn式で確認 class : cache 今回は説明省略 今回は説明省略 server : database 略すと自データベース 略すと自データベース view 上のビューの名前 上のビューの名前 @ columnNumber
@ columnNumber部分の数値を増やすと @
@ columnNumber部分の数値を増やすと… @
@ columnNumber部分の数値を増やすと…… @
@ なお、columnNumberを0にしても、 1のときと同じ結果でした…常にそうなるかどうかは未検証 @
@ これで、@DbColumnのほうは イメージがつかめたでしょうか? 次に @DbLookupでしか使わない引数を確認します @
@ 引数概略 その5 @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または fieldName ; keywords ) keyは絞り込みに使う値で、 1列目の値から指定します といってもピンとこないと思うので また実例を @
@ 1列目が"第22回"の行(文書)の2列目は何? といった絞り込みです @
@ keyとcolumnNumberによって、 どの行のどの値をもらってくるかが変わります @ keyは複数指定も可能
@ 引数概略 その6 @DbColumn ( class : cache ; server : database ; view ; columnNumber ) @DbLookup ( class : cache ; server : database ; view ; key ; columnNumber または keywords ) fieldName ; @DbLookupでは 列番号の代わりにフィールド名を 使うこともできます @ 数字なら列番号、引用符付きの文字ならフィールド名と 自動判断されます
@ たとえば、ビューには表示されていない 開始時間のフィールド値を取得する、とか @
@ 今回の基本篇はここで一区切りつけたいと思います たしか従来は fieldNameよりcolumnNumberのほうが パフォーマンスが良いと推奨されていたように思います しかし最近私は、fieldNameのほうが捨てがたいのではと 感じています、その理由は別途 @ 今回触れなかった引数のkeywordsについては、 前置きの話が必要だと思いますので、別途 ほか、 引数の制限など、もう少し具体的な使い方は 後続の回で
@ う と が り あ 聴 ご清 ! た し ま い ざ ご @