変数をカウントアップしループする方法
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
takahashi
投稿数: 38
![半人前 半人前](../../uploads/rank3dbf8e94a6f72.gif)
jBOLTV3sp1体験版について質問です。
フロー関数又はプロジェクト関数を利用して
初期値1または0から+1カウントアップし
エクセルの明細行を変数に取得し
データマッパーコンポーネントよりDBへ更新するフローを
作成しているのですが、どうにも思ったようにいかず困っております。
Magicなら簡単なんですが・・・
サンプルですとSQLで範囲指定したデータを読み込むので
ループする理屈はわかるのですが、変数のみでループさせたい
のです。
どのようなコンポーネントを利用しどのように組み立てれば
よいのでしょうか?
アバウトすぎる質問で恐縮なのですが、どうぞご教示お願いいたします。
フロー関数又はプロジェクト関数を利用して
初期値1または0から+1カウントアップし
エクセルの明細行を変数に取得し
データマッパーコンポーネントよりDBへ更新するフローを
作成しているのですが、どうにも思ったようにいかず困っております。
Magicなら簡単なんですが・・・
サンプルですとSQLで範囲指定したデータを読み込むので
ループする理屈はわかるのですが、変数のみでループさせたい
のです。
どのようなコンポーネントを利用しどのように組み立てれば
よいのでしょうか?
アバウトすぎる質問で恐縮なのですが、どうぞご教示お願いいたします。
投票数:0
平均点:0.00
jBOLTer
投稿数: 82
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
takahashiさん、こんにちは。
エクセルコンポーネントはメソッドをセルのGetValueにして、行と列を指定し、値を変数にセットするしか方法がありません。
それで、通常ループをさせる時には、サンプルのようにデータマッパでコールフローを使用するのが、手っ取り早いと思います。
しかし、もし変数でループさせる場合は、例えば以下のようにしてはいかがでしょうか。
上から順にコンポーネントを以下のように並べます。
1.フローデータ
・行カウンタ初期化
・列カウンタ初期化
2.エクセルコンポーネント
・ワークブックオープン
3.エクセルコンポーネント
・ワークブックオープン
・セル(GetValue)、行カウンタ、列カウンタ、値->F.Result_1
・セル(GetValue)、行カウンタ、列カウンタ+1、値->F.Result_2
・セル(GetValue)、行カウンタ、列カウンタ+2、値->F.Result_3
.
.
・セル(GetValue)、行カウンタ、列カウンタ+n、値->F.Result_n
4.データマッパ
・送り元:変数 F.Result, F.Result_1, F.Result_2,.....
・送り先:DataBase
5.フローデータ
・行カウンタ -> 行カウンタ+1
・列カウンタ -> 0
終了条件が満たされなければ、Gotoで3へ
6.エクセルコンポーネント
・ワークブッククローズ
まどろっこしいように感じられるかもしれませんが、それなりにパフォーマンスはでます。
エクセルコンポーネントはメソッドをセルのGetValueにして、行と列を指定し、値を変数にセットするしか方法がありません。
それで、通常ループをさせる時には、サンプルのようにデータマッパでコールフローを使用するのが、手っ取り早いと思います。
しかし、もし変数でループさせる場合は、例えば以下のようにしてはいかがでしょうか。
上から順にコンポーネントを以下のように並べます。
1.フローデータ
・行カウンタ初期化
・列カウンタ初期化
2.エクセルコンポーネント
・ワークブックオープン
3.エクセルコンポーネント
・ワークブックオープン
・セル(GetValue)、行カウンタ、列カウンタ、値->F.Result_1
・セル(GetValue)、行カウンタ、列カウンタ+1、値->F.Result_2
・セル(GetValue)、行カウンタ、列カウンタ+2、値->F.Result_3
.
.
・セル(GetValue)、行カウンタ、列カウンタ+n、値->F.Result_n
4.データマッパ
・送り元:変数 F.Result, F.Result_1, F.Result_2,.....
・送り先:DataBase
5.フローデータ
・行カウンタ -> 行カウンタ+1
・列カウンタ -> 0
終了条件が満たされなければ、Gotoで3へ
6.エクセルコンポーネント
・ワークブッククローズ
まどろっこしいように感じられるかもしれませんが、それなりにパフォーマンスはでます。
投票数:0
平均点:0.00
takahashi
投稿数: 38
![半人前 半人前](../../uploads/rank3dbf8e94a6f72.gif)
jBOLTerさん、ありがとうございます。
Gotoなんて機能があったんですね。これは
↑でジャンプしたいコンポーネントを指定し右クリックで
conditionを選択すると出てくるエディター部分に
Gotoの条件を入力すればよろしかったんでしょうか。
色々と試してみます。助かります。
Gotoなんて機能があったんですね。これは
↑でジャンプしたいコンポーネントを指定し右クリックで
conditionを選択すると出てくるエディター部分に
Gotoの条件を入力すればよろしかったんでしょうか。
色々と試してみます。助かります。
投票数:0
平均点:0.00
jBOLTer
投稿数: 82
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
Gotoですが...
(1) ジャンプ元で右クリックでGoTo選択
(2) ジャンプ先で左クリックで確定
で終了です。
それでGoToに条件をつけたい場合は、GoToコンポーネントで右クリックしてConditionの式エディタで条件を入力してください。
(1) ジャンプ元で右クリックでGoTo選択
(2) ジャンプ先で左クリックで確定
で終了です。
それでGoToに条件をつけたい場合は、GoToコンポーネントで右クリックしてConditionの式エディタで条件を入力してください。
投票数:0
平均点:0.00
takahashi
投稿数: 38
![半人前 半人前](../../uploads/rank3dbf8e94a6f72.gif)
jBOLTerさん、こんにちは。
エクセルの明細行を思い通りに取得することができました。
ありがとうございました。
エクセルの明細行を思い通りに取得することができました。
ありがとうございました。
投票数:0
平均点:0.00