メインコンテンツまでスキップ
バージョン: 20 R7 BETA

EDIT FORMULA

EDIT FORMULA ( aTable ; formula )

引数説明
aTableTableフォーミュラエディタにデフォルトで表示するテーブル
formulaTextフォーミュラエディタに表示するフォーミュラを含む変 またはエディタの実を表示するには ""
ユーザが確定したフォーミュラ

このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。

説明

EDIT FORMULAコマンドを使用してフォーミュラーエディターを開き、ユーザーはフォーミュラーを作成したり変更したりできます。次の項目をデフォルトとして表示することができます。

  • 左側のリストには引数 aTable に渡したテーブルのフィールド。
  • フォーミュラーエリアには、formula 変数に格納されたフォーミュラー。formulaに空の文字列を渡した場合、デフォルトのフォーミュラーは表示されず、フォーミュラーエディターのみが表示されます。

ユーザーは表示されたformulaを変更して保存できます。また新規にフォーミュラーを記述したりロードしたりすることもできます。ユーザーがダイアログを受け入れると、システム変数OKに1が設定され、formula 変数にはユーザーが決定したフォーミュラーが格納されます。ユーザーがフォーミュラーをキャンセルすると、システム変数OKに0が設定され、formula 変数は変更されません。

Note:

  • デフォルトで、すべてのユーザーに対してメソッドとコマンドの使用は制限されます。(4D2004.4以降のバージョンにて作成されたデータベースで、DesignerとAdministratorを除く)。このメカニズムが有効であるとき、開発者はSET ALLOWED METHODSコマンドを使用して、ユーザが利用可能な要素を明示的に指定する必要があります。もしformulaが、SET ALLOWED METHODS コマンドを使用してフォーミュラエディターで許可されていないメソッドを呼び出すと、シンタックスエラーが生成され、ダイアログボックスを受け入れることはできません。
  • デフォルトでは、フォーミュラーエディターはメニューバーと関連付いていません。フォーミュラーエディター内でカット・コピー・ペースト等のショートカットを使うには、呼び出しプロセスにおいて標準の編集メニューを設定しておく必要があります。
  • SET TABLE TITLES およびSET FIELD TITLES コマンドによって定義されたバーチャルストラクチャーは(あった場合)、formula 変数内で使用してはいけません。また返される値においても4D はバーチャルストラクチャーを使用しません。バーチャルストラクチャーはフォーミュラエディターのダイアログボックス内においてのみ使用されます。

ダイアログボックスが確定したとしても、formulaが実行されないことを心に留めてください。フォーミュラの検証と変数の中身が更新されるだけです。formulaを実行する必要がある場合は、EXECUTE FORMULA コマンドを使用しなければなりません。

例題

事前に入力されたフォーミュラは使用せず、[Employees]テーブルを使用してフォーミュラエディタを表示します:

 $myFormula:=""
 EDIT FORMULA([Employees];$myFormula)
 If(OK=1)
    APPLY TO SELECTION([Employees];EXECUTE FORMULA($myFormula))
 End if

システム変数およびセット

ユーザがダイアログボックスを受け入れるとシステム変数OKに1が、キャンセルすると0が設定されます。

参照

APPLY TO SELECTION
EXECUTE FORMULA
SET ALLOWED METHODS