| 2019/06/22(Sat) 15:37:35 編集(投稿者)
■No11807に返信(けんたさんの記事)
>表引きに並び替えの索引は使用できないのでしょうか。 う〜ん、どうなんでしょうね?
>また、結合表は不勉強なので、この機会に覚えたいと思います。 結合/行集計方式について、別途ファイルを挙げてみたので、操作方法を以下補足します。
1)事前に 「現金出納帳」「普通預金出納帳」「当座預金出納帳」各表の先頭行の[年月日]項目値 が空となっていると何かと不都合なので、先頭行には「前月から繰越」的に前月の末日、 即ち「H31/5/31」とかを予め入れておきました。
2)結合表定義 ・「☆集計表.vix」定義では3表を繋ぐ項目として[年月日]を指定。 ・必要な表示項目は(共通の)[年月日]と各表の[残高]。 (項目名は同名にならぬよう自動的に[残高][残高1][残高2]となる) ・結合条件/属性設定では「全レコードを抽出」にチェック。
3)結合の実行 ・結合結果が表として表示されるので、行集計させる。 (行集計条件名「年月日小計」として用意してある) ・表示(V)から「集計行のみ」を指定。
4)データ読み込み ・上記の状態で「☆残高日計表.tbx」を開く。 (もし前回データが残っていたら全行削除する) ・読み込み/表で「☆集計表.vix」データを読み込む。 (行集計状態の集計行を読むので「編集表を使用」にチェック) (読み込み条件名「☆集計表vix読込」として用意済み)
5)最終整形 ・「☆残高日計表.tbx」では、表定義の項目計算式により [残高]→[現金](の残高) [残高1]→[普通預金](の残高) [残高2]→[当座預金](の残高) として取得済み。 ・先頭の[年月日]が空の項目はゴミなので行削除。 ・[残高*]でデータがない日の分は空なので、以下の置換により同上値で埋める。 各置換式は、#条件選択([],[],1,#直前値([],"")) (条件名「空行同上置換」として用意済み) ・[残高][残高1][残高2]は表示幅ゼロにしておくとよいかも。
6)おまけ これら作業を一括処理で一発で済ませられるよう「☆残高日計取得.cmx」も。 ------------ 一括処理の記述 ------------- 確認 "残高日計取得を実行しますか",&実行リターン 条件(&実行リターン<>1) 終了 結合 "☆集計表.vix","☆残高日計表$$.tbx",終了状態=&実行リターン 表 "☆残高日計表$$.tbx",表番号=1 絞り込み [年月日]="" 条件(&選択件数>0) 行削除 * 解除 * 行集計 データ行=無効,並べ替え=する,小計[年月日]{[年月日]#項目値,[残高]#項目値,[残高1]#項目値,[残高2]#項目値} 表 "☆残高日計表.tbx",表番号=2 行削除 *,圧縮 読み込み 表,1, 編集表=する, 終了状態=&実行リターン,* 置換 終了状態=&実行リターン \ ,[残高]=#条件選択([],[],1,#直前値([],"")) \ ,[残高1]=#条件選択([],[],1,#直前値([],"")) \ ,[残高2]=#条件選択([],[],1,#直前値([],"")) 表形式編集 /*←結果確認のため*/ -----------------------------------------
|