(現在 過去ログ9 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■1241 / inTopicNo.1)  TBLに書き出す方法。初心者です。
  
□投稿者/ ★初心者★一括処理 -(2006/08/20(Sun) 17:45:28)
    超初心者です。助けてください。。。

    ・TXTに書き出しは、行ったことあるのですが、TBLに書き出し?どうしてもうまく いかないのです。
    ・レコードの中身が、A(n)の様になっている時の処理のしかた。
    ・TBL書き出し?更新処理の仕方。

    概要
    初心者.TBL のデータを編集、更新する。を一括処理で行いたいのですが…

    初心者.TBLの中身
     1レコード目 
      営業コード1 営業金額1 営業コード2 営業金額2 営業コード3 営業金額3  
       00100        00101    1000    00103   1000
      営業コード4 営業金額4 営業コード5 営業金額5 営業コード6 営業金額6
       00200        00201    500    00205    100
     2レコード目 
      営業コード1 営業金額1 営業コード2 営業金額2 営業コード3 営業金額3  
       00100         00101   5000   00200 
      営業コード4 営業金額4 営業コード5 営業金額5 営業コード6 営業金額6
       00201    500  

    とのデータがあった時、
     1、営業コード の 00100 の営業金額 には、営業コードの3桁目が1の営業金額   の合計がセット。
     2、営業コード の 00200 の営業金額 には、営業コードの3桁目が2の営業金額   の合計がセット。
     3、書き出す。
     
    宜しくお願い致します。
引用返信 [メール受信/ON] 削除キー/
■1242 / inTopicNo.2)  Re[1]: TBLに書き出す方法。初心者です。
□投稿者/ たゆー -(2006/08/20(Sun) 18:33:13)
    超初心者さんこんにちは
    全然一括でも書出しでもありませんが、まず答えを求める方法を紹介いたします


    営業コードが、先頭「0」のため、文字列として考えます
    [00100][00200]・・・のように項目を追加して
    [00100] の計算式
     #条件選択(#部分列([営業コード1],3,1)="1",[営業金額1])+
     #条件選択(#部分列([営業コード2],3,1)="1",[営業金額2])+
     #条件選択(#部分列([営業コード3],3,1)="1",[営業金額3])+
     #条件選択(#部分列([営業コード4],3,1)="1",[営業金額4])+
     #条件選択(#部分列([営業コード5],3,1)="1",[営業金額5])+
     #条件選択(#部分列([営業コード6],3,1)="1",[営業金額6])

    [00200] の計算式
     #条件選択(#部分列([営業コード1],3,1)="2",[営業金額1])+
     #条件選択(#部分列([営業コード2],3,1)="2",[営業金額2])+
     #条件選択(#部分列([営業コード3],3,1)="2",[営業金額3])+
     #条件選択(#部分列([営業コード4],3,1)="2",[営業金額4])+
     #条件選択(#部分列([営業コード5],3,1)="2",[営業金額5])+
     #条件選択(#部分列([営業コード6],3,1)="2",[営業金額6])

    これで、とりあえず思ったような解答を求めることができたら
    次に書出し等を行ってはいかがでしょうか

引用返信 [メール受信/OFF] 削除キー/
■1244 / inTopicNo.3)  Re[2]: TBLに書き出す方法。初心者です。
□投稿者/ たゆー -(2006/08/20(Sun) 18:54:51)
    計算式訂正
    > [00100] の計算式
    >  #条件選択(#部分列([営業コード1],3,1)="1",[営業金額1])+
    >  #条件選択(#部分列([営業コード2],3,1)="1",[営業金額2])+
    ・・・・・
    と、記載すると計算結果が表示されません。正確には

     #条件選択(#部分列([営業コード1],3,1)="1",[営業金額1],1,0)+
     #条件選択(#部分列([営業コード2],3,1)="1",[営業金額2],1,0)+
     #条件選択(#部分列([営業コード3],3,1)="1",[営業金額3],1,0)+
    ・・・・
    のように各行の最後に「,1,0」を追加ください

引用返信 [メール受信/OFF] 削除キー/
■1246 / inTopicNo.4)  Re[3]: TBLに書き出す方法。初心者です。
□投稿者/ ★初心者★一括処理 -(2006/08/20(Sun) 21:55:03)
    たゆーさんありがとうございます

    下の教えてくださった式を・・・・・

    >  #条件選択(#部分列([営業コード1],3,1)="1",[営業金額1],1,0)+
    >  #条件選択(#部分列([営業コード2],3,1)="1",[営業金額2],1,0)+
    >  #条件選択(#部分列([営業コード3],3,1)="1",[営業金額3],1,0)+
    > ・・・・
     
    営業コード1を営業コード(n) 営業金額1を営業コード(n)として、

    繰り返し(n=90)
      &営業金額 = &営業金額 + 
      #条件選択(#部分列([営業コード1],3,1)="1",[営業金額1],1,0)
    繰り返し終了

    としたいのですが、どうしたらよいのやら・・・お願い致します。



引用返信 [メール受信/OFF] 削除キー/
■1247 / inTopicNo.5)  Re[4]: TBLに書き出す方法。初心者です。
□投稿者/ うにん -(2006/08/21(Mon) 09:05:28)

    > 営業コード1を営業コード(n) 営業金額1を営業コード(n)として、
    >
    > 繰り返し(n=90)

    最初の例では6まででしたが実は90まであるということですか?
    1から90まで繰り返すなら
    繰り返し &n=1,90
    の形式になります。

    >   &営業金額 = &営業金額 + 
    >   #条件選択(#部分列([営業コード1],3,1)="1",[営業金額1],1,0)
    > 繰り返し終了

    [営業コード1]のところを
    #項目属性("営業コード"+#STR(&n),0)
    のようにします。金額も同様。

引用返信 [メール受信/OFF] 削除キー/
■1251 / inTopicNo.6)  Re[5]: TBLに書き出す方法。初心者です。
□投稿者/ ★初心者★一括処理 -(2006/08/21(Mon) 13:09:29)
    うにんさんありがとうございます

    早速、以下を行ってみたのですが、ERR になってしまうのです。。なんで〜?

    繰り返し &n=1,90
     if((#部分列(#項目属性("営業コード"+#STR(&n).0).0).3.1) = "1" )
       &合計 = &合計 + #項目属性("営業金額"+#STR(&n),0)
    end
    繰り返し終了

    #項目属性というのは、HELPを参照しますと、「項目の属性を調べます」との事ですが、どういう意味なのでしょう?あわせて教えてください。
    この場合の
    #項目属性("営業コード"+#STR(&n),0)
    は、どういった意味になるのですか?

    すみません。宜しくお願い致します。



引用返信 [メール受信/OFF] 削除キー/
■1255 / inTopicNo.7)  Re[6]: TBLに書き出す方法。初心者です。
□投稿者/ うにん -(2006/08/21(Mon) 14:42:38)

    > 繰り返し &n=1,90
    >  if((#部分列(#項目属性("営業コード"+#STR(&n).0).0).3.1) = "1" )

    この行のカンマのはずの文字がピリオドになってますけど。0も1つ多いような。

    >    &合計 = &合計 + #項目属性("営業金額"+#STR(&n),0)
    > end
    > 繰り返し終了
    >
    > #項目属性というのは、HELPを参照しますと、「項目の属性を調べます」との事ですが、どういう意味なのでしょう?あわせて教えてください。
    > この場合の
    > #項目属性("営業コード"+#STR(&n),0)

    すんません、項目番号で指定しないとだめですね。
    #項目属性(#項目番号("営業コード"+#STR(&n)),0)
    ですかね。

    >どういった意味になるのですか?

    "営業コード"に&nを連結した項目名の項目値を取得

    ところで「繰り返し」がもう一つないと1レコード処理するだけで終りになりますが
引用返信 [メール受信/OFF] 削除キー/
■1261 / inTopicNo.8)  Re[7]: TBLに書き出す方法。初心者です。
□投稿者/ ★初心者★一括処理 -(2006/08/21(Mon) 21:21:59)
    うにんさん 万歳!!!うまくいきました。。。
    ご指摘ありがとうございました。。。

    次に、処理結果をFILEに保存(更新)したいのですが・・・

    読み込みは、  「表 "INXXXXXXX.tbl"」

    処理をして、合計値を算出した後、

    WRITEは、どのような命令にしたらよいのでしょう??

    INFILEとOUTFILEのFILE形式(TBL)は同じです。
    中身も合計値以外は、すべて同じにしたい

    すみません。 超初心者で・・・HELPをみても難しすぎて・・・・・
    宜しくお願い致します。

     

引用返信 [メール受信/OFF] 削除キー/
■1267 / inTopicNo.9)  Re[8]: TBLに書き出す方法。初心者です。
□投稿者/ うにん -(2006/08/22(Tue) 10:26:12)

    > 次に、処理結果をFILEに保存(更新)したいのですが・・・
    >
    > 読み込みは、  「表 "INXXXXXXX.tbl"」
    >
    > 処理をして、合計値を算出した後、
    >
    > WRITEは、どのような命令にしたらよいのでしょう??

    合計値は変数に入ってますから項目に入れないと表に保存できません。
    繰り返し終了の後に
    行訂正 [合計]=&合計
    など。
    複数レコード計算するには、その外側に
    ジャンプ 行番号=先頭
    繰り返し (.NOT #EOF)
     **レコード内の合計を出す繰り返し
     ジャンプ 行番号=次行
    繰り返し終了
    みたいなのが必要でしょう。

    > INFILEとOUTFILEのFILE形式(TBL)は同じです。
    > 中身も合計値以外は、すべて同じにしたい

    合計値を入れる項目はあるわけですよね。
    OUTFILEに保存するには書き出しコマンドを使いますが、既にあるファイルなら
    (全行削除しておいて)追加オプションで書き出しか、INFILEから読み込むかですね。

    90項目分の合計を出す計算式を作り出して、置換でやった方が速いかもしれません。
    (誰かの実験で、繰り返しループも意外に速いという結果だったような気も)

引用返信 [メール受信/OFF] 削除キー/
■1269 / inTopicNo.10)  Re[9]: TBLに書き出す方法。初心者です。
□投稿者/ ★初心者★一括処理 -(2006/08/22(Tue) 20:53:56)
    うにんさん!!!!!ありがとうございました!解決です。

    ”置換”で行ったら、すべてOKでした。。

    すばらしいです!

    >
    > 繰り返し終了の後に
    > 行訂正 [合計]=&合計
    > など。
    > 複数レコード計算するには、その外側に
    > ジャンプ 行番号=先頭
    > 繰り返し (.NOT #EOF)
    >  **レコード内の合計を出す繰り返し
    >  ジャンプ 行番号=次行
    > 繰り返し終了
    > みたいなのが必要でしょう。

    処理も上のように行いました。

    何から何まで。。ありがとうございました。

    またの時も宜しくお願い致します。


解決済み!
引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -