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

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

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

■10995 / inTopicNo.1)  1行目のデータ数を求めたい
  
□投稿者/ Vision Maker -(2018/03/31(Sat) 08:04:02)
    桐10s Win10です。

    過去の桐井戸端BBS(桐ver.9)18756 一行目のデータを自動的に項目名にしたい
    で回答された「うにんさん」が作られたプログラムを利用して桐の簡易表を一括処理で項目名を自動変換したいのです。
    1行名のデータ数を自動的に求めることができれば、エラーなく項目名変換ができ汎用性ができます。
    尚、データは、kidedさんの物件1を使用しています。

    よろしくお願いします。

1522451042.zip
/12KB
引用返信 [メール受信/OFF] 削除キー/
■10996 / inTopicNo.2)  Re[1]: 1行目のデータ数を求めたい
□投稿者/ ONnoji -(2018/03/31(Sat) 10:31:41)
    2018/03/31(Sat) 14:29:03 編集(投稿者)

    > 桐10s Win10です。
    >
    > で回答された「うにんさん」が作られたプログラムを利用して桐の簡易表を一括処理で項目名を自動変換したいのです。
    > 1行名のデータ数を自動的に求めることができれば、エラーなく項目名変換ができ汎用性ができます。
    > 尚、データは、kidedさんの物件1を使用しています。

    添付ファイルは結構ですが、もしも、エラーするならどこどこで何々のエラーすると書いてくださいね。

    文字列型の項目値だけ変換するようにしました。

    なお、項目値が重複しているかはチェックしていませんので、チェックの方法はご自分で考えてみてください。

    いろいろとチェックを入れると、案外と面倒なプログラムになりますよ。

    以下コピペで動きますよ。


    名札 メイン
     **変数宣言 整数{&項目番号}

     ファイル複写 "org簡易表.tbx","簡易表.tbx"
     ** 表 "簡易表.TBX"

     手続き実行 prc項目名自動設定()

     終了 /* 一括処理の場合には必要 */


    手続き定義開始 prc項目名自動設定()
     変数宣言 整数{ &項目番号 }

     表 "簡易表.TBX"

     繰り返し &項目番号 = 1, #項目数

      確認 #str( &項目番号 )
      確認 #str( #項目属性( &項目番号, 2 ) )

      if ( #項目属性( &項目番号, 2 ) = "文字列" )

       if ( #trim( #項目属性( &項目番号, 0 ), 4 ) <> #u )

        項目属性変更 変更,&項目番号,{ #str( #項目属性( &項目番号, 0 ) ),,,,,,,,,,,}
       else

        ** 項目値が未定義値なので何もしない:#trim( #項目属性( &項目番号, 0 ), 4 ) = #u
       end
      end

     繰り返し終了

     終了 表 編集対照表
    手続き定義終了


引用返信 [メール受信/OFF] 削除キー/
■10997 / inTopicNo.3)  Re[2]: 1行目のデータ数を求めたい
□投稿者/ ONnoji -(2018/03/31(Sat) 11:41:28)
    2018/03/31(Sat) 11:43:02 編集(投稿者)


    現行のプログラムでは、"簡易表.tbx" の決め打ちですが、

    引数でターゲットの表のファイル名を渡すようにすれば、柔軟性が増しますよ。

    例えば、以下のように
     ↓

    名札 メイン
     **変数宣言 整数{&項目番号}
     変数宣言 文字列{ &ターゲット表 }

     ファイル複写 "org簡易表.tbx","簡易表.tbx"
     ** 表 "簡易表.TBX"

     &ターゲット表 = #一括パス名 + "簡易表.tbx"
     手続き実行 prc項目名自動設定( &ターゲット表 )

     終了 /* 一括処理の場合には必要 */


    手続き定義開始 prc項目名自動設定( 文字列 &tblName )
     変数宣言 整数{ &項目番号 }

     表 &tblName

     繰り返し &項目番号 = 1, #項目数

      確認 #str( &項目番号 )
      確認 #str( #項目属性( &項目番号, 2 ) )

      if ( #項目属性( &項目番号, 2 ) = "文字列" )

       if ( #trim( #項目属性( &項目番号, 0 ), 4 ) <> #u )

        項目属性変更 変更,&項目番号,{ #str( #項目属性( &項目番号, 0 ) ),,,,,,,,,,,}
       else

        ** 項目値が未定義値なので何もしない:#trim( #項目属性( &項目番号, 0 ), 4 ) = #u
       end
      end

     繰り返し終了

     終了 表 編集対照表
    手続き定義終了



引用返信 [メール受信/OFF] 削除キー/
■10998 / inTopicNo.4)  Re[2]: 1行目のデータ数を求めたい
□投稿者/ Vision Maker -(2018/03/31(Sat) 17:16:26)
    2018/03/31(Sat) 22:50:45 編集(投稿者)
    2018/03/31(Sat) 17:22:01 編集(投稿者)

    ONnojiさん

    早速の回答ありがとうございます。

    > 添付ファイルは結構ですが、もしも、エラーするならどこどこで何々のエラーすると書いてくださいね。

    以後気を付けます。

    フォームアプリケーションで作成した一括処理(kexファイル)だったのをcmxファイルに変えたため、名札があったり、変な場所で表を開いたり、閉じたり、閉じなかったりしていました。

    作動は確かめましたが、内容はまだ理解していません。

    過去の桐井戸端BBS(桐ver.9)でONnojiさんがCSVファイルで書き出し、ファイル読み込みさせる方法が、だれでもできて楽かもしれません。

    ありがとうございました。

    P.S. フォームアプリケーションで作成したファイルを添付しました。

解決済み!

1522504309.zip
/15KB
引用返信 [メール受信/OFF] 削除キー/



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

このトピックに書きこむ

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

Mode/  Pass/

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

- Child Tree -
- Antispam Version -