AnsweredAssumed Answered

テーブル間のデータ処理

Question asked by ゴルビー on Apr 12, 2011
Latest reply on Apr 22, 2011 by ゴルビー

タイトル

テーブル間のデータ処理

フォーラムに投稿

下記データテーブルのIDを、X,Y値により表示用テーブルに並び変えて表示する方法を検討しています。

データテーブルは複数存在し、3フィールドでデータ数が400~900件です。表示用テーブルは1つで、30フィールド×30データとなります。


「データテーブルn」 

ID    X Y

A001  1 1

A002  1 2

A003  1 3

A004  2 1

A005  2 2

A006  2 3

A007  3 1

A008  3 2

A009  3 3

・・・

「表示用テーブル」

X1      X2     X3  ・・・ X30

A001 A004 A007

A002 A005 A008

A003 A006 A009

・・

とりあえず下記スクリプト(概要)を作成しましたが、コピーおよび貼り付けスクリプトに計算値が使用できないため下記問題をかかえています。


・データテーブルの複数対応ができない。

・フィールドの切り替えにIf文を使うしかない。

Loop

レイアウト切り替え ["データテーブル"&テーブル番号指定::g_n]

レコード/検索条件/ページに移動[ダイアログなし;$$count] 

コピー[選択; データテーブルn::ID]

変数を設定[[$$x_pos; 値:${データテーブルn}::X] 

変数を設定[[$$y_pos; 値:${データテーブルn}::Y]

レイアウト切り替え [「表示用テーブル」(表示用テーブル)] 

レコード/検索条件/ページに移動[ダイアログなし;$$y_pos] 

If[$$x_pos=1]

貼り付け[選択;表示用テーブル::X1]

・ 

Else If[$$x_pos=30]

貼り付け[選択;表示用テーブル::X30]

End_If# 変数を設定[[$$count; 値:$$count+1] 

Exit Loop If[$$count=30]

End_Loop


また、上記スクリプトでは処理に3分ぐらいかかりあまり実用的ではありません。

長文で申し訳ございませんが、ご教示お願いいたします。

Outcomes