| 2020/10/18(Sun) 15:01:56 編集(投稿者) 2020/10/17(Sat) 19:04:57 編集(投稿者)
> ひとつ気になったこととして > > >&No = &No + 1 > > ここで言うNoは一般には identity を求められていると思いますが、 > 仮にNo値が1〜5あるとして、たまたまカレントデータがNo=2に在った時には、 > 導かれる&Noは3、すなわち既存グループとなってしまい、新規グループ追加 > ならぬグループの移動になってしまうのでは?
ピンポン!、そのとおりですよ。(^^ゞ
単純に
&objectName = "grpNo" メソッド呼び出し &objectName.グループソース値取得( &No, 0 ) &No = &No + 1
というのは駄目ですねぇ〜。
というわけで、いろいろあるので↑のサンプルは添付しませんでした。(^^ゞ
グサッと鋭利なご指摘を受けましたので、改良版を謹製して以下に示します。今回も添付なしです。
ががが、しかし、これもあくまでもご参考までですよ程度の内容ですよ。
つまり、参考にして、決してこれにて一件落着というものではありませんよ。
p.s.
なお、[グループの連番]と[各行の連番]がごちゃごちゃに捉えられていますが、 最初から当方はグループの連番という扱いで考えております。
なぜならば、質問のタイトルは「グループ追加時の初期値」でありますから、 言うまでも無く、[グループ追加時の初期値の自動加算の目論見]でありましょう。
つまり、[グループ追加時の初期値の自動加算]を、 [表の機能の挿入初期値/編集初期値で援用]しようとしてドツボにハマったというのが質問の出発点でせう。
◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇
※桐10と桐10sでは、コピペで動くはずですよ。
名札 メイン 変数宣言 局所,整数 { &mTblNum, &mMultiTblNum }
*
手続き定義開始 フォーム::フォーム開始(長整数 &表番号)
&mTblNum = &表番号
多重化 &mMultiTblNum = #is表
編集表 &mTblNum
手続き定義終了
手続き定義開始 フォーム::グループ追加開始() 変数宣言 自動,長整数{ &No }
編集表 &mMultiTblNum 解除 * 並べ替え { [No]昇順 } ジャンプ 行番号 = 最終 &No = [No] + 1 **トレース出力 _[No], " ", _&No
編集表 &mTblNum
グループ値代入 [No] = &No
手続き定義終了
|