複数フォーム間でのDB参照
■グリッド上のデータを別のフォームに引渡したい場合
グリッドのデータがDBかグループであれば、D_BLKCLRで解除しない限り別のフォームでも参照できます。
具体的には、グリッドのクリックイベント等で、別DBをD_BLOCKし、そのDBを扱う別フォームをロードしフォーカスを移します。
例) D_BLOCK ("DB02",1,.DB01.ITM01,.DB01.ITM01); // DB02を.DB01.ITM01で抽出
CallForm(".Form02"); //DB02の表示へ
■データの受け渡しという点での補足
・DBのデータはフォームのロード/アンロードと関係なく、D_BLOCKしていれば
D_BLKCLRで解除するまでどこでも参照/更新できます。
(DBがリンクされたフォームがロードされていれば自動的に表示されます)
・フォーム上のコントロールの値は、そのフォームに帰属します。
そのフォームがロードされていれば、他のフォームからも参照/変更できます。
(ただし、あまり沢山のフォームを同時にロードしておくことはメモリ不足の原因に
なりますので、不要なフォームはアンロードしておく必要があります)
・システム変数(SYSCnn、SYSInn、SYSDnn)はどのフォームからも共通に参照
できます。(そのプログラム全体でのグローバル変数としてお使い頂けます)