VerPrev関数について
お世話になっております。
ヘルプにて「現在のレコードがフェッチされる前の項目のオリジナル値を取得します。」
とあったので、前行の値を取得できるのかと思ったのですが実際に使用してみると
前行で1の値が入っていた場合、0が返ってきました。
コントロール検証で
アクション 式 VarPrev('XX'VAR) 戻り値:値を入れたい項目 のように使用したのですが、使い方や使うタイミング等あればご教示願います。
-
テーブルコントロールで売上明細等を表示し
1行目
2行目
3行目とあり、
新規で4行目を作成した時、VarPrev関数は
3行目の値を取得する関数 ではないと思います。
お望みは、前行と同じ値をセットしたい項目があると理解しました。
次の行の初期値にしたい項目を一時保管する変数を用意し
レコード後処理で、項目更新 その変数 式=実項目とし
データビューの実項目の代入式に、その変数を式指定するのはどうでしょうか?追伸:レコード前でも同じような作業をしないといけない場面も出てくるような気がします。
-
nkmtさん、コメントありがとうございます。
仰る通り、前行と同じ値を項目にセットしたいと考えております。
そのため、前行の値を取得できる関数がないか探した結果がVerPrev関数でした。
・VerPrev関数は前行の値を取得する関数ではないとのことですが、その場合この関数はどういった使い方をするのでしょうか?
・変数を利用したご提案ありがとうございます!
しかし、この場合だと値の取得はレコード順(入力順)になるのではないでしょうか?
例えば行間に行追加した場合、1→2→3の順で行番号を取得するため
1行目
3行目
2行目の表示になってしまう気がします。
前行の値とは少し異なりますが変数に値を保管するというアイディアを頂いてどうにかならないか試してみようと思います。
ご提案ありがとうございます!
-
・変数で値を保管して、それを受け取る
・他行の明細を照会リンクで取得する
など方法はいくつかあると思います。
VarPrev関数は、
その行のその項目の変更前の値を把握する関数だと思います。 -
レコードが読み込まれた時の項目の値を取り出すことができます。
とヘルプには書かれていますね。 -
nkmtさん、コメントありがとうございます。
明細を照会リンクで取得する、、、というのはイメージがまだつかないのでひとまず変数を利用して試してみます。
>VarPrev関数は、その行のその項目の変更前の値を把握する関数だと思います。
そうなのですね、、、関数で何とかするのは難しそうですね。
お答えいただきありがとうございます。
-
メインソース=売上明細データ
カラム
カラム
カラムとあると思いますが
そこに 照会リンク 売上明細データ
参照したい行の 行番号で位置づけ、行番号で位置づけ
をすれば、他の行の値も変数無しに取得出来ると思います。 -
nkmtさん、コメントありがとうございます。
なるほど、、、一度そちらも試してみます。
私では考え付かなかったので勉強になりました。
ありがとうございます!
サインインしてコメントを残してください。
コメント
7件のコメント