サブフォームの実行時の動作

表示フォーム > GUIコントロール > GUIコントロールグループ > サブフォームコントロール

サブフォームには、Tabキーによるカーソル移動か、サブフォオームへのクリックで入ることができます。実行エンジンは、サブタスクの最初のコントロールにパークします。パーク可能なコントロールにクリックすると、実行エンジンはフォーカスをサブタスクに移動させ、選択したコントロールにパークします。この時、[タスク前]、[レコード前]、[コントロール前]の処理を実行します。パーク不可のコントロールをクリックした場合、実行エンジンはフォーカスをサブフォームのタスクに移動させ、最初のパーク可能なコントロールにパークします。

実行エンジンが[閉じる]イベントやサブフォーム以外の領域をクリックしたり、[タスク終了条件]特性によってサブタスクを終了させた場合、実行エンジンは、[コントロール後]、[レコード後]、[タスク後]の各処理を実行します。フォーカスは、親タスクで定義された[タブ順序]特性や[タブ移動方向]特性に基づいて、親タスクの次のコントロールに移動します。

サブタスクに戻り、データビューが再表示されなかった場合、これは、範囲、リンク、ソート、インデックス、結合リンク、または外部結合リンクの設定が修正されていないことを意味しています。サブタスクは、最後に表示された同じページまたはレコードを保持します。

参考

実行エンジンが親タスクにフォーカスを移した場合、サブタスクは自動的にクローズされるため、親タスクがクローズした時は、どの処理もサブタスクには必要としません。

同期

親タスクのトランザクションが「遅延」に設定されて、サブフォームタスクが「親と同じ」か「遅延」に設定されている場合、[コール]処理コマンドの[同期]特性が「Yes」に設定されているようにサブフォームタスクを呼び出します。

ロック

サブフォームタスクの呼び出しは、親タスクのレコード上で暗黙のロックを発生させません。[コール]処理コマンドの[ロック]特性が「No」に設定されているかのように、サブフォームタスクを呼び出します。