「在庫マスター」テーブルを併合先、「売上表」テーブルを併合元として、併合先の「在庫数」項目のデータから併合元の「売上数」の項目のデータを減算するには、次のように操作します。
!!Main
%tableID1 = Goro.OpenTable("在庫マスター", , 1) | !!(1) |
%tableID2 = Goro.OpenTable("売上表", , 1) | !!(2) |
| |
Goro.Current = %tableID1 | !!(3) |
| |
%key = {{.Field1 = "コード", .Field2 = "コード", .Key = true}, {.Field1 = "在庫数", .Field2 = "売上数", .Operation = 3 }} | !!(4) |
%method = 2 | !!(5) |
| |
Goro.Merge(, %tableID2, %key, %method) | !!(6) |
(1),(2)
%tableID1 = Goro.OpenTable("在庫マスター", , 1)
%tableID2 = Goro.OpenTable("売上表", , 1)
「在庫マスター」と「売上表」テーブルを一覧表示形式(ViewMode = 1)で開き、その表IDを数値として変数%tableID1と%tableID2に格納します。
(3)Goro.Current = %tableID1
変数%tableID1に格納されている「在庫マスター」テーブルをカレントテーブルにします。
(4)%key = {{.Field1 = "コード", .Field2 = "コード", .Key = true}, {.Field1 = "在庫数", .Field2 = "売上数", .Operation = 3 }}
表「在庫マスター」と表「売上表」における併合条件を変数「%key」に配列で指定します。併合時にキーとなる項目として、表「在庫マスター」の項目「コード」を、表「売上表」の項目「コード」をそれぞれ指定します。また、表「在庫マスター」の項目「在庫数」を、表「売上表」の項目「売上数」によって減算される様に設定(.Operation= 3)します。
(5)%method = 2
表「売上表」のレコードが表「在庫マスター」に併合され、表「在庫マスター」が上書きされる様に設定します。
(6)Goro.Merge(, %tableID2, %key, %method)
カレント表「在庫マスター」について、併合する表「売上表」と変数「%key」と「%method」において併合を実行します。併合の結果は、直ちにカレント表「在庫マスター」に表れます。
マクロ簡易作成機能を使えば、マクロのコードを記述せずに条件にあった絞り込みをマクロ化できます。
- (1)動作一覧(L)
- 表→表を開く
- (2)「表を開く」の設定(P)
- 表名:在庫マスター
- (3)動作一覧(L)
- 表→表を開く
- (4)「表を開く」の設定(P)
- 表名:売上表
- (5)動作一覧(L)
- 表→カレント表の指定
- (6)「カレント表の指定」の設定(P)
- 表:在庫マスター
- (7)動作一覧(L)
- データ→併合
- (8)「併合」の設定(P)
- 条件:併合_在庫数
|
マクロ簡易作成機能で作成されたマクロを JustBuilderへ(J) にてコード変換すると、次のようになります。
!! 表を開く
%表ID_01 = Goro.OpenTable("在庫マスター")
!! 表を開く
%表ID_02 = Goro.OpenTable("売上表")
!! カレント表の指定
Goro.Current = Goro.TableList("在庫マスター")
!! 併合
Goro.Merge("併合_在庫数")