いいね!数

1

閲覧数
182

こんな事を実現するアプローチを探しています

  外部DB・WEBを検索し、検索結果を配列に格納する (複数行列)

  配列の内容を@DialogBoxや@PickListの様に表示し、ユーザーが選択

  上の内容を現在の文書のフィールドに転記し、配列の内容は破棄

具体的には

   「○県△市」を外部システム(RDB・Web)に検索し、検索結果の郵便番号と町名を配列に格納

  配列の内容を郵便番号・町名をカラム分けして表示し、ユーザーに選択させる

  選択された郵便番号・町名を現在の文書のフィールドに値セット

という様な動きです。

 

Notes以外の外部システムへ問合わせる為、一次検索結果は配列になります。

配列の内容を一時文書として作成し、ビューで操作するなら@関数でできるのかと思いますが・・・

複数ユーザーの同時使用や削除スタブ増加とか悪影響がありそうで躊躇しています。

他にやり方がある様でしたら 教えて頂けないでしょうか。

サーバー情報:8.5.3 | クライアント情報:Windows 78.5.3 | 
カテゴリ:アプリ開発 - Notes アプリ | タグ:
  | 質問日時:Sep 6, 2017, 2:25:41 PM

回答・コメント

いいね!数

0

取得する情報が1次配列であれば、 @Prompt のオプションで [OkCancelList] を使用して配列の内容から選択させることができますが、

> 配列の内容を郵便番号・町名をカラム分けして表示し、ユーザーに選択させる

を満たすのであれば、 @PickList でビュー文書から選択させないと厳しそうですね。


あとは @PickList を使うとしても選択内容が郵便番号と町名なのであれば、毎度最新情報を取ってくる必要はないのかなと思いましたので
選択肢用の文書を毎回取りに行って作るのではなく、
ずっと残したままにしておくようにして定期エージェントなどで毎月更新などさせる手もあるのかなと思いました。

回答日時:Sep 7, 2017, 11:40:06 AM

いいね!数

0

コメントありがとうございます

LC LSXで外部RDBに問合わせを行い、ユーザーに選択させたいのですが、情報が集まりません。

Javaなら選択ウィンドウを出したりできるかと思いましたが、LC LSXに替わるLC Javaの情報も集まらず・・・。

 

とりあえず選択ウィンドウをJavaで処理する方向で考えてみます。

回答日時:Sep 14, 2017, 2:09:57 PM

いいね!数

0

郵便番号は7桁なので見栄えは整えやすく
町名と列をわけることにこだわりがなければ@DialogBox式でできそうな気もします。

事前にダイアログ用のフォーム(例:fmDialog)を作成し
レイアウト領域内へtmp2という名前でリストボックスを作成します。
リストボックスの選択の式にtmp1を指定しておきます。

利用者が使用する検索フォームに配列を収めるための複数値用フィールド(tmp1)を配置します。
そこには以下のように郵便番号と町名を半角スペースで連結した値を保管します。

142-0063 東京都品川区荏原;140-0014 東京都品川区大井;141-0032 東京都品川区大崎・・・
(RDBからの検索結果を加工してtmp1に入れると良いと思います)

また、ダイアログの結果を保存するフィールド(tmp2)を配置します。

適当な場所にボタンを作成して下記のような式で利用者が選択した値から、郵便番号と町名を取り出します。
@If(tmp1="";@Return("");"");
@DialogBox("fmDialog";[AutoHorzFit]:[AutoVertFit];"選択");
@If(tmp2="";@Return("");@Do(@SetField("郵便";@Left(tmp2;" "));@SetField("町村";@Right(tmp2;" "))))

確認はしてませんが、テキストフィールドを経由しますので
もしかしたら文字列全体の容量制限があるかもしれません。
十分にテストを行う必要があると思います。

回答日時:Nov 29, 2017, 5:04:14 PM