| 2016/08/26(Fri) 21:12:33 編集(投稿者) 2016/08/26(Fri) 15:53:22 編集(投稿者) 2016/08/26(Fri) 15:51:11 編集(投稿者) 2016/08/26(Fri) 15:46:44 編集(投稿者)
> 早速イベントを使って集計結果を表示してみようと思ったのですが、 > 集計結果を変数にセットする事ができませんでした。 > (もともと対応してないかもですが・・・) > > &残枚数に在庫数の合計をセットしたかったのですが、 > 書き出しで別テーブルに出力した後に、そのテーブルを > 参照しないと取得できないのでしょうか?? > > ---------------------------------------------------------- > 手続き定義開始 prcTest( ) > 変数宣言 自動,文字列{ &icon, &title = "prcTest( )", &msg } > 変数宣言 自動,整数 { &targetTblNum, &tblNum, &done } > > &targetTblNum = &hwindow > 手続き実行 TBLprcTableMultiOpen( &targetTblNum, &tblNum, &done ) > > if ( &tblNum ) > * 編集表 "在庫管理" > 絞り込み [品目名]="CD" > 行集計 データ行=無効,並べ替え=する,\ > 小計[在庫数]{[品目名]#項目値,[在庫数]#合計} > 代入 &残枚数=[在庫数] ←この行で集計した在庫数をセットしたいです。 > 終了 表 &tblNum > end > 編集表 &hwindow > > 手続き定義終了
> 集計結果を変数にセットする事ができませんでした。
1.テキストボックスに値が表示されない事と、集計結果を変数にセットする事は別のことです。
テキストボックスに値が表示されない事を解消するには、
メソッド呼び出し @フォーム.変数変更( )
を実行して、変数の値を再描画(リドロウ)してください。
2.予想した値と違うことと、集計結果を変数にセットする事は別のことです。
現行の場合、行集計の指定が誤っていないですか???
行集計 データ行=無効, 総計{[在庫数]#合計}
これならば、総計行が1つなので間違えないでしょう。
3.行集計の結果を直接確認することをお勧めします。
※確認する場合には一括処理から実行しないでフォーム単体でオープンしてください。 ※当方は一括処理でアプリケーションを作らないので、一括処理から実行した場合にはどうなるかワカリマセン。
ウィンドウ作成 表
このコマンドで、行集計の結果が表ウィンドウとして見られます。
乱暴ですが、確実です。
※ウィンドウ作成 表 の代わりに、書き出し 表 でディスクに保存することも有効です。
なお、
終了 表 &tblNum
で、「KU1066:イベントハンドラでは表示中の表を閉じることはできません」になりますが、無視して構いません。
確認が済んだら、ウィンドウ作成 表 はコメントアウトしてください。
4.すっぽんぽんの基本状態であることが判っていても、絞込みの直前には
解除 *
を実行して、石橋を叩いて渡ってください。
オシマイ。
<変更前>
手続き定義開始 prcTest( ) 変数宣言 自動,文字列{ &icon, &title = "prcTest( )", &msg } 変数宣言 自動,整数 { &targetTblNum, &tblNum, &done }
&targetTblNum = &hwindow 手続き実行 TBLprcTableMultiOpen( &targetTblNum, &tblNum, &done )
if ( &tblNum ) * 編集表 "在庫管理" 絞り込み [品目名]="CD" 行集計 データ行=無効,並べ替え=する,\ 小計[在庫数]{[品目名]#項目値,[在庫数]#合計} 代入 &残枚数=[在庫数] /* ←この行で集計した在庫数をセットしたいです。*/ 終了 表 &tblNum end 編集表 &hwindow
手続き定義終了
<変更後>
手続き定義開始 prcTest( ) 変数宣言 自動,文字列{ &icon, &title = "prcTest( )", &msg } 変数宣言 自動,整数 { &targetTblNum, &tblNum, &done }
&targetTblNum = &hwindow 手続き実行 TBLprcTableMultiOpen( &targetTblNum, &tblNum, &done )
if ( &tblNum ) **編集表 "在庫管理"
解除 *
絞り込み [品目名]="CD"
**行集計 データ行=無効,並べ替え=する,\ ** 小計[在庫数]{[品目名]#項目値,[在庫数]#合計}
行集計 データ行=無効, 総計{[在庫数]#合計}
代入 &残枚数=[在庫数] /* ←この行で集計した在庫数をセットしたいです。*/
**ウィンドウ作成 表
メソッド呼び出し @フォーム.変数変更( )
終了 表 &tblNum end 編集表 &hwindow
手続き定義終了
<追伸>
通りすがりさんが書いてくださったように、行集計するまでもなく
項目集計 [在庫数] &残枚数=&合計値
でOKじゃないですか。
|