AnsweredAssumed Answered

ExecuteSQL で作成した計算フィールドが更新されない

Question asked by かるろ on Apr 6, 2018
Latest reply on Apr 8, 2018 by かるろ

お世話になっております。

お知恵を拝借したく、よろしくお願いいたします。

 

◆概要

 ExecuteSQL で作成した計算フィールドは、作成した直後は

 想定通りに計算されるのですが、計算のもとに情報が

 変化しても、ExecuteSQL で作成した計算フィールドが

 更新されず、どうしたら更新されるのかをご教示ください。

 

◆画面イメージ

 (説明)

 ・商品一覧情報があり、画面上部に グローバルフィールドにて

  商品ステータスが1の件数を算出するための ExecuteSQLを

  計算フィールドに埋め込んでいます。

  … SQL文はシンプルな条件式

    作成した直後は正しく件数が表示されている。

 

◆データベース管理画面

◆困ったときの画面イメージ

 … リンゴを追加し、商品ステータスを 1 で登録しました。

   画面上部の販売中商品の数量は 3 になるハズなのですが、情報が

   更新されないです。

 

◆ご教示をいただきたい点

 1. 情報が更新されたタイミングで、何かしらのスクリプトを実行する必要が

  ありましたら、その内容をお教えください。

 

 2. 上記のWhere文の条件は数値で行っていますが、文字で一致条件を

  設定したいときには、どのように記述したらよろしいでしょうか。

  (参考/上記の数字の場合、更新されないですが…)

   ExecuteSQL (

   "SELECT COUNT(\"商品情報\".\"商品ID\")

   AS

   \"販売中数量\"

   FROM  \"商品情報\" 

   WHERE

   \"商品ステータス\" =1

   ";"" ; "" )

   … 商品ステータスのフィールドは数字形式

 

  (文字で作成したい場合。うまくいっていない記述内容)

   ExecuteSQL (

   "SELECT COUNT(\"商品情報\".\"商品ID\")

   AS

   \"販売中数量\"

   FROM  \"商品情報\" 

   WHERE

   \"商品ステータス\" =\"販売中\"

   ";"" ; "" )

   … 商品ステータスのフィールドは文字形式

 

◆補足

 このような集計は、通常自己リレーションを作成するなどして

 集計フィールドを活用することがマニュアル等に記載されていますが、

 実際のデータベースでは、複数の集計結果情報を画面上部に表示をさせたいことと、

 条件式が複数あるため SQL文で一気に表現して、表示をさせたいと考えており、

 ExecuteSQLについて ご教示をいただきたく思っております。

  

 以上よろしくお願いいたします。

Outcomes