ホーム   フォーラム   FAQ
 
メインメニュー
ログイン
ユーザー名:

パスワード:


パスワード紛失

変数をカウントアップしループする方法

  • このフォーラムに新しいトピックを立てることはできません
  • このフォーラムではゲスト投稿が禁止されています
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 .2 .3 .4 | 投稿日時 2010-1-27 13:57
takahashi  半人前   投稿数: 38
jBOLTV3sp1体験版について質問です。

フロー関数又はプロジェクト関数を利用して
初期値1または0から+1カウントアップし
エクセルの明細行を変数に取得し
データマッパーコンポーネントよりDBへ更新するフローを
作成しているのですが、どうにも思ったようにいかず困っております。
Magicなら簡単なんですが・・・

サンプルですとSQLで範囲指定したデータを読み込むので
ループする理屈はわかるのですが、変数のみでループさせたい
のです。
どのようなコンポーネントを利用しどのように組み立てれば
よいのでしょうか?
アバウトすぎる質問で恐縮なのですが、どうぞご教示お願いいたします。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-1-27 14:39
jBOLTer  一人前   投稿数: 82
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.エクセルコンポーネント
 ・ワークブッククローズ

まどろっこしいように感じられるかもしれませんが、それなりにパフォーマンスはでます。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-1-27 16:37
takahashi  半人前   投稿数: 38
jBOLTerさん、ありがとうございます。

Gotoなんて機能があったんですね。これは
↑でジャンプしたいコンポーネントを指定し右クリックで
conditionを選択すると出てくるエディター部分に
Gotoの条件を入力すればよろしかったんでしょうか。

色々と試してみます。助かります。
投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-1-27 17:22
jBOLTer  一人前   投稿数: 82
Gotoですが...

(1) ジャンプ元で右クリックでGoTo選択
(2) ジャンプ先で左クリックで確定

で終了です。
それでGoToに条件をつけたい場合は、GoToコンポーネントで右クリックしてConditionの式エディタで条件を入力してください。

投票数:0 平均点:0.00
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2010-1-28 18:10
takahashi  半人前   投稿数: 38
jBOLTerさん、こんにちは。

エクセルの明細行を思い通りに取得することができました。
ありがとうございました。


投票数:0 平均点:0.00

  条件検索へ


Copyright (C) Magic Software Japan K.K. All Rights Reserved.
個人情報保護方針 会員規約